Detección de marea terrestre utilizando una red de monitoreo

Transcripción

Detección de marea terrestre utilizando una red de monitoreo
Tesis de Ingenierı́a en Agrimensura
Detección de marea terrestre
utilizando una red de monitoreo
satelital continuo - Una aplicación
en la República Argentina
Departamento de Agrimensura
Alumno:
Javier J. Clavijo
Director:
Ing. Enrique E. D’Onofrio
Co-Director:
Agrim. Fernando A. Oreiro
Buenos Aires, 23 de febrero de 2014
Índice general
1. Introducción y objetivos
7
2. Metodologı́a
10
2.1. Zona de estudio y datos utilizados . . . . . . . . . . . . . . . . . . . . . . 10
2.2. Diagrama de bloques de la metodologı́a aplicada . . . . . . . . . . . . . . 13
2.3. Procesamiento de los datos provenientes del Sistema de Posicionamiento
Global (GPS). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1. Posicionamiento preciso a partir de datos GPS . . . . . . . . . . . 15
2.3.2. Elección de la duración de las sesiones . . . . . . . . . . . . . . . 16
2.3.3. Procesamiento cientı́fico con el software GPS Analisys at
Masachussets Institute of Technology. . . . . . . . . . . . . . . . . 17
2.3.4. Obtención de series de altura. . . . . . . . . . . . . . . . . . . . . 19
2.3.5. Influencia de las condiciones atmosféricas sobre el resultado. . . . 20
2.4. Filtrado de los datos procesados. . . . . . . . . . . . . . . . . . . . . . . 21
2.5. Interpretación teórica de la marea . . . . . . . . . . . . . . . . . . . . . . 23
2.6. Análisis de series de altura . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6.1. Modelado de la Marea Terrestre . . . . . . . . . . . . . . . . . . . 26
2.6.2. Detección de marea terrestre: correlación - autocorrelacion - Transformada Discreta de Fourier (DFT) . . . . . . . . . . . . . 28
2.6.3. Análisis armónico aplicando mı́nimos cuadrados. . . . . . . . . . . 29
3. Resultados
3.1. Procesamiento GPS y filtrado de los datos . . . . . . . . . . . . . . . . .
3.2. Detección de marea terrestre: autocorrelación . . . . . . . . . . . . . . .
3.3. Detección de marea terrestre a través de la Transformada Rápida de Fourier
3.4. Comparación de los resultados obtenidos con un modelo teórico de marea
terrestre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Cálculo de amplitudes y fases de componentes en frecuencia de marea:
análisis armónico y análisis espectral mediante transformada de Fourier. .
3.6. Comparación de resultados de amplitud medidos por análisis armónico y
por DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
33
33
37
38
39
41
45
3.7. Análisis de las constantes armónicas obtenidas.
. . . . . . . . . . . . . .
46
4. Discusión y conclusiones
51
5. Bibliografı́a
57
Anexos
62
A. Programas utilizados para el análisis de la series de altura.
63
A.1. vufabs.py : Rutinas para el cálculo de f , v y u . . . . . . . . . . . . . . . 63
A.2. harmonic.py : Rutinas para análisis armónico. . . . . . . . . . . . . . . . 68
A.3. fft pic tlkt3.py : Rutinas para el cálculo de amplitudes mediante la DFT
de la función de autocorrelación. . . . . . . . . . . . . . . . . . . . . . . . 71
B. Ejemplos de archivos utilizados en el trabajo
B.1. Archivos RINEX - Encabezado . . . . . .
B.2. Archivos SiteLog de IGS . . . . . . . . . .
B.3. Archivo .prt de salida de Glred . . . . . .
B.4. Archivos de series de altura utilizados para
3
. . . . . .
. . . . . .
. . . . . .
el análisis
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
75
75
76
78
78
Índice de figuras
2.1. Mapa de la zona de trabajo . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Disponibilidad de los datos de las estaciones seleccionadas para el perı́odo
(2010-2012) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Diagrama de flujo del procesamiento y análisis de los datos. . . . . . . .
2.4. Análisis de resolución de ambigüedades por longitud de sesión . . . . . .
2.5. Diagrama de flujo del procesamiento de datos GPS con el Software GAMIT
2.6. Comparación de variaciones en los datos con la actividad ionosférica . . .
2.7. Funcionamiento del filtrado estadı́stico de los datos . . . . . . . . . . . .
2.8. Geometrı́a del cálculo de la fuerza de marea . . . . . . . . . . . . . . . .
3.1. Histograma del resultado del procesamiento GPS. . . . . . . . . . . . . .
3.2. Gráfico cuantil-cuantil de datos de altura procesada. . . . . . . . . . . . .
3.3. Series de altura en función del tiempo . . . . . . . . . . . . . . . . . . . .
3.4. Comparación de serie de altura y función de autocorrelación . . . . . . .
3.5. Detalle de los perı́odos detectados en la función de autocorrelación . . . .
3.6. Ejemplo de funciones de autocorrelación . . . . . . . . . . . . . . . . . .
3.7. DFT de las series de altura para las estaciones SRLP y PEJO. . . . . . .
3.8. Ejemplos de series de altura y diferencias modeladas . . . . . . . . . . . .
3.9. Análisis de la correlación entre series de altura medidas y modeladas. . .
3.10. Distribución de los resultados del cálculo de las componentes de marea
por análisis armónico . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11. Ditribución de resultados del cálculo de las amplitudes de componentes
de marea por DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Amplitud de las principales componentes de diferencia de marea medidas
en cada sitio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Comparación de amplitudes obtenidas por análisis armónico y DFT . . .
3.14. Análisis de correlación entre las series de datos medidas y su autopredicción.
3.15. Análisis de correlación entre las series de diferencias de marea modeladas
y las autopredicciones correspondientes. . . . . . . . . . . . . . . . . . . .
4
12
13
14
17
18
21
22
24
33
34
36
37
37
38
39
40
41
42
42
44
45
46
47
3.16. Diferencias de fase entre los datos medidos y modelados, por componente
y sitio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17. Comparación de constantes armónicas medidas y modeladas. . . . . . . .
3.18. Cartas de lı́neas cotidales . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.19. Cartas de curvas de isoamplitud . . . . . . . . . . . . . . . . . . . . . . .
4.1. Comparación entre correlación y autocorrelación de los datos . . . . . . .
4.2. Comparación de amplitudes medidas y modeladas en las ondas K1, K2 y
S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. Cartas de residuales de amplitud. . . . . . . . . . . . . . . . . . . . . . .
4.4. Espectro de mediciones de TECv y de residuos de altura medida . . . . .
5
47
48
49
50
52
53
54
55
Índice de tablas
2.1. Resumen de estaciones RAMSAC utilizadas. . . . . . . . . . . . . . . . .
2.2. Ondas utilizadas en el análisis armónico . . . . . . . . . . . . . . . . . .
11
32
3.1. Sesiones procesadas por estación . . . . . . . . . . . . . . . . . . . . . . . 34
3.2. Resumen de desvı́os de series de altura y de diferencias de marea modelada 40
3.3. Resultados de componentes armónicas fase y amplitud, medidas por análisis armónico y DFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6
1. Introducción y objetivos
Las oscilaciones diarias de la marea han sido desde siempre un hecho familiar para
aquellos que han vivido en las costas de mares que se abren sobre los océanos. Tanto
la creciente como la bajante, y los cambios en las corrientes son fenómenos evidentes.
Muestra del interés que despertó esta cuestión son las numerosas reglas con que, desde
antiguo, se estableció una relación entre las mareas altas y las fases lunares, y que quedaron plasmadas en tablas y relojes de mareas [Cartwright y Melchior, 1999]. El estudio
del origen de este fenómeno nos lleva a la consideración de la atracción gravitatoria que
ejercen principalmente la Luna y el Sol sobre nuestro planeta, más particularmente sobre
los mares. Fue Isaac Newton (1643-1727) en su obra Philosophiae Naturalis Principia
Mathematica (“Principios matemáticos de la filosofı́a natural“, 1687) quien dio los principios en los que se basa la teorı́a de equilibrio o teorı́a estática de la marea. Más tarde,
Pierre-Simon Laplace (1749-1827) amplió el estudio de las mareas desde un punto de
vista dinámico.
Ası́ como se define tradicionalmente a la marea como los cambios periódicos en el nivel
de los mares debido a la acción gravitatoria de la Luna y el Sol, se puede también decir
que las mareas de la Tierra son los movimientos producidos en la tierra firme, y cambios
en su potencial gravitacional, a causa de las fuerzas gravitatorias de cuerpos externos.
Estas fuerzas, actuando sobre la tierra en rotación, producen incluso movimientos en
su eje [Agnew, 2007]. Para entender esto se debe considerar a la Tierra sólida como un
cuerpo dinámico, que si bien es un medio significativamente más rı́gido que el agua, es
también capaz de experimentar deformaciones. El estudio de la marea terrestre, a la vez
que aporta al conocimiento de las caracterı́sticas fı́sicas de la Tierra, es necesario para
eliminar su influencia sobre mediciones de otros fenómenos a través del modelado de la
misma. Es también de utilidad correlacionar este fenómeno con otros fenómenos fı́sicos
a partir de los modelos generados.
El modelado de este fenómeno es aplicado a las mediciones del Sistema de Posicionamiento Global (GPS), en las cuales conocer las variaciones esperadas de la marea
terrestre permite un ajuste más preciso de las mediciones, evitando tratarlas como simple error estadı́stico. Las ventajas de aplicar correcciones por marea durante el cálculo
7
preciso de mediciones GPS han sido ampliamente estudiadas, ver [Watson et al., 2006],
[Xu, 2003], [King et al., 2008]. Dichas correcciones se calculan utilizando modelos teóricos que describen la marea desde un punto de vista fı́sico, y que permiten estimarla
gracias a que, como ya se mencionó, la Tierra sólida es un medio mucho mas rı́gido que
el agua, y no se ve afectado por las profundidades y geomorfologı́a de las cuencas oceánicas y las formas de las costas. Desde otro punto de vista es esperable poder estudiar la
marea terrestre a partir de la medición GPS, siempre que se puedan aislar sus efectos
de los producidos por otros fenómenos.
En el estudio de la marea se han aplicado con éxito distintas técnicas sobre series
de alturas medidas. Una de las principales herramientas, inicialmente aplicada a las
mareas oceanicas, es el análisis armónico por mı́nimos cuadrados, que permite calcular, a partir de una serie de alturas, las amplitudes y fases de las ondas componentes
de la marea [Foreman et al., 1977]. Esta metodologı́a ha sido aplicada con éxito a mediciones GPS de estaciones en tierra firme, abriendo el camino para realizar estudios
en mayor profundidad de los fenómenos cı́clicos que las afectan. [Xu y Knudsen, 2000]
detecta y describe la marea terrestre a partir de mediciones estáticas y cinemáticas
GPS. [Schenewerk et al., 2001] realiza un estudio de la carga oceánica a partir de las
mediciones de estaciones permanentes en Canadá. [Bogusz y Figurski, 2010] obtuvieron
estimaciones para las principales ondas de marea a partir de medición de la red nacional
polaca de estaciones GPS permanentes. A partir de estos estudios también se puede detectar la existencia de otros fenómenos que se traducen como un movimiento periódico
aparente de las estaciones, y que sin embargo no estén relacionados con la marea, sino
con elementos propios del sistema, como la periodicidad de las órbitas satelitales. Esto
último se menciona en las conclusiones tanto de [Schenewerk et al., 2001] como en las
de [Bogusz y Figurski, 2010].
En la Argentina existe una red de estaciones GPS permanentes sobre la cual es esperable que se puedan llevar a cabo estudios de este tipo, aunque debe destacarse que
no se ha podido encontrar ninguna publicación en una revista cientı́fica sobre detección
de marea terrestre a partir de datos GPS en la Argentina. La principal diferencia entre
la Red Argentina de Monitoreo Satelital Continuo (RAMSAC), y las redes utilizadas en
los trabajos mencionados anteriormente (redes nacionales Canadiense y Polaca) es, que
por la extensión del territorio nacional argentino y por la reciente implementación del
sistema, no se dispone de una alta densidad de estaciones comparable a la de esos otros
casos.
8
En el presente trabajo se proponen los siguientes objetivos:
1. Realizar un procesamiento cientı́fico de los datos recolectados por estaciones seleccionadas de la red RAMSAC obteniendo series de alturas en
función del tiempo sobre las que sea posible detectar y eventualmente medir los efectos de la marea terrestre. El procesamiento de los datos GPS
se realizará en modo diferencial, calculando posiciones relativas (vectores)
y fijándolas a un punto base. Utilizando este procedimiento el efecto que
se pretende detectar en las series de altura no es el de la marea absoluta
sobre el sitio estudiado sino el de la diferencia entre el desplazamiento
vertical en dicho punto y el desplazamiento producido sobre la estación
base por la marea terrestre.
2. Aplicar el análisis armónico por mı́nimos cuadrados junto con herramientas de análisis de señales, como la Transformada Discreta de Fourier
(DFT) y la autocorrelación, con el objetivo de detectar y medir las señales
periódicas que provoca la marea en las series de altura.
3. Comparar las mediciones realizadas con estimaciones teóricas obtenidas
a partir del modelo IERS03 detallado en [McCarthy y Petit, 2004], buscando identificar de esta forma la correspondencia de los fenómenos detectados con la marea, y al mismo tiempo comprobando la existencia de
otros fenómenos cı́clicos que interfieren en la medición. Este modelo permite el cálculo de desplazamientos absolutos producidos por la marea en
un punto cualquiera, de modo que para comparar estos valores con los
resultados obtenidos se debe realizar la diferencia entre el desplazamiento
en el punto estudiado y el desplazamiento en la estación base.
Este trabajo se enmarca en el proyecto UBACyT 20020100100840 correspondiente a
la programación cientı́fica 2011-2014, radicado en el Instituto de Geodesia y Geofı́sica
Aplicadas de la Facultad de Ingenierı́a de la Universidad de Buenos Aires.
9
2. Metodologı́a
2.1.
Zona de estudio y datos utilizados
Para realizar el presente estudio se utilizaron datos GPS obtenidos por estaciones
permanentes de la RAMSAC. Esta red es administrada por el Instituto Geográfico Nacional (IGN) de la República Argentina, y constituye parte de la materialización del
marco de referencia oficial de la República Argentina, denominado POSGAR07 (POSiciones Geodésicas ARgentinas 2007), que es a su vez coherente con el marco ITRF
(International Terrestrial Reference Frame). Para mayor información sobre la red, su
historia y objetivos ver [Laurı́a y Cimbaro, 1999]. Los datos de medición de la red se encuentran disponibles para su descarga en la página Web del IGN 1 , en formato RINEX
(Receiver INdependent EXchange format). Éste es el formato estándar internacional para intercambio de datos GPS, diseñado especı́ficamente para poder ser utilizado como
formato universal de intercambio, propuesto inicialmente en 1989 por el Instituto de
Astronomı́a de la Universidad de Berna [Gurtner y Estery, 2007].
Se utilizaron datos de la red RAMSAC obtenidos durante los años 2010, 2011 y 2012.
Se eligió este perı́odo debido a que en él las estaciones de la red presentan una mayor
cantidad de mediciones simultáreas disponibles que en perı́odos anteriores. Se eligieron
los archivos con intervalo de grabación de 15s o en su defecto de 5s.
Para la elección de las estaciones se consideró que las mismas conservaran una distribución equidistante, para producir vectores procesados con errores relativos comparables, mejorando ası́ el ajuste planimétrico. Al mismo tiempo, para poder observar la
propagación de la onda de marea, se eligió una red que conformara una extensión similar
en dirección N-S y E-O, considerando las grandes longitudes de onda que presenta la
marea. Del mismo modo, se privilegió aquellas estaciones con mejor disponibilidad temporal, para favorecer el cálculo de las distintas componentes de la marea de frecuencias
próximas. Finalmente, se buscó la utilización de estaciones para las que se dispusiera de
coordenadas en el marco ITRF08 para garantizar la calidad de las coordenadas a-priori
1
http://www.ign.gob.ar/NuestrasActividades/Geodesia/Ramsac/DescargaRinex
10
calculadas para las demás estaciones. Cabe aclarar que las distintas materializaciones
del marco de referencia ITRF son utilizadas a modo de estándar por numerosos sistemas
de navegación y posicionamiento, siendo además el marco de referencia que utiliza por
defecto el software GAMIT (GPS Analisis at Massachusetts Institute of Technology),
utilizado en el presente trabajo.
Como resultado se eligieron 10 estaciones de la red RAMSAC que cumplen con los
requisitos propuestos (Tabla 2.1), distribuyéndose las mismas en la zona central del paı́s
(Figura 2.1), abarcando el polı́gono que conforman parte de las provincias de Buenos
Aires, La Pampa, Mendoza, Córdoba, San Luis, y Santa Fe.
Estación
Latitud
Longitud
Altura Elipsoidal (H)
No de Archivos
UCOR
-31o 26’ 05.85595”
-64o 11’ 36.62015”
462.779 m
978
LPGS
-34o
-57o
55’ 56.27834”
29.875 m
1058
PEJO
-35o 48’ 22.76858”
-61o 53’ 40.69912”
110.152 m
813
SRLP
-36o 37’ 17.39804”
-64o 16’ 49.45677”
223.848 m
1072
LHCL
-38o
-65o
35’ 42.89001”
404.546 m
996
VBCA
-38o 42’ 02.76549”
-62o 16’ 09.21762”
59.479 m
1043
BCAR
-37o 45’ 40.44083”
-58o 18’ 03.94234”
150.394 m
1083
UNRO
-32o 57’ 33.67055”
-60o 37’ 42.33075”
66.872 m
1087
SL01
-33o
-66o
18’ 50.43449”
864.784 m
1044
MZSR
-34o 36’ 55.69485”
-68o 20’ 03.51760”
730.614 m
702
54’ 24.28241”
00’ 09.57429”
09’ 22.88259”
Tabla 2.1.: Estaciones RAMSAC seleccionadas. En la tabla se indica el nombre de cada estación, sus
coordenadas geodésicas POSGAR07, y el número de archivos disponibles en el perı́odo
estudiado (2010-2012).
11
Figura 2.1.: Ubicación de las estaciones de la red RAMSAC que se utilizaron para la detección de
marea terrestre.
12
En la Figura 2.2 se puede observar una lı́nea del tiempo con la disponibilidad de
datos para cada uno de los sitios estudiados. El total de archivos RINEX procesados
en el presente trabajo es de 9876, sumando un total cercano a los 60 GB de información. Los archivos RINEX descargados contienen los datos de medición junto con
metadatos de sitio, tipos de receptor y antena. La información orbital se obtuvo a
través de archivos de efemérides precisas provistos por IGS (International GNSS Service)
[Beutler et al., 1994], y descargados a través del propio software de procesamiento. La
precisión de estas órbitas es superior a la emitida por los propios satélites y grabada en
los archivos RINEX. Para un mayor orden en el procesamiento, en lugar de utilizar la
información de antena proveniente de los archivos RINEX se utilizaron los archivos de
formato .log (SiteLog) recomendado por IGS 2 , también provistos por el IGN.
Figura 2.2.: Disponibilidad de los datos de las estaciones seleccionadas para el perı́odo (2010-2012)
2.2.
Diagrama de bloques de la metodologı́a aplicada
Para facilitar la comprensión de la metodologı́a del trabajo, la Figura 2.3 brinda un
diagrama de bloques donde se muestra detalladamente cada uno de los pasos realizados
para la detección de señales de marea terrestre a partir de mediciones GPS.
2
ftp://igscb.jpl.nasa.gov/pub/station/general/sitelog instr.txt
13
PROCESAMIENTO CON GAMIT
Coordenadas a-priori
ITRF08
Procesamiento GPS
(GAMIT + Glred)
Coordenadas a-priori
para toda la red
Archivos de medición
RINEX
Procesamiento GPS
(GAMIT + Glred)
Filtrado estadístico
de los datos
(Filtro 3 σ móvil)
Series de
tiempo filtradas
Autocorrelación
Serie de tiempo,
1 coordenada c/2 h
Análisis armónico
de mareas
DFT
+
Detección de picos
Amplitud y fase de las
componentes armónicas
Amplitud de
componentes armónicas
Periodicidades
detectadas
Construcción de
la autopredicción
Autopredicción
de Δmarea
Comparación
PROGRAMA solid
Modelo teórico
IERS03
Series de
Δmarea mdelada
Análisis armónico
de mareas
Amplitud y fase de las
componentes armónicas
Correlación
Figura 2.3.: Diagrama de flujo del procesamiento y análisis de los datos.
14
2.3.
Procesamiento de los datos provenientes del
Sistema de Posicionamiento Global (GPS).
2.3.1.
Posicionamiento preciso a partir de datos GPS
El posicionamiento GPS se basa en la medición de la distancia existente entre un
satélite al momento de emitir señal, y un receptor en tierra al momento en que éste la
recibe, conociéndose esta magnitud como pseudo-distancia. Para llevar esto a cabo se
utiliza la señal que emiten, en dos frecuencias distintas, los satélites de la constelación
Navstar. Esta señal se compone de un código binario pseudo-aleatorio, llamado código
PRN (por Pseudo-Random Noise) modulado en fase sobre una portadora. La medición
de pseudo-distancia puede realizarse sobre el código modulado, como es el caso del posicionamiento autónomo o navegación, o con mayor precisión sobre la fase de la portadora,
como en el caso del posicionamiento diferencial, como se desarrollará en este trabajo.
De este modo, se realiza la medición sobre la fase de ambas portadoras, denominándose
cada observación realizada como una época de medición. Debido a que las observaciones se realizan sobre el desfasaje entre la señal recibida y una generada internamente
por el receptor, es desconocida la cantidad inicial de ciclos enteros de cada portadora,
imposible de medir en forma directa. Esta magnitud es llamada ambigüedad inicial de
fase, y una vez que se logra calcular su valor las mediciones de fase pueden considerarse como mediciones de pseudo-distancia de alta precisión [Teunissen, 1998]. Para más
información sobre resolución de ambigüedades ver: [Blewitt, 1989], [Teunissen, 1995] y
[Ge et al., 2005]. La precisión del procesamiento de estos datos depende de la precisión
con que se calculen las órbitas, el éxito que se tenga en resolver la ambigüedad inicial de
fase y la precisión con que se modelen las fuentes de error del sistema. En éste caso se
utilizaron las órbitas precisas calculadas por el IGS y se utilizaron los modelos de errores
atmosféricos y de carga oceánica provistos por el software GAMIT. Para poder resolver
las ambigüedades de fase y eliminar errores de sincronismo producidos entre los satélites y los receptores, el procesamiento se realiza a partir de la construcción de sistemas
de ecuaciones que se conocen como de simples, dobles y triples diferencias [Xu, 2003],
[Hofmann-Wellenhof et al., 1993], [Remondi, 1985], combinando las observaciones realizadas en forma simultánea desde dos o más receptores durante un tiempo determinado
de observación. A este intervalo de tiempo se le denomina una sesión de observación.
Este tipo de sistemas lleva a la resolución del posicionamiento en forma relativa, es decir
calculando vectores y redes de vectores entre puntos.
15
Existe gran cantidad de modelos de procesamiento de datos GPS, sin embargo, todos
pueden encuadrarse en un sistema de ecuaciones del siguiente tipo:
y = Aa + Bb + e
(2.1)
Donde y es el vector de datos de observación, a y b son vectores incógnita, y e es el
vector de ruido (residuos). Usualmente el vector y consiste en residuales (observado −
modelado) de dobles diferencias de fase, para todas las épocas de la sesión. El vector a
contiene entonces las incógnitas de ambigüedad de fase de dobles diferencias, expresadas
en unidades de ciclos, sabiendo a-priori que son valores enteros. Mientras tanto, el
vector b contiene el resto de las incógnitas a ser estimadas, a saber: componentes x, y, z
del vector procesado, parámetros de retardo atmosférico, y otras incógnitas de modelado
de errores [Teunissen, 1997]. De este modelo de procesamiento se desprende que, dada
la cantidad de incógnitas que genera el sistema, la utilización de un número reducido
de observaciones de fase transforma en crı́tica la resolución de la ambigüedad inicial,
siendo indispensable su resolución para eliminar incógnitas aumentando la redundancia
del sistema, y obteniendo ası́ un correcto ajuste de la solución. En consecuencia, en
vectores de longitudes como las que se utilizan en el presente trabajo, la duración de
las sesiones de observación debe ser elegida comprobando que no se dificulte la correcta
resolución de las ambigüedades.
2.3.2.
Elección de la duración de las sesiones
En el caso que se estudia en este trabajo, las sesiones deben ser lo más cortas posible
y al mismo tiempo garantizar una precisión del resultado suficiente como para observar
las oscilaciones de la marea terrestre. Para evaluar la capacidad de resolución de ambigüedades en función de la longitud de las sesiones en la red estudiada se realizó un
procesamiento de una muestra reducida de los datos, obteniendo el porcentaje de ambigüedades resueltas en el procesamiento. Se procesaron datos de los primeros 150 dı́as
del año 2010, con distintas longitudes de sesión. Para cada longitud de sesión se calculó el promedio de la cantidad de ambigüedades resueltas por sesión en los 150 dı́as.
La Figura 2.4a muestra el resultado de este procesamiento en función de la duración
de la sesión. La Figura 2.4b muestra el resultado del cálculo teórico de la probabilidad
de resolución correcta de ambigüedades en función de la duración de la sesión realizado
en [Teunissen et al., 1998], para dos valores distintos de error en las lecturas, utilizando
como indicador de error el desvı́o estándar de las lecturas sobre código (σp ).
16
1. 0
0. 9
σ =10cm
Probability of success
p
0. 8
0. 7
σ =15cm
p
0. 6
0. 5
0. 4
0. 3
(a)
0
100
200
300
400
500
Number of epochs
600
700
800
(b)
Figura 2.4.: (b) Probabilidad de resolución correcta de ambigüedades en función del número de épocas [Teunissen et al., 1998]. (a) Ambigüedades resueltas en función de la duración de las
sesiones para la primera mitad de 2010 (1 constituye el total de las ambigüedades)
El resultado del procesamiento, tal como se ve en la Figura 2.4, es comparable con
la predicción teórica, y permite buscar la duración óptima de la sesión. Teniendo en
cuenta estos resultados, y considerando los antecedentes de [Bogusz y Figurski, 2010],
[King et al., 2000], [Melbourne et al., 2002] y [Araszkiewicz et al., 2010], se decidió utilizar sesiones de 2 horas (480 épocas de 15 segundos), suficientes como para identificar
hasta las componentes sexto-diurnas de la onda de marea [Pugh, 1996], y asegurando
una cantidad satisfactoria de resolución de ambigüedades.
2.3.3.
Procesamiento cientı́fico con el software GPS Analisys at
Masachussets Institute of Technology.
GAMIT es un paquete de software para análisis integral de datos GPS desarrollado por
el Masachussets Institute of Technology (MIT) junto con el Harvard-Smithsonian Center
for Astrophysics (CfA), y la Scripps Institution of Oceanography (SIO) para estimación
de coordenadas y velocidades de una estación, representación estocástica o funcional
de deformación post-sı́smica, retardos atmosféricos, órbitas satelitales y parámetros de
orientación terrestre. El software se compone principalmente de programas escritos y
compilados en lenguaje C o Fortran, que son controlados por scripts escritos en C-shell,
un lenguaje interpretado de scripting para sistemas UNIX. La Figura 2.5 muestra el diagrama de flujo del procesamiento completo. Para mayor detalle sobre los tipos de archivos
y el manejo interno del programa ver [Herring et al., 2010b] [Herring et al., 2010a].
17
Sh_gamit
Crea estructura de directorios y enlaces a archivos de datos (RINEX)
Descarga efemérides .sp3
Genera archivos de configuración para los demás programas
makexp
makej
Crea directivas para makex y fixdrv
Crea archivos J- de parámetros de
reloj de los satélites extrayéndolos
de las efemérides
arc
fixdrv
makex
Genera efemérides tabulares
de las órbitas satelitales
Crea directivas para arc, model,
autcln y solve
Crea archivos I- de reloj ajustados a
un polinomio, a partir de archivos K-
Crea archivos de muestreo uniforme
(X-) a partir de los RINEX
Crea archivos K- de reloj a partir de
los archivos J-
model
autcln
solve
Modela las observaciones de fase y
obtiene residuales de fase
“Observado-Calculado” y
derivadas parciales (archivos C-)
Limpia los archivos C- de saltos
de ciclos y datos erróneos
etiquetando épocas fallidas
Estima parámetros de:
-Ambigüedades
-Modelado de errores
-Coordenadas
Iteración
Glred
Ajuste completo de la red incluyendo
restricciones definidas por el usuario
en las coordenadas y pesos de cada estación
Series de coordenadas ajustadas
Figura 2.5.: Diagrama de flujo del procesamiento de datos GPS con el Software GAMIT
18
Para configurar el procesamiento se partió de los archivos de configuración estándar
de GAMIT. Se modificaron las opciones de modelado de errores, desactivando el modelo
de marea terrestre, y activando el modelo de carga oceánica. Para mejorar la resolución
del sistema en sesiones cortas se realizó un procesamiento inicial de sesiones diarias, determinando coordenadas a-priori precisas para todos los puntos, reduciendo el entorno
de linealización con el que trabaja el programa model, y mejorando en consecuencia el
trabajo del programa autcln, fase crı́tica en este tipo de procesos [Herring et al., 2010b].
En este primer procesamiento se utilizó el archivo estándar de coordenadas a-priori
itrf08 soam.apr, que incluye tres de las estaciones utilizadas, y como resultado se generó un nuevo archivo conteniendo coordenadas de las restantes. El archivo de información de receptores y antena station.info fue generado a partir de los archivos .log en
formato del IGS provistos por el IGN mediante la herramienta sh upd stnfo.
Para el procesamiento final no se fijó la posición de ninguno de los puntos, y se les
asignó errores a-priori similares. Posteriormente, para el ajuste de la red con el programa
glred se utilizo como estación base fija a UNRO, la de mayor cobertura temporal entre
las elegidas, refiriendo todas las fluctuaciones medidas a este punto de referencia, para
simplificar su análisis.
2.3.4.
Obtención de series de altura.
El resultado del procesamiento completo, salida del programa Glred, es un archivo
.prt(Anexo B) conteniendo, para la red procesada, la información correspondiente a las
estaciones y sesiones incluidas, y la solución del ajuste de cada estación, presentando las
coordenadas a-priori, coordenadas procesadas, y coordenadas ajustadas en cada sesión,
junto con el error estadı́stico surgido del ajuste por mı́nimos cuadrados. En el presente
estudio se realizó el análisis de marea sobre la componente vertical de las coordenadas
(altura elipsoidal), ignorando las coordenadas Este y Norte, cuyo análisis excede los
objetivos del trabajo. Los archivos de salida de Glred fueron procesados con las herramientas sed 3 y awk 4 , para obtener series de altura en forma de listados separados por
coma (Anexo B) , conteniendo fecha y hora, coordenada ajustada, ajuste realizado e
incertidumbre estadı́stica de la coordenada, expresando todas las variables en metros.
Debido a que se realizó el procesamiento GPS en forma diferencial, calculando una
red de vectores, las series de altura obtenida están referidas a la altura de la estación
3
4
http://www.gnu.org/software/sed/
http://www.gnu.org/software/gawk/manual/gawk.html
19
utilizada como base (UNRO). En consecuencia la serie de altura de dicha estación es
constante, y por este mismo motivo, no se incluye en el análisis para detectar marea
terrestre.
Al fijarse la posición de la estación base, los efectos de la marea sobre ésta se propagan
a las demás estaciones, mitigando los efectos observables de la marea. Es decir, que sobre
las estaciones analizadas no podrá observarse el desplazamiento absoluto de la marea
terrestre sino la diferencia entre el desplazamiento en dicha estación y el producido en
la base UNRO. Sabiendo que el desplazamiento producido por la marea es una función
armónica del tiempo, y que la suma de funciones armónicas de iguales frecuencias produce asimismo señales en la misma frecuencia [Giancoli y Teng, 2000], es correcto aplicar a
las series de diferencia de marea un análisis similar al que se puede realizar sobre series
de marea medida en forma absoluta.
2.3.5.
Influencia de las condiciones atmosféricas sobre el resultado.
Es importante destacar que, si bien existe gran cantidad de errores que pueden ser
modelados e incluidos como incógnita de procesamiento, existen otros cuya influencia es
impredecible, y por esto mismo no pueden ser modelados. El principal de estos errores
es el retardo ionosférico. Con el objetivo de minimizar su influencia se utiliza como
dato observado una combinación de las fases medidas sobre las dos ondas portadoras,
aprovechando las propiedades dispersivas de este medio [King et al., 1985]. Sin embargo,
cuando se trabaja con sesiones cortas este error no llega a ser anulado, provocando
que, en perı́odos donde la ionosfera presenta una mayor actividad electrónica, el ruido
presente en el sistema sea alto, produciendo resultados de menor calidad. En efecto,
en el presente trabajo, se observan aumentos en la varianza de los datos procesados en
distintos perı́odos, en forma que no es atribuible a la marea terrestre, fenómeno que nos
ocupa.
Un parámetro que sirve para medir la actividad ionosférica es el Contenido Total
Electrónico Vertical (vTEC). Este parámetro indica, para un punto de la superficie terrestre, la cantidad de electrones que hay presentes en la ionosfera en una sección de un
metro cuadrado directamente en forma vertical sobre el punto. Para comparar la varianza
que presentan los datos GPS procesados con la actividad ionosférica se utilizó como estimador el desvı́o estándar del vTEC sobre toda la zona de estudio. Este desvı́o estándar
fue calculado para cada semana, utilizando para ello mediciones de vTEC dadas en forma
de grilla de un grado de separación, con un dato cada hora. Dichos datos fueron obte-
20
nidos de los mapas SAIM (South American regional Ionosphere Maps), producidos por
el grupo GESA (Georreferenciación Satelitaria) de la Universidad Nacional de La Plata, usando el modelo LPIM (La Plata Ionospheric Model) [Brunini y Azpilicueta, 2009],
disponibles en forma pública en internet 5 . Asimismo, para los datos GPS procesados
se obtuvo también el desvı́o estándar semanal de todas las series como parámetro indicador. La Figura 2.6 muestra el resultado de esta comparación, donde se identifica una
correspondencia entre ambos indicadores.
Figura 2.6.: Comparación de los desvı́os estándar de los datos GPS medidos y de vTEC calculados en
forma semanal.
2.4.
Filtrado de los datos procesados.
Una vez obtenidas las series de altura, deben filtrarse eliminando todos aquellos datos
provenientes de sesiones en las que no se haya podido calcular la posición de la estación
base, ya sea por ausencia de archivos o por error en la observación. Estos datos, al no
tener referencia, carecen de sentido dentro de la serie y deben ser eliminados. Por otro
lado, existen sesiones que, si bien pueden ser resueltas, no lo son de manera adecuada, ya
sea por resolver insuficiente cantidad de ambigüedades o por fijarlas a valores erróneos,
produciendo resultados fuera del rango en el que oscila la serie. Siendo que la incidencia
de las mismas no es considerable en el total de la muestra (en el orden del %2) se
decidió utilizar un filtro que las descarte en lugar de crear procesamientos particulares
para resolverlas individualmente.
5
http://cplat.fcaglp.unlp.edu.ar/
21
En ausencia de ruido, las alturas de marea presentan una distribución de probabilidad
normal [Pugh y Vassie, 1978], lo cual permite aplicar el criterio de Gauss para filtrado
de muestras estadı́sticas, descartando valores por fuera de m ± 3σ, donde m es la media
de la muestra y σ es el desvió estándar, sin que esto degrade la calidad de la muestra.
Para la muestra estudiada, considerando que presenta una varianza variable como se
mostró en 2.3.5, se diseñó un filtro de 3σ con varianza móvil, utilizando como σ de
referencia un desvı́o estándar local, calculado para una ventana de 400 observaciones.
En la Figura 2.7 se ejemplifica la aplicación del filtro sobre la estación LHCL.
(a) Serie de altura obtenida del procesamiento GPS
(c) Serie de altura filtrada
(b) Umbral de filtrado.
Figura 2.7.: Ejemplo de filtrado de los datos procesados para la estación LHCL. (a) datos obtenidos
del procesamiento GPS, marcando con un cı́rculo aquellos que corresponden a sesiones
donde no se pudo procesar la base. (b) serie luego de eliminar los datos sin base válida,
junto con el umbral de filtrado por 3σ móvil. (c) resultado final del filtrado de los datos.
22
2.5.
Interpretación teórica de la marea
La fuerza gravitacional ejercida por la Luna y el Sol sobre la Tierra puede descomponerse en una parte principal, que afecta la órbita terrestre en el espacio, y una menor
remanente: la fuerza Luni-Solar de marea. Ésta no resulta en una fuerza neta sobre la
Tierra sino que induce una deformación (marea terrestre), cambios en la orientación de
la Tierra en el espacio (precesión y nutación), y cambios en la velocidad de rotación de
la Tierra [Wahr, 1981].
La fuerza de marea puede describirse como el gradiente de un potencial de marea,
consistente el mismo en una suma de términos que son una función armónica del tiempo,
teniendo los senos y cosenos que la constituyen argumentos que implican combinaciones
lineales de las frecuencias orbitales del Sol y la Luna. La deformación producto de la
marea se interpreta como la convolución del campo potencial, producido por esta fuerza,
con funciones de transferencia para una Tierra no rı́gida. La descripción formal de estas
funciones de transferencia fue realizada por [Love, 1909] demostrando que los efectos
pueden ser representados por un conjunto de números adimensionales, conocidos como
números de Love. Más tarde [Shida y Matsuyama, 1912] agregó un nuevo número de
Love, el cual era necesario para obtener una completa descripción de la respuesta de
la Tierra sólida a las mareas. Posteriormente éste desarrollo se extendió a una Tierra
elı́ptica y rotacional [Wahr, 1981] [Dehant et al., 1999].
El potencial de marea se obtiene siguiendo el desarrollo de [Munk y Cartwright, 1966].
Si Mext es la masa de un cuerpo externo, el potencial gravitacional (Vtot ) que genera ésta
masa en un punto ubicado sobre la superfı́cie de la tierra O es:
Vtot =
GMext
1
GMext
p
=
2
ρ
R
1 + (a/R) − 2(a/R) cos α
(2.2)
Siguiendo la Figura 2.8, a es la distancia de O al centro de la tierra (C), ρ es la
distancia de O a M , y α es el ángulo determinado por O, el centro de la tierra y el
centro del cuerpo M . G es la constante de gravitación universal.
Si se realiza el desarrollo de Legendre de la raı́z cuadrada en la ecuación (2.2), según
[Munk y Cartwright, 1966], se obtiene:
Vtot
∞
GMext X a n
=
Pn (cos α)
R n=0 R
23
(2.3)
Earth
O
a
C
Moon
M
R
Figura 2.8.: A la izquierda la geometrı́a del problema para calcular la fuerza de marea en el punto O
de la superficie terrestre. La figura derecha muestra el campo de fuerzas (o aceleraciones)
generadas por la Luna y el Sol sobre la tierra. La escala del vector más largo corresponde
1,14 µms−2 en el caso de la Luna y 0,51 µms−2 para el Sol [Agnew, 2007].
Donde el termino n = 0 es constante en el espacio, con lo cual su gradiente (la
fuerza) es cero, y puede ser despreciado. El termino n = 1 corresponde a una fuerza
constante en dirección a M , que es la fuerza orbital, y debemos eliminar para considerar sólo la fuerza generadora de marea. Luego los siguientes términos corresponden
a P2 (cos α) = (1/2)(3 cos α2 − 1) y P3 (cos α) = (1/2)(5 cos α3 − 3 cos α), y representan
más de el %99 de la fuerza de marea. Evaluando la magnitud de los valores de a (radio
terrestre) y R (distancia Tierra-Luna) se obtiene que a/R ≈ 1/60, lo cual indica que los
términos de (2.3) decrecen rápidamente al aumentar n, implicando que se obtiene un
modelo preciso considerando sólo los términos n = 2 y n = 3 de la serie. En el caso del
Sol a/R ≈ 1/23000 resultando el término de grado 2 mucho mayor que todos los demás
[Agnew, 2007]. A partir de la ecuación resultante se construye el análisis de las series
altura y también el modelado de la marea.
2.6.
Análisis de series de altura
El análisis de las series de altura se realiza partiendo de la ecuación (2.3), donde
cada término de la serie es una función armónica de α, que a su vez depende de los
distintos parámetros orbitales del cuerpo externo generador de la marea. Los cuerpos
que se consideran para el desarrollo son la Luna y el Sol, ya que la influencia de los
planetas es despreciable, debido a su distancia y masa. Siguiendo esta hipótesis, se
descompone a la marea en una serie finita de términos del tipo Rj ∗ sin(σj t + αj ), donde
la velocidad angular de cada componente (σj ) es función de las velocidades con las que
varı́an los parámetros orbitales de la Luna y el Sol. A los efectos del análisis de la marea
son seis los parámetros orbitales que describen completamente la posición tanto de la
Luna como del Sol. Estas son el ángulo horario de la Luna (τ ), la longitud media de
la Luna (s), la longitud media del Sol (h), la longitud media del perigeo lunar (p), la
24
longitud negativa del nodo ascendente de la órbita lunar (n′ ), y la longitud media del
perigeo solar (p′ )[Pugh, 1996]. La marea queda expresada entonces según la ecuación
(2.4), donde x(t) es la altura instantanea, Rj es la amplitud de la componente, y αj es
su fase referida al origen de tiempo adoptado, ωτ , ωs , ωh , ωp , ωn′ , y ωp′ son las velocidades
angulares de los parámetros orbitales, y i0 ...i5 son enteros pequeños que corresponden a
cada componente, llamados números de Doodson [Doodson, 1921].
x(t) =
N
X
Rj ∗ cos(σj t + αj )
(2.4)
i=1
σj = i0 ∗ ωτ + i1 ∗ ωs + i2 ∗ ωh + i3 ∗ ωp + i4 ∗ ωn′ + i5 ∗ ωp′
Para mas detalle sobre los parámetros orbitales, sus velocidades, y el desarrollo completo en serie del potencial de marea ver [Pugh, 1996] [Doodson, 1921], [Cartwright y Edden, 1973],
y [Schureman, 1994].
Partiendo de esta base teórica existen distintos enfoques para el análisis de registros
de medición de altura de marea, siendo los principales el de (a) análisis espectral, determinando Amplitud = f (w) ya sea a través de la transformada de Fourier discreta o
de otros métodos [Franco, 1982] [Trupin y Wahr, 1990], (b) el método de respuesta, que
estudia la marea como la respuesta en frecuencia de un sistema al potencial de marea
[Munk y Cartwright, 1966], y (c) el método de análisis armónico, donde se realiza un
ajuste de los datos relevados a una serie de componentes armónicas de frecuencia fija,
determinadas por el desarrollo del potencial de marea, utilizando el criterio de mı́nimos
cuadrados [Foreman et al., 1977] [Foreman et al., 2009]. Considerando que los datos corresponden al muestreo discreto, ya sea uniforme o no, de una señal continua, que es la
altura de marea, se pueden aplicar a su estudio las herramientas propias del análisis de
señales, tales como la correlación, la autocorrelación o los periodogramas.
En el presente trabajo se utiliza la correlación como herramienta para comparar las
diferencias de marea medidas con el modelo teórico de IERS (International Earth Rotation Service). Se calcula también la función de autocorrelación de cada una de las
muestras, buscando comprobar la existencia de señales periódicas dentro de la misma,
especialmente aquellas que corresponden a las frecuencias de marea. Se utilizó la Transformada Discreta de Fourier para individualizar componentes armónicas de frecuencias
caracterı́sticas de la marea en las series de marea modelada, ası́ como en las series de altura medidas, aunque sobre estas últimas no en forma directa sino a través de su función
de autocorrelación. Finalmente, se realizó el análisis armónico de las series medidas y
25
modeladas, determinando en cada caso las amplitudes y fases de las ondas componentes
de la marea. De esta manera se obtuvieron parámetros que se comparan entre sı́ para
analizar el comportamiento del fenómeno, y para contrastar las mediciones con el modelo
teórico.
2.6.1.
Modelado de la Marea Terrestre
La respuesta de una Tierra Esférica, No-Rotacional, Elástica e Isotrópica (SNREI
por sus siglas en inglés) a la fuerza de marea puede modelarse, como ya se mencionó, a
través de los números de Love. Si el potencial en un punto de colatitud θ y longitud φ
es V (θ, φ)/g, donde g es la aceleración gravitatoria terrestre, la distorsión producida
se traduce en un desplazamiento radial hn V (θ, φ)/g y un desplazamiento horizontal
ln (∇1 V (θ, φ)/g), donde ∇1 es el gradiente en el plano tangente a la esfera [Agnew, 2007].
los números hn y ln son los números de Love.
En el presente trabajo, para obtener las estimaciones teóricas de marea terrestre,
se utilizó el modelo propuesto por el IERS en “IERS Conventions 2003”, especificado
teóricamente en [McCarthy y Petit, 2004]. Este modelo considera una Tierra en rotación, ligeramente elı́ptica, afectada por su propia gravedad, en equilibrio hidrostático, y
linealmente elástica, tal como la describe [Smith, 1974]. El cálculo de desplazamiento se
realiza en pasos. En primer lugar se aplican las ecuaciones (2.5) y (2.6), para calcular los
desplazamientos debidos a los términos de grado 2 y 3 respectivamente del potencial de
marea. Estas ecuaciones provienen de aplicar los números de Love a la ecuación (2.3).
En estas ecuaciones los números de Love h2 , l2 , h3 y l3 utilizados no son los nominales
calculados para una Tierra SNREI, sino que surgen de aplicar a éstos una corrección
para tener en cuenta la forma elipsoidal de la Tierra.
−
∆→
r =
3
2 1 h
i
X
3
GMj Re4
(2.5)
+ 3l2 R̂j · r̂ R̂j − R̂j · r̂ r̂
R̂j · r̂ −
h2 r̂
GM⊕ Re3
2
2
j=2
P3
−
∆→
r =
j=2
GMj Re5
GM⊕ Re4
3 3 5
R̂j · r̂ −
R̂j · r̂
+
h3 r̂
2
2
2 3 h
i
15
+l3
R̂j · r̂ −
R̂j − R̂j · r̂ r̂
2
2
Donde:
26
(2.6)
GMj = Parámetros Gravitacionales de la Luna (j = 2) o del sol (j = 3)
GM⊕ = Parámetros gravitacionales de la Tierra
R̂j , Rj = Vector unitario del geocentro a la Luna o el Sol y la magnitud de
ese vector.
Re = Radio ecuatorial terrestre,
r, r̂ = Vector unitario del geocentro al punto estudiado y la magnitud de ese
vector.
h2 = Número de Love nominal de grado 2
l2 = Número de Shida nominal de grado 2
Una vez realizado este cálculo, se computan correcciones debido a las variaciones en
los números de Love que se producen al considerar a la Tierra en rotación, ligeramente
elı́ptica, afectada por su propia gravedad, en equilibrio hidrostático, y linealmente elástica. Estas variaciones se encuentran estudiadas en [Wahr, 1981] [Dehant et al., 1999], y
[Mathews et al., 1995] entre otros. Las correcciones mencionadas se realizan en dos pasos, el primero considerando las dependencia de los números de Love con la latitud, y
la parte imaginaria de los mismos, que genera un desfasaje en los desplazamientos con
respecto al potencial de marea. El segundo paso considera la dependencia de los números
de Love con respecto a la frecuencia, debido a la resonancia de la Tierra. La formulación
matemática de estas correcciones está detallada en [McCarthy y Petit, 2004].
La implementación del modelo que se utilizó en este trabajo fue realizada por Dennis
Milbert, en lenguaje de programación FORTRAN77, siguiendo las especificaciones de
IERS, utilizando como base el programa realizado por Veronique Dehant, disponible en
internet en forma libre6 . El programa resultante tiene por nombre solid.exe, el código
fuente (solid.f ) y el ejecutable de la implementación de Milbert se encuentran disponibles
en su página web7 . Ambos programas mencionados se basan en el trabajo de modelado de
la marea terrestre realizado por [Dehant et al., 1999], validado por [Baker y Bos, 2003],
utilizado por [Agnew, 2007] entre otros. El proceso de cálculo que utilizan es similar al
propuesto por IERS, realizando sólo pequeñas modificaciones en la distribución de los
términos, que no influyen en el resultado final. El código fuente solid.f agrega al código de
Dehant el cálculo de la posición del Sol y la Luna a través de efemérides analı́ticas, propuestas en [Montenbruck y Pfleger, 2000], [Montenbruck y Eberhard, 2000], resultando
6
7
https://github.com/tomojitakasu/RTKLIB/blob/master/lib/iers/src/dehanttideinel.f
http://home.comcast.net/ dmilbert/softs/solid.htm
27
en la capacidad de obtener las desviaciones de marea terrestre a partir de una posición
geodésica y un tiempo UTC. Esta implementación final en el programa solid.exe fue
validada en [Tuttas, 2011], siendo comparado entre otros modelos con el incluido por el
software BERNESSE de procesamiento GPS de la Universidad de Berna.
2.6.2.
Detección de marea terrestre: correlación - autocorrelacion
- Transformada Discreta de Fourier
Para realizar la comparación directa entre los datos procesados y las diferencias de
marea modelada se utilizó el coeficiente de correlación estándar (r) [Pearson, 1920],
[Lee Rodgers y Nicewander, 1988]. Se calculó la correlación entre las señales medidas y
las modeladas, para distintos valores de retardo o adelanto (α), obteniendo r(α) con
el objetivo de medir la correspondencia entre ambas, y la posible existencia de retardo
entre ellas.
Para detectar la periodicidad de las series de marea medida se utilizó la función
de autocorrelación. Esta función toma para cada valor de desfasaje (τ ) en horas el
equivalente a calcular la correlación estadı́stica de la serie consigo misma, desfasada en τ
horas. En caso de existir periodicidad dentro de la serie relevada, esto se verá reflejado en
una periodicidad de similar frecuencia de la función de autocorrelación. Las componentes
no periódicas de la señal analizada no se propagan a la función de autocorrelación, debido
a que por su naturaleza aleatoria, no se correlacionan consigo mismas una vez desfasadas.
Por último es importante destacar que, aún cuando las series de datos medidas presentan
discontinuidad, e incluso perı́odos de varios dı́as sin datos, la función de autocorrelación
queda definida en forma continua para toda la serie.
Para detectar señales de frecuencias compatibles con la marea en las series de altura
medidas, se utilizó la Transformada Discreta de Fourier (DFT por sus siglas en inglés),
que se define como la conversión de una función del dominio del tiempo (Amplitud =
f (t)), al dominio de la frecuencia (Amplitud = f (ω)) [Bracewell, 1986]. Existen diversos algoritmos para calcular la DFT [Burrus y Parks, 1991]. Se utilizó el algoritmo de
Transformada Rápida de Fourier (FFT) para analizar las series modeladas, detectando
en forma rápida las principales componentes presentes en el caso de estudio, ası́ como
sus amplitudes estimadas. Es importante aclarar que la FFT sólo puede calcularse sobre
series de datos que se encuentren muestreadas en forma regular y continua, es decir, con
intervalo de muestreo constante, y sin saltos. Estas condiciones se cumplen para las series de datos modelados, pero no para las series observadas, que tienen muestreo regular,
28
pero tienen datos faltantes a lo largo de todo el intervalo de estudio. Para poder realizar
el análisis espectral de las series de altura se trabajó con la función de autocorrelación.
La misma cumple las condiciones de estar muestreada a intervalos regulares, y en forma
continua para |τ [hs]| < longserie [hs]. Además la función de autocorrelación cumple la
propiedad de que su TF(Transformada de Fourier) es igual la a función de densidad
espectral de potencia (PSD) de la señal sobre la que se calculó, según el teorema de
Wiener-Khirchin-Einstein [Wiener, 1930]. Dado que se define la función de potencia de
una señal como el cuadrado de su amplitud, y la PSD es el módulo de su TF, la relación
que existe entre la función de autocorrelación (R(τ )) y la TF de la señal original es la
ecuación (2.7), lo cual permite obtener la DFT de la señal original a partir de la DFT
de su función de autocorrelación.
|T F (x(t))| = |T F (R(τ ))|1/2
(2.7)
Para reducir la distorsión conocida como efecto leakage (fuga) en las DFT, producido
por trabajar sobre series finitas de datos, se utilizó el proceso de ventana sobre la muestra
antes de realizar la transformada. La ventana utilizada fue la ventana de Hann, para
un estudio en detalle de este efecto y de las formas de tratarlo ver [Harris, 1978]. Se
utilizó además un algoritmo de detección de picos sobre las DFT para identificar y
separar las componentes en frecuencia de marea presentes tanto en el modelo como en
las series de altura.
Con el objetivo de validar la metodologı́a, y la independencia de los resultados con
respecto a la distribución de los datos faltantes, se evaluó la repetitividad de las amplitudes calculadas para distintos muestreos de los datos. Para ello, se repitieron los cálculos
utilizando 100 subconjuntos distintos de los datos, obtenidos de tomar la mitad de los
datos al azar cada vez. Luego, se compararon estos resultados con el obtenido utilizando
toda la muestra en el proceso.
2.6.3.
Análisis armónico aplicando mı́nimos cuadrados.
El análisis armónico de marea consiste esencialmente en ajustar los datos medidos a
una función del tipo de la ecuación (2.4). Por cada onda que se incluya en el análisis se
calculará una constante distinta R y otra α. Las ondas que se incluyen en el análisis deben
ser seleccionadas en base a la frecuencia de muestreo y a la longitud de la serie medida,
debido a que series de tiempo muy cortas no permiten separar ondas de frecuencias
29
muy cercanas. Para ello se utiliza el criterio de Rayleigh [Pugh, 1996], incluyendo en el
análisis solo aquellas ondas que, en la longitud completa de la serie, llegan a separarse,
de otras de velocidades próximas, en más de un ciclo. No obstante de aplicar este criterio
debe tenerse en cuenta que la combinación de ondas incluidas en el análisis con otras
no incluidas de frecuencias similares producen un efecto de modulación, resultando en
una onda cuya amplitud y fase varı́an en el tiempo. En consecuencia, las constantes
armónicas calculadas no resultaran las correspondientes a esta sino a las de la onda
modulada. Para corregir este efecto Godin propuso formar grupos “clusters” de ondas
y corregir la modulación con factores numéricos. La ecuación de onda queda entonces
reformulada de la siguiente manera:
x(t) =
N
X
fj Rj ∗ sin(σj t + uj + αj )
(2.8)
i=1
Dentro de cada cluster se toma una componente principal y componentes satélites,
calculándose factores f y u para corregir la modulación que producen las componentes
satélite sobre la amplitud y fase de la principal respectivamente. La inclusión de estos factores se llama corrección nodal, o modulación satelital (”sattelite modulation“)
[Foreman et al., 2009]. A estas correcciones se les agrega un último factor, para expresar
los retardos de fase de las componentes en un sistema absoluto en lugar de referirlos
al tiempo de la serie medida. Esta corrección se conoce como argumento de equilibrio
(V0 ), y corresponde a la fase particular de esa componente en el meridiano 0◦ según el
desarrollo de la marea de equilibrio [Schureman, 1994], calculada para el momento que
se tome como origen de tiempo de la serie. Cuando se trabaja con series de datos más
largas que un año, no es posible asumir que f o u sean constantes para toda la serie.
En consecuencia deben ser incluidas en el ajuste como función del tiempo. Para ello se
propone realizar el ajuste utilizando la ecuación (2.9), donde v(t) corresponde al argumento de equilibrio de la componente para el tiempo t, mientras que f (t) y u(t) son las
componentes de modulación satelital calculadas para el tiempo t.
x(t) =
N
X
fj (t)Rj ∗ cos(v(t) + u(t) + αj )
(2.9)
i=1
De esta manera, se realizan las correcciones por modulación dentro del mismo ajuste,
y el resultado obtenido corresponde con la amplitud y retardo de fase verdaderos de
30
las componentes, medidas en un sistema de referencia absoluto. En el presente trabajo
se realizo el ajuste por mı́nimos cuadrados de los datos partiendo de la ecuación (2.9),
descomponiéndola en componente seno y coseno en lugar de amplitud y fase, e incluyendo además un término de nivel medio (N m) y uno de tendencia lineal (T end), para
considerar una posible tendencia en los datos, resultando en la ecuación (2.10).
x(t) = N m + T end ∗ t +
PN
i=1
fj (t) (Aj ∗ sin(v(t) + u(t)) +
(2.10)
+Bj ∗ cos(v(t) + u(t)))
Se utilizó el algoritmo de Levenberg-Marquardt [Marquardt, 1963] para el ajuste,
permitiendo esto darle peso a los datos, utilizando para ello los errores estadı́sticos (σ)
correspondientes a cada valor de las series, estimados por GAMIT durante el procesamiento. Esto constituye una diferencia con el análisis tradicional, donde todos los datos
son tomados en idénticas condiciones con el mismo instrumento, y en consecuencia tienen peso similar. Para el cálculo de f , v y u se utilizó el algoritmo escrito en FORTRAN
por MG Foreman [Foreman et al., 1977], disponible en el archivo subs.f del paquete tidpack, que se encuentra en la página de la oficina de pesca y océanos del gobierno de
Canadá (Fisheries and Oceans Canada) 8 .
Para elegir las ondas a utilizar en el análisis se estudiaron las series de altura procesada
y de marea modelada a través del programa solid para la estación MZSR, que resulta ser
la más lejana a la base, y por ello la que mayores amplitudes debe presentar. Se buscaron
ondas en frecuencia de marea a través de la DFT, y del análisis armónico utilizando
las 146 ondas que incluye el paquete tidpack. En base a las amplitudes resultantes se
decidió utilizar en el análisis las ondas indicadas en la Tabla 2.2. Cabe aclarar que si bien
la componente S1 es prácticamente nula en el modelo, no lo es en las muestras medidas,
y por eso se la incluyó en el análisis. Se realizó el análisis para las series medidas y
modeladas, comparando los resultados entre sı́.
Con el objetivo de validar la metodologı́a, y la independencia de los resultados con
respecto a la distribución de los datos faltantes, se evaluó la repetitividad de las amplitudes calculadas para distintos muestreos de los datos. Para ello, se realizaron los cálculos
de componentes de la marea utilizando 30 subconjuntos distintos de los datos, obtenidos
de tomar la mitad de los datos al azar cada vez. Luego, se compararon estos resultados
con el obtenido utilizando toda la muestra en el proceso.
8
http://www.pac.dfo-mpo.gc.ca/science/oceans/tidal-marees/index-eng.html
31
Componente
Frecuencia [◦ /h]
M2
28.9841042
S2
30.0000000
N2
28.4397295
K2
30.0821373
K1
15.0410686
O1
13.9430356
P1
14.9589314
Q1
13.3986609
S1
15.0000000
Tabla 2.2.: Ondas utilizadas en el análisis armónico y su frecuencia.
A partir de las constantes armónicas resultado del análisis se construyó la autopredicción de cada serie, comparando luego ésta con las series de altura medida y modelada,
a través de la correlación temporal. Con el fin de realizar una interpretación espacial
de los resultados se obtuvieron, por interpolación con el método Kriging [Stein, 1999],
cartas de lı́neas cotidales y de lı́neas de isoamplitud de cada componente, calculadas
utilizando los datos medidos y modelados, obtenidos del análisis armónico. Para la comparación de los resultados del análisis armónico entre los datos medidos y modelados se
utilizó el RMSmisfit por componente y sitio entre los resultados de una y otra muestra.
El RM SM isf it viene dado según la ecuación (2.11), donde R1 y α1 son la amplitud y
fase de una componente obtenida a partir de una serie de altura medida, mientras que
R2 y α2 son la amplitud y fase de la misma componente, obtenida a partir de la serie de
diferencias de marea modelada.
q
RM Smisf it = (R1 cos(α1 ) − R2 cos(α2 ))2 + (R1 sin(α1 ) − R2 sin(α2 ))2
(2.11)
Se calculó el RSS (Root Sum of Squares) por componente, considerando todos los
sitios, según la ecuación (2.12), donde Si es cada sitio analizado y NS es el total de los
v
sitios analizados.
u NC
uX
2
Rss
=t
RM S
(2.12)
sitio
M isf it Ci
i=0
Se calculó el RSS (Root Sum of Squares) por sitio, considerando todas las componentes, según la ecuación (2.13), donde Ci es cada sitio analizado y Nc es el total de los
v
sitios analizados.
u NS
uX
2
RM S
(2.13)
=t
Rss
M isf it Si
componente
i=0
32
3. Resultados
3.1.
Procesamiento GPS y filtrado de los datos
Para este trabajo se realizó el procesamiento de las 13152 sesiones disponibles inicialmente. De este procesamiento se obtuvieron valores de altura y error estadı́stico (σ)
para cada estación elegida, quedando 12482 sesiones válidas para la estación base UNRO. La Figura 3.1 muestra el histograma bidimensional de apartamiento de la altura
procesada en cada sesión respecto de la coordenda a-priori y el error estimado por el
software de procesamiento para cada sesión. Se observa en este gráfico que las observaciones se concentran en σ cercanos a los 2 centı́metros y en valores de altura centrados
en [media ± 5cm], con apartamientos mayores a medida que aumenta el σ.
Figura 3.1.: Histograma de apartamiento de la altura a-priori y error estimado de procesamiento
A las series de datos procesadas se les aplicó un filtro de varianza móvil. Para mostrar
los efectos del filtro sobre la serie de datos se presenta en la Figura 3.2 el gráfico cuantilcuantil, con los cuantiles de la distribución real de los datos en función de los de la
distribución normal estándar. La semejanza entre ambas distribuciones se refleja en
la alineación de los puntos sobre una recta. Puede notarse que los datos no filtrados
presentan una mayor cantidad de valores extremos, que se alejan de la distribución de
la normal.
33
Figura 3.2.: Gráfico cuantil-cuantil elaborado a partir de los datos de altura procesados comparada con
la distribución normal estándar, antes y después de la aplicación del filtro. Se utilizaron
los datos de altura de todas las series, restando en cada caso la media de la serie, para
hacer comparables las series.
La Tabla 3.1 resume la cantidad de sesiones procesadas por estación, dependiendo de
la disponibilidad de datos, detallando la cantidad de sesiones que no tuvieron error ni
falta de datos en el procesamiento de la base UNRO, la cantidad de datos que fueron
eliminados al aplicar el filtro por 3σ móvil, el porcentaje de la muestra que representan,
y la cantidad resultante de sesiones utilizadas para el análisis y detección del efecto de
la marea terrestre.
Estación
Sesiones
Procesadas
Con base válida
Filtradas
% filtradas
Utilizadas
UCOR
10401
9960
MZSR
8259
7848
144
1.45 %
9816
158
2.01 %
LPGS
11590
11106
7690
177
1.59 %
10929
PEJO
9485
9038
157
1.74 %
8881
VBCA
12005
11485
136
1.18 %
11349
11461
SRLP
12132
11619
158
1.36 %
BCAR
12853
12309
161
1.31 %
12148
SL01
11726
11223
121
1.08 %
11102
LHCL
11790
11279
149
1.32 %
11130
UNRO
12482
UNRO es la estación Base.
Tabla 3.1.: Cantidad de sesiones procesadas, con base válida, filtradas, el porcentaje que estas representan, y cantidad de sesiones utilizadas en el análisis
34
Las Figuras 3.3b y 3.3a presentan las series de tiempo resultantes de la aplicación del
filtro, para todas las estaciones.
(a) Series de las estaciones BCAR, SL01, LHCL, SRLP
35
(b) Series de las estaciones MZSR, LPGS, PEJO, VBCA, UCOR
Figura 3.3.: Series medidas de altura en función del tiempo para cada estación. Las alturas se calcularon refiriéndolas a UNRO como base, fijando la posición de dicha estación.
36
3.2.
Detección de marea terrestre: autocorrelación
En la Figura 3.4 se grafica parte de la serie de altura de la estación MZSR y de su
función de autocorrelación. Si bien las magnitudes no son comparables (altura [metros]
contra coeficiente de correlación [adimensional]), si pueden compararse las periodicidades, que se ven resaltadas en la función de autocorrelación.
R_MZSR
MZSR(t) 730.70
0.0002
730.65
Altura
Correlación
0.0004
0.0000
730.60
0.0002
730.55
0.0004
4600
4650
4700
4750
Tiempo/Retardo [h]
4800
4850
4900
Figura 3.4.: Parte de la función de Autocorrelación para la serie de altura de la estación MZSR,
comparada con la misma serie de alturas.
En la Figura 3.5 se resaltan las distintas periodicidades encontradas en la función de
autocorrelación, compatibles con el perı́odo de la onda de marea.
0.0004
R_MZSR(T)
~12 h
0.0003
Autocorrelacion
0.0002
0.0001
0.0000
0.0001
0.0002
~24 h
0.0003
~6 h
8350
8400
8450
8500
Retardo [h]
Figura 3.5.: Detalle de los perı́odos detectados en la función de autocorrelación
37
La Figura 3.6 representa parte de las funciones de autocorrelación de tres estaciones distintas, con el objetivo de mostrar la similitud entre ellas. Cabe aclarar que esta
similitud fue observada en las nueve series.
LPGS
SL01
UCOR
0.00015
Correlación
0.00010
0.00005
0.00000
0.00005
0.00010
0.00015
11100
11150
11200
Retardo [h]
11250
11300
Figura 3.6.: Ejemplo de parte de las funciones de Autocorrelación de las estaciones LPGS, SL01 y
UCOR.
3.3.
Detección de marea terrestre a través de la
Transformada Rápida de Fourier
Se utilizó el algoritmo de transformada rápida de Fourier sobre las funciones de autocorrelación para hallar las DFT de las distintas series. Sobre estas DFT se realizó una
detección de picos para identificar en las series la presencia de señales en las frecuencias
de las ondas componentes de marea. En las Figuras 3.7a y 3.7b se representa la detección de componentes en las estaciones SRLP y PEJO. Este método permitió detectar
las principales componentes de la marea en todas las estaciones evaluadas.
Comparando las amplitudes de las distintas componentes de la diferencia de marea
entre los sitios SRLP y PEJO en la Figura 3.7 se puede notar que las mismas tienen una
amplitud mayor en SRLP que en PEJO, que está mas alejada de la base.
38
(a) DFT de la serie de altura de la estación SRLP.
(b) DFT de la serie de altura de la estación PEJO.
Figura 3.7.: DFT de las series de alturas medidas correspondientes a las estaciones SRLP y PEJO,
calculadas a partir de las funciones de autocorrelación.
3.4.
Comparación de los resultados obtenidos con un
modelo teórico de marea terrestre.
Se realizó el modelado de la marea para los diez sitios procesados, utilizando el programa solid.exe. Los valores obtenidos del modelo son valores de marea absoluta en un
punto, para hacerlos comparables a los obtenidos por el procesamiento GPS se realizó la
diferencia de marea de cada sitio con respecto a la base, UNRO. Esto es necesario debido
a que sobre las series de altura medida, al estar referidas a la base UNRO, no se refleja
el efecto absoluto de la marea sino la diferencia entre el desplazamiento de cada estación
con el de la base.
En la Figura 3.8 se graficaron la serie de altura medida, y la serie de diferencias de
marea modelada, superpuestas, para las estaciones UCOR y PEJO. Se observa en cada
caso una correspondencia entre ambas series.
39
Figura 3.8.: Parte de las series de altura de las estaciones UCOR y PEJO, junto con las diferencias
de marea modeladas para dichas estaciones.
Se restaron las diferencias de marea modelada a las series de altura medida y se
verificó una disminución en el desvı́o estándar de la serie resultante (Tabla 3.2), atribuible
esto a que la influencia de la marea está presente en las mismas.
Sitio
BCAR
LHCL
LPGS
MZSR
PEJO
SL01
SRLP
UCOR
VBCA
σAlturas
0.0252
0.0324
0.0208
0.0463
0.0193
0.0308
0.0301
0.0224
0.0321
σ∆ modeladas
0.0127
0.0185
0.0094
0.0241
0.0074
0.0178
0.0137
0.0119
0.0135
σ(Alturas−∆ modeladas)
0.0228
0.0275
0.0186
0.0382
0.0181
0.0245
0.0268
0.0184
0.0290
Tabla 3.2.: Desvı́os estándar de las series de altura medidas (Alturas), de diferencias de marea modelada (∆ modeladas) y de las series residuales (Alturas − ∆ modeladas).
Se graficó (Figura 3.9) el coeficiente de correlación estándar (ρ) entre las series medidas y modeladas, calculándolo para desfasajes (lag) de entre +12h y -12h entre las
mismas. Se calculó el lag que produjo máxima correlación y el valor de ρ correspondiente.
40
(a) Correlación Alturas Medidas - ∆M area Modelada
Sitio
BCAR
LHCL
LPGS
MZSR
PEJO
SL01
SRLP
UCOR
VBCA
(b) Detalle Picos de Correlación
Lag
4
17
-15
-15
11
15
7
3
3
Correlación
0.34
0.43
0.44
0.45
0.46
0.53
0.57
0.57
0.61
(c) Valores máximos de correlación
Figura 3.9.: Correlación temporal entre las series de altura y las diferencias de marea modeladas
3.5.
Cálculo de amplitudes y fases de componentes en
frecuencia de marea: análisis armónico y análisis
espectral mediante transformada de Fourier.
Se aplicó a las series de altura medida y a las series de diferencias de marea modelada
el método de análisis armónico por mı́nimos cuadrados para calcular las componentes
armónicas correspondientes a las diferencias de marea. Para validar la independencia
del resultado con respecto a la distribución no homogenea de los datos se realizaron 30
repeticiones del análisis tomando en cada ocasión sólo la mitad de los datos, en forma
aleatoria. Se calcularon en cada repeteción los coeficientes (A y B) de los términos coseno
y seno de la ecuación 2.10 para cada componente de la marea en cada sitio. Se calculo el
desvı́o de estos coeficientes con los correspondientes A y B resultantes de procesar toda
la serie. Estos devios están graficados como puntos en la parte central de la Figura 3.10.
En la misma Figura se presentan los histogramas, en escala de color, por cada una de
ambos coeficientes (A y B) para cada sitio.
41
Figura 3.10.: Distribución de los resultados del cálculo de componentes de la marea por análisis
armónico, realizado para 30 repeticiones.
Se calcularon también las amplitudes de las componentes a partir de la medición de
los picos en las DFT de las series de altura. Como validación de esta metodologı́a, al
igual que en el caso anterior, se realizaron 100 repeticiones, tomando sólo la mitad de
los datos cada vez, en forma aleatoria. En la Figura 3.11 se graficaron los histogramas
para cada sitio y componente de los resultados de este análisis.
Figura 3.11.: Distribución de los resultados del cálculo de amplitud de las componentes de las diferencias de marea con DFT, realizado para 100 repeticiones.
42
Las Tablas 3.3a y 3.3b muestran, las amplitudes y fases calculadas por análisis armónico y las amplitudes calculadas a través de la DFT, para cada componente detectada de
las diferencias de marea en cada sitio.
Sitio
M2 [mm|◦ ] S2 [mm|◦ ] K1 [mm|◦ ] O1 [mm|◦ ] N2 [mm|◦ ] P1 [mm|◦ ] K2 [mm|◦ ] Q1 [mm|◦ ] S1 [mm|◦ ]
SRLP
14.4 243.2
9.9
246.3
6.8
301.2 5.3 291.0
2.6 238.8
3.8 280.1
5.6 329.3
1.2 293.3
5.4 270.4
PEJO
7.7
3.0
270.9
3.8
305.2 2.4 273.3
1.5 272.9
2.0 230.7
2.8 31.2
0.2 284.4
4.4 280.8
4.9
14.0
5.7
186.3 3.3 174.6
1.9 5.0
1.8 186.9
2.8 36.4
0.5 198.6
2.3 264.2
263.4
LPGS 10.0 7.7
UCOR 14.0 199.1
7.0
195.8
8.8
336.3 3.7 348.7
2.5 199.4
3.0 320.9
0.9 329.6
0.6 345.2
1.6 272.7
20.7 216.2
9.7
216.6
9.6
325.5 5.9 327.3
3.6 212.4
3.9 315.1
3.6 279.2
1.3 320.3
1.5 250.1
VBCA 17.5 270.0
6.7
280.1
9.7
SL01
307.1 4.9 266.7
2.5 252.6
3.6 221.6
4.1 79.3
0.8 262.3
4.7 281.5
MZSR 27.9 223.9 13.5 215.7 15.8 323.8 8.6 318.2
4.9 225.2
5.0 290.8
6.2 306.6
1.3 342.8
6.1 273.0
BCAR 12.2 340.4
5.1
333.3
6.5
185.0 4.5 212.9
2.4 335.0
3.8 201.5
3.8 9.3
0.7 216.5
5.9 290.8
LHCL 19.5 245.9
9.6
241.5
9.3
303.2 6.8 290.2
3.7 246.4
3.9 269.5
5.8 338.8
1.0 301.3
5.7 275.9
Q1 [mm]
S1 [mm]
4.2
(a) Resultados obtenidos a través de análisis armónico
Sitio
M2 [mm]
S2 [mm]
K1 [mm]
O1 [mm]
N2 [mm]
P1 [mm]
K2 [mm]
SRLP
14.1
10.5
6.9
5.0
2.6
3.7
5.3
1.4
PEJO
7.4
3.1
3.6
2.2
1.6
2.0
2.6
0.5
4.1
LPGS
10.4
4.8
6.1
3.1
2.1
2.3
3.8
0.6
1.0
UCOR
14.2
7.4
8.5
3.3
2.2
2.4
1.5
0.7
1.5
SL01
21.5
10.5
9.3
5.6
3.9
3.7
4.8
1.5
1.1
VBCA
16.1
6.6
10.2
4.2
2.8
4.0
4.4
1.4
4.9
MZSR
30.6
13.8
14.1
9.8
6.0
4.4
7.8
1.5
4.7
BCAR
12.1
4.7
7.8
4.3
2.5
5.0
4.6
0.7
5.8
LHCL
18.8
10.0
9.0
6.2
3.7
4.7
7.6
1.2
4.0
(b) Resultados obtenidos a partir de DFT
Tabla 3.3.: Resultados de amplitud y fase de las componentes de diferencia de marea obtenidas a
partir de las series de altura medidas, a través del método de análisis armónico (a) y a
través de DFT (b) (sólo amplitudes).
43
En la Figura 3.12 se representan, sobre el mapa del area de estudio, en gráfico de
barras, las amplitudes de las 5 principales componentes de diferencia de marea para
cada sitio, calculadas por análisis armónico.
Figura 3.12.: Amplitud de las principales componentes de diferencia de marea medidas en cada sitio
44
3.6.
Comparación de resultados de amplitud medidos
por análisis armónico y por DFT
En la Figura 3.13 se graficó la comparación de amplitudes de las componentes de
diferencia de marea identificadas en las series de altura medida y en las series modeladas
a través de los métodos de análisis armónico (AA) y transformada discreta de Fourier
(DFT). Se representaron en La Figura 3.13a los valores de amplitud obtenidos por un
método en función del otro. La equivalencia entre métodos se ve representada entonces
cuando los puntos representados se distribuyen cercanos a la recta de pendiente unitaria.
La Figura 3.13b representa la comparación de las amplitudes de componentes medidas y
de componentes modeladas, obtenidas a través del análisis armónico. En la figura 3.13b
se comparan las amplitudes de componentes medidas y de componentes modeladas,
obtenidas a través de la DFT.
(a) Comparación amplitudes medidas DFT vs AA
(b) Amplitudes medidas vs Modeladas (AA) (c) Amplitudes medidas vs Modeladas (DFT)
Figura 3.13.: Comparación de amplitudes obtenidas por análisis armónico y DFT
45
3.7.
Análisis de las constantes armónicas obtenidas.
A partir de las constantes armónicas calculadas a través del análisis armónico se
construyó la autopredicción correspondiente a la marea para cada serie de datos medida.
Se compararon las autopredicciones con las series medidas utilizando el coeficiente de
correlación de la misma forma que se utilizó en el ı́tem 3.4, el resultado se presenta en
la Figura 3.14
(a) Correlación entre autopredicción y alturas medidas
Sitio
BCAR
LHCL
LPGS
MZSR
PEJO
SL01
SRLP
UCOR
VBCA
(b) Detalle de picos de correlación
Lag
-4
5
-1
-1
5
-1
4
-3
2
Correlación
0.48
0.59
0.46
0.59
0.37
0.63
0.50
0.61
0.48
(c) Valores máximos de correlación
Figura 3.14.: Correlación entre las series de altura medidas y las autopredicciones de diferencia de
marea obtenidas de las mismas a través del método de análisis armónico, en función del
desfasaje entre las mismas, medido en minutos.
Utilizando la misma metodologı́a se compararon las autopredicciones con las series
de diferencias de marea modelada. El resultado se muestra en la Figura 3.15. Se observa
que la correlación es mayor entre la autopredicción y el modelo que en los otros casos,
debido a que en este caso se están comparando señales armónicas puras, sin incluir el
ruido de la medición.
46
(a) Correlación entre autopredicción y ∆M area modelada
Sitio
BCAR
LHCL
LPGS
MZSR
PEJO
SL01
SRLP
UCOR
VBCA
(b) Detalle de picos de correlación
Lag
10
-11
13
-8
-2
-4
-8
-7
-14
Correlación
0.88
0.87
0.95
0.93
0.84
0.94
0.87
0.91
0.84
(c) Valores máximos de correlación
Figura 3.15.: Correlación entre las autopredicciones de diferencia de marea obtenidas de las series
de altura a través del método de análisis armónico, y las series de diferencia de marea
modeladas, en función del desfasaje entre las mismas, medido en minutos.
La Figura 3.16 muestra las diferencias de fase entre las componentes medidas y modeladas para cada serie de diferencias de marea. Se notan mayores desfasajes en las
componentes K2 y S1.
Figura 3.16.: Diferencias de fase entre los datos medidos y modelados, por componente y sitio.
47
En la Figura 3.17a se grafican las amplitudes de las componentes identificadas en las
series procesadas (lı́nea) y en las diferencias de marea modeladas (barras) para cada sitio
y componente. Se observan, al igual que en las diferencias de fase, las mayores diferencias
en las componentes K2, S1, y en menor medida en K1. La componente S1, a pesar de
estar presente en los datos medidos, no se identifica en el análisis armónico del modelo.
Se calculó el RMSmisfit (error absoluto), entre las componentes medidas y modeladas.
Se representaron los resultados en la Figura 3.17b. Se graficaron además, en lı́nea, el
RSS por componente (azul) y sitio (verde). Este parámetro da una estimación del error
de cada componente para todos los sitios, y de cada sitio para todas las componentes.
Amplitudes Modeladas
Amplitudes Medidas
30
Amplitud
[mm]
25
20
15
10
5
0
M2
K1
MZSR
LHCL
SL01
SRLP
VBCA io
t
Si
BCAR
S2
O1
S1
Comp
onente K2
P1
UCOR
LPGS
N2
Q1
PEJO
(a) Comparación de Amplitudes obtenidas por análisis armónico
10
8
t io
6
Si
4
RMS Mis fit
[mm]
14
12
RS S Co m po
ne nt e
RS
S
2
0
S it
io
MZSR
VBCA
LHCL
SRLP
BCAR
PEJO
UCOR
SL01
LPGS
K2
S1
K1
P1
M2
Co m po ne
S2
nt e
O1
N2
Q1
(b) RMSmisfit para cada sitio y componente (en barras), y RSS según sitios (lı́nea verde) y según
componentes (lı́nea azul). Calculados para las amplitudes procesadas con respecto de las modeladas.
Figura 3.17.: Comparación de amplitudes (a) de las componentes de las diferencias de marea, y (b)
resumen de errores, calculados por sitio y por componente.
48
Se confeccionaron mapas de curvas de igual fase de las diferencias de marea (lı́neas
cotidales) para cada componente, aplicando el método de interpolación conocido como
Kriging. En la Figura 3.18 se graficaron superpuestas las lineas cotidales corespondientes
a los datos medidos y modelados.
Figura 3.18.: Lı́neas cotidales por componente, en rojo las correspondientes a las series de diferencia
de marea modeladas, en negro las correspondientes a las series de altura medida. Los
valores están expresados en grados.
49
Se confeccionaron mapas de curvas de isoamplitud de las diferencias de marea para
cada componente, aplicando el mismo método de interpolación que en los mapas de
lı́neas cotidales. En la Figura 3.19 se graficaron superpuestas las lineas de isoamplitud
corespondientes a los datos medidos y modelados.
Figura 3.19.: Curvas de isoamplitud de marea por componente, en rojo las correspondientes a las
series de diferencia de marea modeladas, en negro las correspondientes a las series de
altura medida. Los valores están expresados en milı́metros.
Se observa en las Figuras 3.18 y 3.19 que las componentes que presentan mayores
diferencias entre los valores modelados y medidos son K1, K2 y S1. En menor medida
se hallan diferencias en las amplitudes de la onda S2 en algunos puntos.
50
4. Discusión y conclusiones
A partir del análisis de las series de altura obtenidas del procesamiento cientı́fico de
datos GPS medidos por la red RAMSAC fue posible detectar y medir los efectos de la
marea terrestre.
En la Figura 3.1 donde se representa el histograma bidimensional de apartamiento de
la altura procesada en cada sesión respecto de la coordenda a-priori y el error estimado
por el software de procesamiento para cada sesión, se observa que en la zona donde hay
mayor frecuencia de datos no coindiden los intervalos de ambas variables. Para valores de
σ entre aproximadamente 0 cm y 3 cm el intervalo que corresponde a los apartamientos
es de entre −5 cm y +5 cm. Dado que el σ representa al error de procesamiento es
esperable que los valores sean menores a los apartamientos debido a que en estos ultimos
está incluida la señal de marea.
El indicio de la presencia de efecto de la marea sobre la altura medida utilizando un
modelo teórico se observa en la Figura 3.9, donde se destaca que la mayor correlación
entre las series de altura medidas y las de diferencias modeladas de marea se da cuando
no existe corrimiento (lag) entre ambas series. Se observan picos de correlación para
corrimientos que coinciden con el perı́odo de la onda de la marea semidiurna (∼ 12 hs).
Por otra parte, se puede comparar la función de correlación entre las diferencias de marea
(∆marea) medidas y modeladas para una estación con la función de autocorrelación de
las mismas diferencias de marea modeladas. En caso de que la influencia de la marea
en la serie medida sea idéntica a la modelada, la función de correlación entre ambas
series debe ser equivalente a la autocorrelación de la serie modelada, aunque atenuada
por la presencia de ruido. Esta comparación se realizó para la estación LHCL, en la
Figura 4.1, mostrando que existe una influencia de la marea sobre las alturas medidas
que es comparable a las diferencias de marea modeladas.
51
Figura 4.1.: Función de correlación entre la series de alturas medidas y modeladas de la estación LHCL
junto con la función de autocorrelación de las alturas modeladas para dicha estación.
En todas las estaciones se pudo detectar señales periódicas correspondientes a las
frecuencias propias de las principales componentes de la marea. Para ello se utilizó la
DFT sobre las funciones de autocorrelación de las series de alturas mdidas (Tabla 3.3b)
y el análisis armónico por el método de los cuadrados mı́nimos (Tabla 3.3a). Se pudo
comprobar, a través de la comparación con el modelo teórico, que las amplitudes detectadas se corresponden con el efecto esperable de la marea terrestre en las estaciones
analizadas.
A partir de las Figura 3.10, donde se graficó la distribución de los resultados de realizar
30 repeteciones del cálculo de los coeficientes A y B que surgen del análisis armónico,
tomando en forma aleatoria la mitad de los datos medidos, y de la Figura 3.11, donde
se representó la distribución de los resultados de realizar 100 repeticiones del cálculo de
las amplitudes de las componentes de marea, se pudo comprobar que ambos métodos
producen resultados satisfactorios a pesar de la presencia y distinta distribución de los
datos faltantes en el muestreo.
De la comparación de los resultados de amplitud para las distintas componentes de
marea individualizadas en las series de altura a través de ambos métodos utilizados se
verificó que los resultados producidos son compatibles (Figura 3.13a). Se debe tener en
cuenta que los resultados de amplitud obtenidos a través de la DFT están afectados por
el hecho de que la frecuencia fundamental no es un submultiplo de las frecuencias de las
ondas componentes de la marea. Además, los resultados obtenidos a través de la DFT
no son corregidos por modulación satelital (ver ı́tem 2.6.3). Éstas son posibles causas de
diferencias entre ambos métodos, especialmente en las componentes de mayor amplitud
(M2 por ejemplo).
52
La comparación de las constantes armónicas de diferencia de marea detectadas en las
series de altura con las modeladas a través del programa solid muestra una coincidencia
buena en general, aunque con desviaciones importantes en las componentes K1, K2 y S1.
En la Figura 4.2 se repite la comparación de amplitudes modeladas y medidas obtenidas
por análisis armónico, resaltando estas tres componentes.
Figura 4.2.: Comparación de amplitudes medidas y modeladas de diferencias de marea en todas las
estaciones, resaltando las componentes K1, K2 y S1, que presentan mayores desvı́os.
A partir de las pendientes de las rectas de regresión mostradas en la Figura 4.2 se
observa que considerando solo las seis componentes restantes se ajustan casi perfectamente las amplitudes medidas a las modeladas, mientras que considerando solo éstas
tres el ajuste es pobre.
En las cartas de lı́neas cotidales y de lı́neas de isoamplitud (Figuras 3.19 y 3.18)
se observa correspondencia, entre componentes modeladas y calculadas, especialmente
en las componentes M2, S2 y O1, cabiendo aclarar que M2 es la onda que mayores
amplitudes presentó, y que estas tres están entre las cinco principales ondas en todos los
sitios. Se detecta en las cartas también una correspondencia, aunque no tan fuerte, en las
componentes P1, Q1 y N2, que presentando en general menores amplitudes que las tres
antes mencionadas son mas susceptibles a la influencia del ruido propio de la medición.
En las componentes K1, K2 y S1 se ven grandes diferencias, tanto en fases como en
amplitudes, entre las series medidas y las series modeladas, probablemente ocasionadas
por fenómenos de similares periodicidades que interfieren en la medición.
53
Para ilustrar la distribución de las diferencias de amplitud de las distintas componentes entre los datos medidos y las series modeladas se presenta en la Figura 4.3 graficado
en escala de color el residuo de amplitud por componente (amplitud medida - amplitud
modelada).
Figura 4.3.: Residuales de amplitud para el area de trabajo.
Se observan diferencias puntuales en algunas componentes (M2 por ejemplo) , y en
forma generalizada en otras (K2 y S2 por ejemplo). Es importante destacar que las
diferencias en las componentes K1 y K2 derivadas de mediciones GPS fueron detectadas en varios trabajos, y se plantea su origen en distintos fenómenos, como la coincidencia de los perı́odos orbitales de los satélites Navstar con el perı́odo de la onda
K1 [Schenewerk et al., 2001], destacándose también que estas ondas pueden estar afectadas por la resonancia del núcleo lı́quido terrestre, cuyo efecto es difı́cil de modelar
[Bogusz y Figurski, 2010].
54
En cuanto a las diferencias encontradas en la onda S1, se plantea la hipótesis de que
las mismas sean efecto de la acción de la ionosfera sobre la medición GPS, dado que la
utilización de sesiones cortas aumenta la influencia de este fenómeno. Para buscar esta
correspondencia se analizó el espectro de las mediciones horarias de TECv promedio
de la zona (ver ı́tem 2.3.5) provistas en los mapas SAIM, a través de la DFT. En la
Figura 4.4 se representa el espectro de TECv junto con los espectros de los residuos
de las series de altura de PEJO y BCAR, calculados restando la serie de diferencia de
marea modelada a la serie de altura medida.
(a) Espectro de las mediciones de TECv obtenidas de los mapas SAIM, calculado a través de la DFT.
(b) Espectro de los residuos de las series de altura de la estación PEJO.
(c) Espectro de los residuos de las series de altura de la estación BCAR.
Figura 4.4.: Comparación del espectro de las mediciones de TECv con los espectros de los residuos
de las estaciones PEJO y BCAR.
55
Puede observarse que existen en el espectro de las mediciones de TECv componentes en frecuencias de marea, principalmente S1 (diurna solar) debido a que la actividad electrónica en la ionosfera esta ligada directamente a la influencia de los efectos
magnéticos del Sol, siendo esta una probable causa de los altos residuos encontrados en
la componente S1.
Como posible herramienta para un mayor estudio de las diferencias encontradas se
plantea realizar un procesamiento de sub-redes aisladas contiguas que formen un recorrido cerrado, donde se puedan evaluar las diferencias entre las coordenadas de partida y
de llegada, diferencias que al corresponder a una misma estación no puedrán atribuirse a
movimientos de la estación sino a influencias de factores externos que sesgan la medición.
Como un trabajo futuro se propone analizar estos resultados para mejorar la precisión
con la que obtienen las amplitudes y fases de las componentes de marea.
Por otro lado, se propone utilizar una mayor cantidad de estaciones de la red RAMSAC, y experimentar con distintas longitudes de sesión, por ejemplo utilizando sesiones
de 3 hs superpuestas [Bogusz y Figurski, 2010], logrando una resolución temporal de 1 h
en las series de altura. Esto permitirá una mejor descripción del fenomeno de la marea
terrestre en el territorio argentino y una visión completa del espectro de marea (hasta
componentes de periodo = 2 hs).
Finalmente, se propone estudiar la factibilidad de utilizar la técnica de procesamiento
puntual preciso, que tal como indica [Sato et al., 2008] permite medir el efecto de la
marea terrestre en forma absoluta. Se destaca que este procedimiento no fue utilizado
en esta tesis debido a que está en etapa de desarrollo, y se ve afectado fuertemente
por los fenómenos atmosféricos, teniendo que utilizar sesiones de hasta 8 hs para poder
resolver la posición en forma correcta [Wang, 2013].
56
5. Bibliografı́a
[Agnew, 2007] Agnew, D. (2007). Earth tides. Treatise on Geophysics, 3(06):163–195.
[Araszkiewicz et al., 2010] Araszkiewicz, A., Bogusz, J., Figurski, M., y Szafranek, K.
(2010). Application of short-time gnss solutions to geodynamical studies. Acta Geodynamica et Geomaterialia, 7(3):295–302.
[Baker y Bos, 2003] Baker, T. F. y Bos, M. S. (2003). Validating earth and ocean
tide models using tidal gravity measurements. Geophysical Journal International,
152(2):468–485.
[Beutler et al., 1994] Beutler, G., Mueller, L., y Neilan, R. (1994). The international
gps service for geodynamics (igs): Development and start of official service on january
1, 1994. Bulletin Geodesique, 68:1.
[Blewitt, 1989] Blewitt, G. (1989). Carrier phase ambiguity resolution for the global
positioning system applied to geodetic baselines up to 2000 km. Journal of Geophysical
Research: Solid Earth (1978–2012), 94(B8):10187–10203.
[Bogusz y Figurski, 2010] Bogusz, J. y Figurski, M. (2010). Short-period information in
gps time series. ARTIFICIAL SATELLITES, 45(3):119–128.
[Bracewell, 1986] Bracewell, R. N. (1986). The Fourier transform and its applications,
volume 31999. McGraw-Hill New York.
[Brunini y Azpilicueta, 2009] Brunini, C. y Azpilicueta, F. J. (2009). Accuracy assessment of the gps-based slant total electron content. Journal of Geodesy, 83(8):773–785.
[Burrus y Parks, 1991] Burrus, C. y Parks, T. W. (1991). DFT-FFT and Convolution
Algorithms: theory and Implementation. John Wiley & Sons, Inc.
[Cartwright y Edden, 1973] Cartwright, D. y Edden, A. C. (1973). Corrected tables of
tidal harmonics. Geophysical Journal International, 33(3):253–264.
[Cartwright y Melchior, 1999] Cartwright, D. E. y Melchior, P. (1999). Tides: a scientific history, volume 7. Cambridge Univ Press.
57
[Dehant et al., 1999] Dehant, V., Defraigne, P., y Wahr, J. (1999). Tides for a convective
earth. Journal of Geophysical Research: Solid Earth (1978–2012), 104(B1):1035–1058.
[Doodson, 1921] Doodson, A. T. (1921). The harmonic development of the tidegenerating potential. Proceedings of the Royal Society of London. Series A,
100(704):305–329.
[Foreman et al., 2009] Foreman, M., Cherniawsky, J., y Ballantyne, V. (2009). Versatile
harmonic tidal analysis: Improvements and applications. Journal of Atmospheric and
Oceanic Technology, 26(4):806–817.
[Foreman et al., 1977] Foreman, M. G. G. et al. (1977). Manual for tidal heights: analysis
and prediction. Pacific Marine Science Report, 77.
[Franco, 1982] Franco, A. d. S. (1982). Tides—fundamentals, analysis and prediction.
Ocean Engineering, 9(4):407–408.
[Ge et al., 2005] Ge, M., Gendt, G., Dick, G., y Zhang, F. (2005). Improving carrierphase ambiguity resolution in global gps network solutions. Journal of Geodesy, 79(13):103–110.
[Giancoli y Teng, 2000] Giancoli, D. C. y Teng, X. (2000). Physics for scientists and
engineers with modern physics.
[Gurtner y Estery, 2007] Gurtner, W. y Estery, L. (2007). Rinex-the receiver independent exchange format-version 3.00. Astronomical Institute, University of Bern and
UNAVCO, Bolulder, Colorado.
[Harris, 1978] Harris, F. J. (1978). On the use of windows for harmonic analysis with
the discrete fourier transform. Proceedings of the IEEE, 66(1):51–83.
[Herring et al., 2010a] Herring, T., King, R., y McClusky, S. (2010a). GAMIT reference
manual. Mass Inst. of Technol.
[Herring et al., 2010b] Herring, T., King, R., y McClusky, S. (2010b). Introduction to
GAMIT/GLOBK. Mass Inst. of Technol.
[Hofmann-Wellenhof et al., 1993] Hofmann-Wellenhof, B., Lichtenegger, H., y Collins,
J. (1993). Global Positioning System. Theory and Practice. Springer, Wien (Austria).
[King et al., 2000] King, M., Nguyen, L. N., Coleman, R., y Morgan, P. (2000). Strategies for high precision processing of gps measurements with application to the amery
ice shelf, east antarctica. GPS Solutions, 4(1):2–12.
58
[King et al., 2008] King, M. A., Watson, C. S., Penna, N. T., y Clarke, P. J. (2008).
Subdaily signals in gps observations and their effect at semiannual and annual periods.
Geophysical Research Letters, 35(3).
[King et al., 1985] King, R., Masters, E., Rizos, C., Stolz, A., y Collins, J. (1985). Surveying with gps.
[Laurı́a y Cimbaro, 1999] Laurı́a, E. y Cimbaro, S. (1999). Proyecto ramsac. Revista
Cartográfica, Instituto Panamericano de Geografı́a e Historia, (68).
[Lee Rodgers y Nicewander, 1988] Lee Rodgers, J. y Nicewander, W. A. (1988). Thirteen ways to look at the correlation coefficient. The American Statistician, 42(1):59–
66.
[Love, 1909] Love, A. (1909). The yielding of the earth to disturbing forces. Proceedings
of the Royal Society of London. Series A, 82(551):73–88.
[Marquardt, 1963] Marquardt, D. W. (1963). An algorithm for least-squares estimation
of nonlinear parameters. Journal of the Society for Industrial & Applied Mathematics,
11(2):431–441.
[Mathews et al., 1995] Mathews, P., Buffett, B., y Shapiro, I. (1995). Love numbers for
a rotating spheroidal earth:new definitions and numerical values. Geophysical research
letters, 22(5):579–582.
[McCarthy y Petit, 2004] McCarthy, D. y Petit, G. (2004). Iers conventions (2003), iers
technical note no. 32. Verlag des Bund. f. Kartographie u. Geodäsie, Frankfurt am
Main.
[Melbourne et al., 2002] Melbourne, T. I., Webb, F. H., Stock, J. M., y Reigber, C.
(2002). Rapid postseismic transients in subduction zones from continuous gps. Journal
of Geophysical Research, 107(B10):2241.
[Montenbruck y Eberhard, 2000] Montenbruck, O. y Eberhard, G. (2000). Satellite orbits: models, methods, and applications. Springer.
[Montenbruck y Pfleger, 2000] Montenbruck, O. y Pfleger, T. (2000). Astronomy on the
personal computer. Springer.
[Munk y Cartwright, 1966] Munk, W. H. y Cartwright, D. E. (1966). Tidal spectroscopy
and prediction. Philosophical Transactions for the Royal Society of London. Series A,
Mathematical and Physical Sciences, pages 533–581.
59
[Pearson, 1920] Pearson, K. (1920). Notes on the history of correlation. Biometrika,
13(1):25–45.
[Pérez y Granger, 2007] Pérez, F. y Granger, B. E. (2007). IPython: a system for interactive scientific computing. Computing in Science and Engineering, 9(3):21–29.
[Pugh y Vassie, 1978] Pugh, D. y Vassie, J. (1978). Extreme sea levels from tide and
surge probability. Coastal Engineering Proceedings, 1(16).
[Pugh, 1996] Pugh, D. T. (1996). Tides, surges and mean sea-level (reprinted with corrections). John Wiley & Sons Ltd.
[Remondi, 1985] Remondi, B. W. (1985). Global positioning system carrier phase: Description and use. Bulletin géodésique, 59(4):361–377.
[Sato et al., 2008] Sato, T., Miura, S., Ohta, Y., Fujimoto, H., Sun, W., Larsen, C.,
Heavner, M., Kaufman, A., y Freymueller, J. (2008). Earth tides observed by gravity
and gps in southeastern alaska. Journal of Geodynamics, 46(3):78–89.
[Schenewerk et al., 2001] Schenewerk, M., Marshall, J., y Dillinger, W. (2001). Vertical
ocean-loading deformations derived from a global gps network. Journal of the Geodetic
Society of Japan, 47(1):237–242.
[Schureman, 1994] Schureman, P. (1994). Manual of harmonic analysis and prediction
of tides. US Department of Commerce, Coast and Geodetic Survey.
[Shida y Matsuyama, 1912] Shida, T. y Matsuyama, M. (1912). Change of the plumb
line referred to the axis of the earth as found from the results of the internazional
latitude observations. Memoirs of the College of Science and Engineering, 4:277–284.
[Smith, 1974] Smith, M. L. (1974). The scalar equations of infinitesimal elasticgravitational motion for a rotating, slightly elliptical earth. Geophysical Journal International, 37(3):491–526.
[Stein, 1999] Stein, M. L. (1999). Interpolation of spatial data: some theory for kriging.
Springer.
[Teunissen, 1995] Teunissen, P. (1995). The least-squares ambiguity decorrelation adjustment: a method for fast gps integer ambiguity estimation. Journal of Geodesy,
70(1-2):65–82.
[Teunissen, 1997] Teunissen, P. (1997). Some remarks on gps ambiguity resolution. Artificial Satellites, 32(3):119–130.
60
[Teunissen, 1998] Teunissen, P. J. (1998). Gps carrier phase ambiguity fixing concepts.
In GPS for Geodesy, pages 319–388. Springer.
[Teunissen et al., 1998] Teunissen, P. J., Odijk, D., y Joosten, P. (1998). A probabilistic
evaluation of correct gps ambiguity resolution. In PROCEEDINGS OF ION GPS,
volume 11, pages 1315–1324. INSTITUTE OF NAVIGATION.
[Trupin y Wahr, 1990] Trupin, A. y Wahr, J. (1990). Spectroscopic analysis of global
tide gauge sea level data. Geophysical Journal International, 100(3):441–453.
[Tuttas, 2011] Tuttas, S. (2011). Joint gravimetric and geometric survey of geophysical
signals: Feasibility study for the TERENO alpine and prealpine Ammer observatory.
Institut für Astronomische und Physikalische Geodäsie (IAPG).
[Wahr, 1981] Wahr, J. M. (1981). Body tides on an elliptical, rotating, elastic and
oceanless earth. Geophysical Journal International, 64(3):677–703.
[Wang, 2013] Wang, G. (2013). Millimeter-accuracy gps landslide monitoring using precise point positioning with single receiver phase ambiguity (ppp-srpa) resolution: a
case study in puerto rico. Journal of Geodetic Science, 3(1):22–31.
[Watson et al., 2006] Watson, C., Tregoning, P., y Coleman, R. (2006). Impact of solid
earth tide models on gps coordinate and tropospheric time series. Geophysical Research
Letters, 33(8):L08306.
[Wiener, 1930] Wiener, N. (1930). Generalized harmonic analysis. Acta Mathematica,
55(1):117–258.
[Xu, 2003] Xu, G. (2003). Gps theory, algorithms and applications.
[Xu y Knudsen, 2000] Xu, G. y Knudsen, P. (2000). Earth tide effects on kinematic/static gps positioning in denmark and greenland. Physics and Chemistry of the Earth,
Part A: Solid Earth and Geodesy, 25(4):409–414.
61
Anexos
62
A. Programas utilizados para el
análisis de la series de altura.
Para el análisis de las series de altura se programaron rutinas con el lenguaje de
programación python 1 , utilizando principalmente las librerı́as numpy 2 para manejo de
datos numéricos, pandas 3 para carga y manejo de series de tiempo, scipy 4 para el ajuste
por mı́nimos cuadrados, y matplotlib 5 para la generación de las figuras que se incluyeron
en el trabajo.
El manejo y análisis de los datos se realizó a través del intérprete interactivo ipython 6
[Pérez y Granger, 2007], partiendo de una serie de rutinas que se programaron para el
análisis de series de tiempo según se describe en la sección de metodologı́a. El código de estas rutinas se agrupó en tres archivos, que se presentan anexos, siendo importante destacar que las contenidas en el archivo vufabs.py están basadas en parte del paquete tidpack programado originalmente en FORTRAN por M. G. Foreman
[Foreman et al., 1977].
A.1.
1
2
3
vufabs.py : Rutinas para el cálculo de f , v y u
import numpy as np
import pandas as pd
import re
4
5
6
7
8
9
10
class const:
# Clase para una componente armonica de la marea
def __init__(self,KON,II,JJ,KK,LL,MM,NN,SEMI,NJ):
# Carga los parametros de la componente principal,
#NJ se mantiene para conservar la forma.
self.name = KON
1
http://pandas.python.org/
http://www.numpy.org/
3
http://pandas.pydata.org/
4
http://scipy.org/
5
http://matplotlib.org/
6
http://ipython.org/
2
63
11
12
13
self.doods = np.array([II,JJ,KK,LL,MM,NN])
self.phase = SEMI
self.satelites = []
14
15
16
17
18
def addsat(self,LDEL,MDEL,NDEL,PH,EEIR):
# addsat Agrega un satelite (clase satelite)
# a partir de sus parametros.
self.satelites.append(satelite(LDEL,MDEL,NDEL,PH,EEIR))
19
20
21
22
23
24
25
26
27
def mod(self,LAT,orbits):
# mod devuelve la modulacion de una componente para determinados
# parametros orbitales (orbits)
vtot=np.sum(self.doods*orbits)+self.phase #modulacion principal
#VDBL=II(K)*TAU+JJ(K)*S+KK(K)*H+LL(K)*P+MM(K)*ENP+NN(K)*PP+SEMI(K)
#~ vv=frac(vtot)
#~ iv = (np.int(vtot)/2)*2
vv = vtot
28
29
30
31
32
33
34
35
36
37
sumc=1.
sums=0.
for sat in self.satelites: # acrega la modulacion de c/satelite
termc, terms = sat.modsat(LAT,orbits)
sums+=terms
sumc+=termc
f=np.sqrt(sumc**2+sums**2) #SQRT(SUMC*SUMC+SUMS*SUMS)
v=vv
u=np.arctan2(sums,sumc)/(2.*np.pi) #ATAN2(SUMS,SUMC)/TWOPI
38
39
return f, v, u
40
41
42
43
def vel(self,dorbs):
#Devuelve la velocidad de la onda para un momento en ciclos por hora
return np.sum(self.doods * dorbs) / (365. * 24.)
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class satelite:
#Clase para cada componente satelite de una principal.
def __init__(self,LDEL,MDEL,NDEL,PH,EEIR):
# los primeros tres parametros son la variacion de los numeros
# de Doodson con respecto a la principal
self.doodd = np.array([0,0,0,LDEL,MDEL,NDEL])
# PH es la correccion de fase
self.phased = PH
# EEIR es la correccion de amplitud mas indicacion si se corrige
# por latitud
if isinstance(EEIR,basestring):
self.ampd,self.latcorr = EEIR.split(’R’)
self.ampd,self.latcorr = float(self.ampd), int(self.latcorr)
else:
self.ampd, self.latcorr = EEIR, 0
#Devuelva los componentes de modulacion de una onda satelite
# termc(coseno) y tems(seno)
def modsat(self,LAT,orbits):
#orbis, np.array de parametros orbitales: tau,s,h,p,enp,pp
SLAT = np.pi*LAT/180.
if self.latcorr == 1:
#correcciones por latitud
64
66
67
68
69
70
71
72
73
74
75
ampcor = self.ampd*0.36309*(1.-5.*SLAT*SLAT)/SLAT
elif self.latcorr == 2:
ampcor = self.ampd*2.59808*SLAT
else:
ampcor = self.ampd
uutot=np.sum(self.doodd * orbits)+self.phased
uu=frac(uutot) #deja la fraccion de ciclo.
termc=ampcor*np.cos(uu*2*np.pi) #un solo termino de SUMC
terms=ampcor*np.sin(uu*2*np.pi) #un solo termino de SUMS
return termc, terms
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
class shallowconst:
#clase para las componentes de aguas someras.
def __init__(self,KON,*args):
self.name = KON
# contri es un listado de ondas y coeficientre con los que
# contribuye cada una
self.contri = zip(*[iter(args)]*2) #recibe list [onda, coef] *n
def mod(self,LAT,orbits):
f = 1.0
v = 0.0
u = 0.0
for onda in self.contri: #acumula las contribuciones de todas
f1, v1, u1 = onda[0].mod(LAT,orbits)
f *= f1**np.abs(onda[1])
v += v1*onda[1]
u += u1*onda[1]
return f, v, u
#calcula la velocidad de la onda.
def vel(self,dorbs):
omega = 0.
for onda in self.contri:
omega += onda[0].vel(dorbs)*onda[1]
return omega
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
class ConstPACK:
#~Una clase para toda la informacion de las componentes.
#~ Lectura de Tide5n (modificado)
def __init__(self,archivo):
lector = open(archivo)
self.componentes = {}
kon = ’vacio’
shflag=0
for linea in lector.readlines():
konp = kon
if re.match(’CORTEE’,linea):
# fin de componentes puras, pasa a componentes de Aguas
# someras.
shflag=1
elif shflag == 0:
kon, resto = linea.split(None,1)
cort=spltnum(resto)
if kon != konp:
#si el nombre es nuevo es nueva componente, carga
self.componentes[kon] = const(kon,*cort)
65
else:
121
#sino es una linea de satelite
for sat in zip(*[iter(cort)]*5):
#cada linea de satelites reshape a n*5, y
#luego los carga
self.componentes[kon].addsat(*sat)
122
123
124
125
126
127
else:
#Componentes de agua somera
kon, basura, resto = linea.split(None,2)
cort=spltnum(resto)
cort.reverse()
#~ print cort
for i in range(len(cort)):
if isinstance(cort[i], basestring):
cort[i] = self.componentes[cort[i]]
#~ print cort
self.componentes[kon] = shallowconst(kon,*cort)
128
129
130
131
132
133
134
135
136
137
138
lector.close()
139
140
141
142
143
144
145
#devuelve F,v y u para una componente, el tiempo lo recibe en
# horas desde 1900-01-01 00:00-Z0
def facts(self,hr,kon,lat):
d1 = (hr/24.)+0.5 #las efemerides necesitan dias desde 1900 0.5
orbs, dorbs = astr(d1)
return self.componentes[kon].mod(lat,orbs)
146
147
148
149
150
151
152
#devuelve w en c/h para una componente, el tiempo lo recibe en
# horas desde 1900-01-01 00:00-Z0
def omega(self,hr,kon):
d1 = (hr/24.)+0.5 #las efemerides necesitan dias desde 1900 0.5
orbs, dorbs = astr(d1)
return self.componentes[kon].vel(dorbs)
153
154
155
156
157
158
159
160
161
162
163
164
165
# devuelve los f,v y u pero en un array para un array de horas
def factsarr(self,hrs,kons,lat):
f = pd.DataFrame(index=hrs,columns=kons)
v = f.copy()
u = f.copy()
for hora in hrs:
d1 = (hora/24.)+0.5 #las efemerides usan h desde 1900 0.5
orbs, dorbs = astr(d1)
for kon in kons:
f.ix[hora][kon], v.ix[hora][kon], u.ix[hora][kon] = \
self.componentes[kon].mod(lat,orbs)
return f.astype(float), v.astype(float), u.astype(float)
166
167
168
169
170
171
172
173
174
175
#devuelve para un array de horas valores de un polinomio que ajusta
# a la serie de f,v y u, funciona bien hasta 3 a~
nos de largo seguro.
def factspol(self,hrs,kons,lat):
f, v, u = self.factsarr(np.linspace( \
np.min(hrs),np.max(hrs),600).astype(int),kons,lat)
pf, pv, pu = [], [], []
#~ Se hacen listas para que conserven el orden y no se necesita
#~ llamarlas sueltas, asique dict. no aportaria nada.
for kon in f:
66
176
177
178
179
pf.append(np.poly1d(np.polyfit(f.index,f[kon],6)))
pv.append(np.poly1d(np.polyfit(v.index,v[kon],6)))
pu.append(np.poly1d(np.polyfit(u.index,u[kon],6)))
return pf, pv, pu
180
181
182
183
184
#~ def dint(a):
#~ #Este funcion trunca, tiene el nombre por compatibilidad con FORTRAN
#~ return np.trunc()
185
186
187
def frac(a):
return a - np.trunc(a)
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
def astr(d1):
# las efemerides necesitan dias desde 1900 0.5
# this subroutine calculates the following five ephermides
# of the sun and moon
# tau = lunar time
# h = mean longitude of the sum
# pp = mean longitude of the solar perigee
# s = mean longitude of the moon
# p = mean longitude of the lunar perigee
# enp = negative of the longitude of the mean ascending node
# and their rates of change.
# Units for the ephermides are cycles and for their derivatives
# are cycles/365 days
# The formulae for calculating this ephermides were taken from
# pages 98 and 107 of the Explanatory Supplement to the
# Astronomical Ephermeris and the American Ephermis and
# Nautical Almanac (1961)
####################### 10-2013 modificado #############################
#~ agregado, calculo de tau, calculo como np.array, y devuelve v y u
#~ enteros sin truncar, para poder interpolar despues
d2=d1*1.e-4
f=360.e0
f2=f/365.e0
h=279.696678e0+.9856473354e0*d1+2.267e-05*d2*d2
pp=281.220833e0+4.70684e-05*d1+3.39e-05*d2*d2+7e-08*d2**3
s=270.434164e0+13.1763965268e0*d1-8.5e-05*d2*d2+3.9e-08*d2**3
p=334.329556e0+.1114040803e0*d1-7.739e-04*d2*d2-2.6e-07*d2**3
enp=-259.183275e0+.0529539222e0*d1-1.557e-04*d2*d2-5e-08*d2**3
orbits = np.array([s,h,p,enp,pp])/f
218
219
220
221
222
223
224
dh=.9856473354e0+2.e-8*.00002267e0*d1
dpp=.0000470684e0+2.e-8*.0000339e0*d1+3.e-12*.00000007e0*d1**2
ds=13.1763965268e0-2.e-8*.000085e0*d1+3.e-12*.000000039e0*d1**2
dp=.1114040803e0-2.e-8*.0007739e0*d1-3.e-12*.00000026e0*d1**2
dnp=+.0529539222e0-2.e-8*.0001557e0*d1-3.e-12*.00000005e0*d1**2
dorbits = np.array([ds,dh,dp,dnp,dpp])/f2
225
226
227
228
229
230
d1fr=d1-0.5
#~ para calcular TAU, se usa d1, pero cuenta
#~ desde mediodia de 1899-31-12
tau=d1fr+orbits[1]-orbits[0] #d1fr+h-s
dtau=365.+dorbits[1]-dorbits[0]
67
orbits = np.insert(orbits,0,tau)
dorbits = np.insert(dorbits,0,dtau)
return orbits, dorbits
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
def num(st):
# Cambia el tipo de dato a una string, Int si se puede, sino Float y si
# fallan ambas devuelve la string talcual.
try:
return int(st)
except ValueError:
try:
return float(st)
except ValueError:
return st
def spltnum(st):
# Corta una string en numeros y los devuelve en lista, pero con el tipo
# de datos que corresponde (int, float o string)
splitted = st.split()
for i in range(len(splitted)):
splitted[i] = num(splitted[i])
return splitted
A.2.
1
2
harmonic.py : Rutinas para análisis armónico.
from vufabs import *
from scipy.optimize import curve_fit, minimize
3
4
5
6
7
def a_horas(tiempo):
#pasa un tiempo datetime64 de numpy a numero de horas desde 1900.0
return (tiempo - np.datetime64(’1900-01-01T00:00:00Z’)) \
/ np.timedelta64(1, ’h’)
8
9
10
11
12
13
14
def onda_marea(ondas,hind,lat,pack,metodo=’comp’):#hind,lat,pack):
# Funcion generadora de funciones "onda", cada una a modelar, en la
# definicion se especifica ondas, latitud, un intervalo o serie en
# horas desde 1900-0.0, y un objeto ConstPack para cargar la informacion
pf, pv, pu = pack.factspol(hind,ondas,lat)
pvu = [a + b for a, b in zip(pv, pu)] # suma polinomios
15
16
17
18
19
20
21
22
23
24
25
26
27
28
########################### PARA MODULACION DIRECTA ################
#~ f, v, u = pack.factsarr(hind,ondas,lat)
#
#~ f = f
#
#~ vu = v+u
#
def onda(hrs,*args):
# funcion de onda de marea los argumentos son:
# (nivel medio, tendencia lineal, a para todas las componentes,
# b para todas las componentes)
trend = args[1]
n=len(ondas)
nmed = args[0]
a = args[2:n+2]
b = args[n+2:n*2+2]
68
29
30
31
32
#aca evalua pv y pvu para los valores de indice
###################### con Modulacion ##########################
#~ arg=vu.ix[hrs].values*2.*np.pi # Modulacion directa
#~ fs=f.ix[hrs].values
33
34
35
36
37
38
39
40
41
42
43
########## Modulacion con polinomios ########
arg=[]
#
f=[]
#
for poly in pvu:
#
arg.append(poly(hrs))
for poly in pf:
#
f.append(poly(hrs))
arg=((np.array(arg).transpose())#%1
#
)*2*np.pi
fs=np.array(f).transpose()
#
#
#
#
44
45
46
47
48
49
50
51
52
53
if metodo == ’sep’: # en lugar de a y b a es fase y b amplitud
return nmed + trend * (hrs-hrs[len(hrs)/2]) + \
np.sum(fs * np.abs(b) * np.cos(arg+a), axis=1)
#np.abs para evitar amplitudes negativas cuando ajusta.
##################### por componentes ##########################
else: # por defecto a y b son componentes seno y coseno.
return nmed + trend * (hrs-hrs[len(hrs)/2]) + \
np.sum(fs* a* np.sin(arg) + fs* b* np.cos(arg), axis=1)
54
55
56
57
58
59
60
61
62
63
64
65
66
67
##################### Sin Modulacion ###########################
#~ arg=[]
#
#~ for poly in pv:
#
#~ arg.append(poly(hrs))
#~ arg=((np.array(arg).transpose())#%1
#
#~ )*2*np.pi
#~ if metodo == ’sep’:
#
#~ return nmed + trend * (hrs-hrs[len(hrs)/2]) + \
#
#~ np.sum(b * np.sin(arg+a), axis=1)
##################### por componentes ##########################
#~ else:
#
#~ return nmed + trend * (hrs-hrs[len(hrs)/2]) + \
#
#~ np.sum(a * np.sin(arg) + b * np.cos(arg))
68
69
return onda
70
71
72
73
74
75
76
77
78
79
80
81
82
83
class marea_an:
# clase con herramientas de analisis, se crea con una serie de alturas
# y una latitud y un objeto ConstPACK
def __init__(self,serie,lat,pack):
self.pack = pack
self.lat = lat
self.index = a_horas(serie.index.values)
self.ini, self.end = self.index[0], self.index[1]
try:
# Si la serie tiene dos columnas asumo que la segunda es el sigma
self.serie = serie.iloc[:,0]
self.sigma = serie.iloc[:,1]
except ValueError:
69
#
#
#
#
84
85
86
# si no, el sigma se pone a todos 1, todos pesos equivalentes
self.serie = serie
self.sigma = 1
87
88
89
90
91
92
93
94
95
96
97
98
99
100
def armfit(self,ondas,p0=’’,metodo=’comp’):
#analisis armonico, se pasa al objeto inicializado la lista de ondas
#y eventualmente el vector de valores iniciales p0
onda = onda_marea(ondas,self.index,self.lat \
,self.pack,metodo=metodo) # crea la onda a la que se ajusta
a = self.serie.values
ind = self.index
y = a[~np.isnan(a)]
#elimina valores nulos
x = ind[~np.isnan(a)]
if isinstance(p0,basestring):
p0= np.concatenate(([self.serie.mean(),0.], # NIV MED, TEND
np.ones(len(ondas))*0.1, # a / Fases
np.ones(len(ondas))*0.1)) # b / amplitudes
101
102
103
104
105
106
107
108
109
if isinstance(self.sigma, np.ndarray):
# hace el ajuste con pesos si sigma es un array.
sig = self.sigma.values
sig = sig[~np.isnan(a)]
popt, pcov = curve_fit(onda, x, y, p0=p0, sigma=sig)
else:
# Caso contrario ajusta sin pesos.
popt, pcov = curve_fit(onda, x, y, p0=p0)
110
111
112
113
114
115
#almacena las ondas que uso, la funcion de onda y las constantes
#armonicas para poder analizar y hacer la autoprediccion
self.kons = ondas
self.armconst = popt
self.func_onda = onda
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
terms = popt[:2]
comps = popt[2:]
comps = comps.reshape(2,len(comps)/2)
#### Por separado ####
if metodo == ’sep’:
comps = pd.DataFrame( \
{’fases’+self.serie.name[:4]:((comps[0]+1.)%1.)*360., \
’amps’+self.serie.name[:4]:comps[1]}, index=ondas)
#### Por Componentes ####
else:
amps = np.sqrt(comps[0] ** 2. + comps[1] ** 2.)
fases = ((np.arctan2(comps[0],comps[1]) \
/ (2*np.pi) + 1) % 1) * 360.
comps = pd.DataFrame({’fases’+self.serie.name[:4]:fases, \
’amps’+self.serie.name[:4]:amps}, index=ondas)
132
133
return terms, np.abs(comps)
134
135
136
137
138
def autop(self,hrs):
# crea la autoprediccion, usando la funcion de onda y las
# componentes armonicas que se le pasaron
return self.func_onda(hrs,*self.armconst)
70
A.3.
fft pic tlkt3.py : Rutinas para el cálculo de
amplitudes mediante la DFT de la función de
autocorrelación.
1
2
import pandas as pd
import numpy as np
3
4
5
def nonan(a):
return a[~np.isnan(a)]
6
7
8
# un filtro media movil con ventana variable para filtrar los picos
# antes de comparar si se quieren eliminar algo de Ruido.
9
10
11
12
13
14
15
16
17
18
def fil_std2(ar, sig, win=400): # Filtro de Varianza Movil
#~ niv_med = ar.mean()
ar2 = pd.stats.moments.rolling_std(ar, win,
center=True, min_periods=win/4) # Varianza Movil
ar2 = pd.stats.moments.rolling_mean(ar2, win/4 ,
center=True, min_periods=1) # Suaviza la varianza
ar2 = (ar2.fillna(method=’pad’)).fillna(method=’bfill’)
# Completa el final de la curva-filtro
ar2 = ar2 * sig # gerena la linea de corte a x sigma
19
20
21
ar_co = ar.copy()
ar_co[ np.logical_or(ar_co > ar2, ar_co < -ar2) ] = np.nan
22
23
return ar_co #+ niv_med
24
25
26
27
28
def det_pic(alts,hrs,pack,win=0,desvs=2,
corte=0.00001, nom=’’, force=[]):
# Funcion de deteccion de picos donde cambia de signo la derivada,
# y compara con las ws de marea.
29
30
31
32
33
#Filtra si se especifica ventana.
if win != 0:
altfil = fil_std2(fil_std2(alts,desvs+1,win=win),desvs,win=win)
alts = alts[np.isnan(altfil)]
34
35
36
37
38
# crea el marcador, con 1 en los valores que x_i-1 < x_i > x_i+1
c = np.concatenate(([0,0],alts.values,[0,0]),)
ant = c[1:-1] - c[:-2]
sig = c[1:-1] - c[2:]
39
40
41
42
marc = (ant / np.abs(ant) + sig / np.abs(sig))/2
marc[marc < 0.] = 0
marc = marc[1:-1]
43
44
45
picos = alts[marc==1]
picos = picos[picos > corte]
46
47
48
#deja solamente diurnos y Semi
picos = picos[picos.index > 10]
71
49
picos = picos[picos.index < 40]
50
51
52
53
54
55
56
57
58
59
60
#crea df con todas las velocidades en grados
ws=[]
if len(force) == 0:
b = pack.componentes.keys()
else:
b = force
for i in b:
ws.append(pack.omega(hrs,i))
wsdf = pd.DataFrame({’omega’:ws}, index=b)
wsdf = wsdf*360
61
62
63
64
65
66
67
68
69
onda, velocidad, diferencia, amplitud = [],[],[],[]
# asigna a cada pico detectado la frecuencia que le corresponde
for i in range(len(picos)):
difs = np.abs(wsdf-picos.index[i])
onda.append(difs.idxmin().values[0])
velocidad.append(wsdf.ix[difs.idxmin()].values[0,0])
diferencia.append(difs.min().values[0])
amplitud.append(picos[i])
70
71
72
73
result= pd.DataFrame({’velocidad’+nom:velocidad, # transforma el
’diferencia’+nom:diferencia,
# resultado en un
’amplitud’+nom:amplitud}, index=onda)
# Dataframe
74
75
76
77
78
result.sort(columns=’diferencia’+nom,ascending=True,inplace=True)
#toma El pico que mas cerca esta de la frecuencia correspondiente
picos = result.groupby(result.index).first().sort(
columns=’amplitud’+nom, ascending=False)
79
80
81
82
83
84
85
86
87
88
89
90
if len(force) != 0: #si se forzaron componentes
for i in force:
if i not in picos.index.values:
#si el pico no existe interpola la fft a la frecuencia pedida
wmega = pack.omega(hrs,i)*360
temp = alts.append(pd.Series(np.nan,
index=[wmega])).sort_index()
temp = temp.interpolate(method=’index’)
picos = picos.append(pd.DataFrame(
{’amplitud’+nom : temp[wmega]}, index=[i]))
print nom,i,": forzado ", temp[wmega]
91
92
93
return picos
#~ resuelve los picos, si filtro filtra la fft, sino con umbral.
94
95
96
def a_horas(tiempo):
return (tiempo - np.datetime64(’1900-01-01T00:00:00Z’)) / np.timedelta64(1, ’h’)
97
98
99
100
101
102
103
class fft_serie:
# Clase para el analisis con DFT, carga una serie de tiempo/altura, y se
# pasa un objeto pack con informacion de ondas. autocorr calcula la
# autocorrelacion de una serie, fft calcula la fft, si es autcor=True
# calcula primero la autocorrelacion si no esta calculada, y de ahi saca
# la FFT Picos llama al detector de picos para devolver un df con la
72
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# altura de los picos detectados.
def __init__(self,serie,lat,pack):
self.serie = serie[
serie.first_valid_index():serie.last_valid_index()]
self.lat = lat
self.pack = pack
self.hora = a_horas(serie.index.values[len(serie)/2])
self.corr = 0.
def autocorr(self,paso=2):
#~ Calcula la autocorrelacion, y la devuelve, paso es cantidad
#~ de horas del intervalo de muestreo.
corr = pd.Series(0., index=np.arange(-len(self.serie)+1,
len(self.serie),1))
for i in corr.index:
if i < 0:
emp = self.serie[:i].values
emp2 = self.serie[-i:].values
elif i > 0:
emp = self.serie[i:].values
emp2 = self.serie[:-i].values
elif i == 0:
emp = self.serie[:].values
emp2 = emp
127
emp3 = (emp-emp.mean()) * (emp2 - emp2.mean())
corr[i] = emp3.mean()
128
129
130
131
132
corr.index = corr.index*paso
return corr
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
def fft(self, autcor=False, paso=2.):
# Calcula la fft, si autcor=true entonces de la
# autocorrelacion, si no hay la genera.
Fs = 360/paso
if autcor:
# DFT de la muestra a partir de la autocorrelacion
if ~isinstance(self.corr, pd.Series):
self.corr = self.autocorr(paso=paso)
n = len(self.corr)
n2 = len(nonan(self.serie))
MUE = self.corr*(np.hanning(n) ** 2)
cofft = np.fft.hfft(MUE[n/2:])
cofft = cofft[range(n/2)]
cofSQ = np.sqrt(np.abs(cofft)*n)*2.0*2.0/(n)
#el n "desnormaliza el periodograma", pasa a fft con la raiz
# el primer 2 compensa el hann, afuera 2/long serie
# normaliza la FFT
frq = np.arange(n)
T = (n) / Fs
frq = frq/T
frq = frq[range(n/2)]
Y = cofSQ[range(n/2)]
156
157
158
else:
# Calcula la fft de la muestra como se la pasa
73
159
160
161
162
163
164
165
166
167
168
serie = self.serie
serie[np.isnan(serie)] = serie.mean()
n = len(serie) # length of the signal
k = np.arange(n)
T = n/Fs
frq = k/T # two sides frequency range
frq = frq[range(n/2)] # one side frequency range
Y = np.fft.fft(serie*np.hanning(n))*2/(n/2)
# fft computing and normalization
Y = np.absolute(Y[range(n/2)])
169
170
171
self.fftv = pd.Series(Y, index=frq)
return pd.Series(Y, index=frq)
172
173
174
175
176
177
def picos(self, **kwargs):
# metodo de deteccion de picos, llama a la funcion det_pic con los
# parametros del objeto de clase fft_serie.
return det_pic(self.fftv, self.hora, self.pack, **kwargs)
#def det_pic(alts,hrs,pack,win=0,desvs=2,corte=0.0001):
74
B. Ejemplos de archivos utilizados en
el trabajo
B.1.
Archivos RINEX - Encabezado
A continuación se incluye a modo de ejemplo el encabezado del archivo RINEX
correspondiente a un dı́a de observación de la estación LPGS.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2.11
OBSERVATION DATA
G (GPS)
RINEX VERSION / TYPE
teqc 2009Mar23
20100613 03:07:48UTCPGM / RUN BY / DATE
MSXP|IAx86-PII|bcc32 5.0|MSWin95->XP|486/DX+
COMMENT
teqc 2008Oct2
Luciano Pedro Oscar 20100613 01:17:22UTCCOMMENT
Linux 2.4.20-8|Pentium IV|gcc|Linux|486/DX+
COMMENT
teqc 2008Oct2
Luciano Pedro Oscar 20100613 01:15:48UTCCOMMENT
BIT 2 OF LLI FLAGS DATA COLLECTED UNDER A/S CONDITION
COMMENT
LPGS
MARKER NAME
41510M001
MARKER NUMBER
L. Mendoza
GFZ/FCAG-UNLP
OBSERVER / AGENCY
1118
AOA BENCHMARK ACT
3.3.32.3N
REC # / TYPE / VERS
367
AOAD/M_T
NONE
ANT # / TYPE
2780102.9896 -4437418.9149 -3629404.5253
APPROX POSITION XYZ
0.0460
0.0000
0.0000
ANTENNA: DELTA H/E/N
1
1
WAVELENGTH FACT L1/2
7
L1
L2
C1
P2
P1
S1
S2
# / TYPES OF OBSERV
15.0000
INTERVAL
P1 =
P1 TurboRogue; =
Y1 Benchmark
COMMENT
L1 = L1(P1) TurboRogue; = L1(Y1) Benchmark
COMMENT
P2 =
P2 TurboRogue; =
Y2 Benchmark
COMMENT
L2 = L2(P2) TurboRogue; = L2(Y2) Benchmark
COMMENT
SNR is mapped to RINEX snr flag value [0-9]
COMMENT
L1 & L2: min(max(int(snr_dBHz/6), 0), 9)
COMMENT
Forced Modulo Decimation to 5 seconds
COMMENT
Forced Modulo Decimation to 15 seconds
COMMENT
2010
6
12
0
0
0.0000000
GPS
TIME OF FIRST OBS
\END OF HEADER
Cabe aclarar que en cada archivo RINEX se escribe la información de antena (ANT #
/ TYPE), y la posición aproximada de la estación (APROX POSITION XYZ), y que en
75
caso de generar los archivos de información de antena y de coordenadas a-priori a partir
de estos encabezados se obtiene una entrada de información por cada dı́a procesado,
siendo en la mayorı́a de los casos la misma información duplicada.
B.2.
Archivos SiteLog de IGS
Los archivos .log son formularios que contienen la información de una estación, incluyendo la forma de materialización, coordenadas aproximadas, tipo de receptor y antena,
indicando perı́odos de servicio en caso de que halla habido cambios. A partir de estos
formularios se generaron los archivos de información de antenas para el procesamiento
con GAMIT.
1
LPGS Site Information Form
International GPS Service
See Instructions at:
ftp://igscb.jpl.nasa.gov/pub/station/general/sitelog_instr.txt
2
3
4
5
6
7
[...]
8
9
2.
Site Location Information
10
City or Town
: La Plata
State or Province
: Buenos Aires
Country
: Argentina
Tectonic Plate
: SOUTH AMERICAN
Approximate Position (ITRF)
X coordinate (m)
: 2780102.9896
Y coordinate (m)
: -4437418.9149
Z coordinate (m)
: -3629404.5253
Latitude (N is +)
: -345424.28
Longitude (E is +)
: -0575556.28
Elevation (m,ellips.) :
29.9
Additional Information
:
11
12
13
14
15
16
17
18
19
20
21
22
23
24
3.
GNSS Receiver Information
3.1
Receiver Type
Satellite System
Serial Number
Firmware Version
Elevation Cutoff Setting
Date Installed
Date Removed
Temperature Stabiliz.
Additional Information
25
26
27
28
29
30
31
32
33
34
:
:
:
:
:
:
:
:
:
ROGUE SNR-8000
GPS
285
3.2
1995-05-20
1999-09-09T13:00Z
none
76
35
36
[...]
37
38
3.6
39
40
41
42
43
44
45
46
Receiver Type
Satellite System
Serial Number
Firmware Version
Elevation Cutoff Setting
Date Installed
Date Removed
Temperature Stabiliz.
Additional Information
:
:
:
:
:
:
:
:
:
JAVAD TRE_G3TH DELTA
GPS+GLO+GAL
218
3.4.4b0
0
2012-10-04T12:00Z
:
:
:
:
:
:
:
:
:
:
:
:
:
:
JAV_RINGANT_G3T NONE
344
BAM
0.0690
0.0000
0.0000
0 deg
NONE
47
48
4.
GNSS Antenna Information
49
50
[...]
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
4.4
Antenna Type
Serial Number
Antenna Reference Point
Marker->ARP Up Ecc. (m)
Marker->ARP North Ecc(m)
Marker->ARP East Ecc(m)
Alignment from True N
Antenna Radome Type
Radome Serial Number
Antenna Cable Type
Antenna Cable Length
Date Installed
Date Removed
Additional Information
2012-10-04T12:00Z
66
77
B.3.
Archivo .prt de salida de Glred
En los archivos .prt que constituyen el resultado del procesamiento, cada sesión procesada resulta en un bloque de texto como el que sigue para cada estación procesada:
1
2
3
4
5
6
7
8
9
10
Int . SRLP_GPS 2224229.69240 -4617565.96170 -3783897.72410
-0.00573
-0.00697
-0.00152 2011.121
13. SRLP_GPS X coordinate ( m )
2224229.69127
-0.00754
2.88686
14. SRLP_GPS Y coordinate ( m )
-4617565.41926
0.53465
2.13634
15. SRLP_GPS Z coordinate ( m )
-3783897.64461
0.07779
2.48143
Unc . SRLP_GPS 2224229.69127 -4617565.41926 -3783897.64461
-0.00573
-0.00697
-0.00152 2010.001 2.8869 2.1363 2.4814
Apr . SRLP_GPS 2224229.69127 -4617565.41926 -3783897.64461
-0.00573
-0.00697
-0.00152 2010.001 2.8869 2.1363 2.4814
Loc . SRLP_GPS N coordinate ( m )
-4076686.87387
-0.22545
3.08150
Loc . SRLP_GPS E coordinate ( m )
264 21103.7 2774
0.22523
3.08026
Loc . SRLP_GPS U coordinate ( m )
223.40221
-0.43635
0.26791
NE , NU , EU position correlations
-0.0000
0.0173
-0.0180
Las coordenadas finales de la estación están marcadas con la etiqueta “Loc.”, siendo
en nuestro caso sólo utilizada la altura elipsoidal (U).
B.4.
Archivos de series de altura utilizados para el
análisis
Las series de altura procesadas se almacenaron en archivos separados por comas
como el del ejemplo que sigue, siendo luego utilizados por las rutinas programadas en el
lenguaje de programación python a través de la librerı́a de manejo de datos pandas.
1
2
3
4
5
6
7
Tiempo
2010/01/02
2010/01/03
2010/01/03
2010/01/03
2010/01/03
2010/01/03
, Altura , Ajuste, Sigma
22:59,404.57504,0.03781,0.02286
00:59,404.52825,-0.00899,0.01957
02:59,404.52254,-0.01472,0.01945
04:59,404.48066,-0.05663,0.01962
06:59,404.50925,-0.02807,0.02003
08:59,404.54149,0.00423,0.02646
78

Documentos relacionados