Existen muchos programas computacionales para el tratamiento de datos
temporales en geofísica. En este curso de Análisis de Datos Sismológicos,
esperemos introducir algunos de ellos, basados sobre comandos en un
terminal y también con un interfase gráfica.
El programa SAC es una plataforma desarrollado para el manejo de series de tiempo, especialmente para el análisis y representación gráfica de eventos sísmicos. El desarrollo y mantención de SAC es hecho por un equipo del Laboratorio Nacional Lawrence Livermore (California) trabajando en cooperación con IRIS.
En la página web se SAC, hay un enlace para bajar el software. Hay que llenar unos detalles para obtener el
programa: el tipo de plataforma computacional, y además cosas como su
nombre y instituto (el código postal de la UdeC es 403000).
La respuesta de esta solicitud va a estar un email de IRIS que contiene el programa adjunto en un archivo llamado algo como sac-XXX.XX-linux_x86_64.tar.gz. Hay que mover el archivo tar dentro del directorio donde quiere instalar el programa y extraerlo:
tar -xvzf sac-XXX.XX-linux_x86_64.tar.gz
Ahora existe un subdirectorio sac que contiene el programa. Las buenas noticias
es que el programa ya esta compilado para su sistema y solamente hay que
definir dos variables (SACAUX y SACDIR) y modificar el variable PATH para que
se puede correr SAC en su sistema. SACAUX debe ser la ubicación del
directorio que contiene las herramientas auxiliares para SAC, SACDIR debe ser
la ubicación del directorio sac, y el PATH debe incluir los ejecutables de
SAC que son contenidos en el subdirectorio sac/bin.
Para hacer la definición permanente de estas variables, sugiero que modifique su archivo .bashrc. Por ejemplo, estas son las líneas asociadas con SAC en mi .bashrc:
export SACAUX=/home/matt/bin/SAC101/sac/aux export SACDIR=/home/matt/bin/SAC101/sac/ export PATH=/home/matt/bin/SAC101/sac/bin:$PATH
Para correr el programa SAC, es simplemente necesario teclear "sac" en el
terminal de su computadora. Si no se entiende bien esta parte sugiero revisar el curso de linux
que hacemos, o googlear ".bashrc".
¿Por qué no existe un enlace para bajar el programa de SAC automáticamente en la página web?
Con el programa SAC es posible generar funciones sintéticas usando el comando "funcgen". Empecemos con eso, pero al final de esta clase pueden ver datos de un terremoto. El uso de este comando es:
SAC> funcgen <tipo> delta <d> npts <n> begin <b>El tipo de función puede ser impulse, step, boxcar entre otros; delta es la separación en segundos entre los puntos de la serie del tiempo, npts es el número de puntos en total en la serie de tiempo, y begin es el tiempo cuando empiece la serie de tiempo.
Por ejemplo, para una señal de tipo escalón, con 1000 puntos en el serie de tiempo separados por 0.01 segundos (entonces una serie de tiempo de 10 segundos en total), usamos:
SAC> funcgen step delta 0.01 npts 1000 begin 0
Para hacer un gráfico en SAC, se usa el comando "plot". Se puede teclear
"p" en el lugar de "plot" si quieren, siempre los comandos en SAC puede ser
acortados.
Para ver la serie de tiempo en un gráfico y interactuar con él, se puede usar el comando "plotpk" o "ppk". En esta ventana, se puede elegir la llegada de fases sísmicas (mas adelante en el curso) y hacer zoom en la serie de tiempo:
Use plotpk para revisar que la serie de tiempo generada en la
sección anterior realmente tiene una tasa de muestreo de 0.01 segundos (y
entonces una frecuencia de muestreo de 100 Hz).
Para hacer un gráfico de una señal para poder ponerlo en un documento, podemos usar el comando "saveimg" para generar un .ps o un .pdf de lo que se ve en la ventana gráfica. Por ejemplo:
SAC> funcgen step delta 0.01 npts 1000 begin 0 SAC> plot SAC> saveimg grafico_escalon.ps SAC> saveimg grafico_escalon.pdf SAC> lsNoten que se puede usar algunos comandos de bash en SAC, como ls. Los archivos .ps se pueden fácilmente insertarles en documentos de LATEX y presentaciones de Beamer. Si requieren los gráficos en otro formato o con un mejor bounding box, sugiero que usan ps2eps, ImageMagick o GIMP.
Después de generar una función en SAC con "funcgen", se puede usar el comando con "write" (o simplemente "w") para guardarlo como un archivo:
SAC> funcgen step delta 0.01 npts 1000 begin 0 SAC> write sac_escalon.sac SAC> quitAhora que el archivo .sac esta guardado, podemos leerlo con "read" ("r"):
SAC> read sac_escalon.sac SAC> plot SAC> quit
Cada archivo de SAC tiene un encabezado (header), que muestra algunos detalles de la serie de tiempo y información adicional asociada con el sismograma. Para las funciones generadas en la última sección, leerlos y investiga los contenidos de sus encabezados usando el comando "listhdr" ("lh"). ¿Qué significan los valores asociados con las siguientes variables?
NPTS, B, E, DELTA, DEPMIN, DEPMAX, DEPMEN
Si dos archivos tienen las mismas variables - DELTA, BEGIN y NPTS - es posible combinarles usando los siguientes comandos:
SAC> funcgen boxcar npts 1000 delta 0.1 begin 0 SAC> plot SAC> write boxcar.sac SAC> funcgen sine npts 1000 delta 0.1 begin 0 SAC> plot SAC> write sine.sacAhora podemos multiplicarlos juntos:
SAC> read boxcar.sac SAC> mulf sine.sac SAC> plotTambién existen las opciones "add", "sub", "div", "mul" que son usados para modificar la serie de tiempo por un valor constante, por ejemplo (noten como cambia la escala vertical):
SAC> funcgen random npts 1000 delta 0.1 begin 0 SAC> plot SAC> div 10 SAC> plot SAC> write random.sac
Combine sine.sac y random.sac para generar una función seno mezclado con ruido aleatorio.
Se puede leer archivos de texto usando el comando "readtable". Por ejemplo, el archivo senal.xy contiene pares de números y podemos leer la información en SAC:
SAC> readtable content p senal.xy SAC> plot
Podemos escribir un archivo .sac en el formato de texto alphanumérico:
SAC> read sine.sac SAC> write alpha sine.txtEl archivo puede después ser leído con un otro programa como Octave.
También, existe el programa sac2xy que se encuentra dentro de SACTOOLS. Se puede bajar los archivos de SACTOOLS o, alternativamente entrego el archivo sac2xy.tar que contiene solo sac2xy. Es necesario modificar el archivo "makefile", específicamente los variables F90 y BINDIR para el compilador de fortran que usas (sugiero gfortran) y su directorio bin. Después se puede compilar el codigo con el comando "make", y el ejecutable sac2xy debe aparecer en su directorio bin. El programa se corre con:
sac2xy sine.sac sine.xyAhora la serie de tiempo es guardado en un formato que se puede usar con cualquier otro programa computacional.
Bajen CCSP.HNZ.._a.sac, CCSP.HNN.._a.sac y CCSP.HNE.._a.sac. Estos son el registro del terremoto de Maule, 2010 () en el acelerómetro instalado en Colegio Concepción, San Pedro. Los datos muestran la aceleración en cm/s/s de los tres componentes del sensor: vertical, norte-sur y este-oeste.
SAC> read CCSP.HNZ.._a.sac SAC> plotpk SAC> qdp off SAC> plotpk SAC> qdp on SAC> plotpk
This document was generated using the LaTeX2HTML translator Version 2008 (1.71)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 -white -no_navigation sac_01_intro.tex
The translation was initiated by matt on 2017-08-28