Está en la página 1de 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/283720533

Una breve introducción al paquete ZMAP y al lenguaje MATLAB.

Technical Report · December 2004


DOI: 10.13140/RG.2.1.3505.0969

CITATIONS READS
0 780

1 author:

F. Ramón Zúñiga
Universidad Nacional Autónoma de México
146 PUBLICATIONS 2,384 CITATIONS

SEE PROFILE

All content following this page was uploaded by F. Ramón Zúñiga on 12 November 2015.

The user has requested enhancement of the downloaded file.


ZMAP Y MATLAB http://www.geociencias.unam.mx/~bole/eboletin/introZMAP.html

Una breve introducción al paquete ZMAP y al lenguaje


MATLAB
R. Zúñiga, Centro de Geociencias, UNAM, Campus Juriquilla.

1. Introducción.

ZMAP es un conjunto de subrutinas para análisis sistemático de datos de sismicidad y catálogos sísmicos. Sin embargo,
debido a las capacidades de las subrutinas, éstas pueden ser usadas en otras aplicaciones, tan diversas como la astucia del
usuario.

El propósito de esta nota es dar un panorama global de ZMAP y al mismo tiempo introducir de manera breve el lenguaje de
computación matemática, análisis y desplegado gráfico MATLAB® el cual es muy versátil, con amplias posibilidades
computacionales y ha tenido gran aceptación en el medio académico tanto para docencia como para análisis.

ZMAP fue implementado inicialmente por Stefan Wiemer quien es tambien el originador de uno de los objetivos primarios que
conforma la base del programa, es decir, el mapeo de la sismicidad y parámetros asociados, relacionándolos a los nodos de
una malla. Posteriormente Ramón Zúñiga implementó algunas rutinas adicionales y colaboró en la optimización de las
existentes, así como en el desarrollo de la estructura actual. De ahí salió la primera versión que se tuvo el valor de divulgar
internacionalmente y que fue respaldada con una manual (Wiemer y Zuniga, 1994). Actualmente, el paquete es de uso
cotidiano en varios observatorios sismológicos mundiales..

El objetivo inicial del proyecto fue encontrar medios para mejorar la definición y resolución de anomalías en la tasa de
sismicidad de una región dada, así como poner algunas herramientas de análisis disponibles de forma amigable. Con el paso
del tiempo el paquete fue creciendo e incorporando nuevas herramientas y posibilidades de análisis. Otros colegas
colaboraron con nuevas rutinas que lo hicieron más robusto.

2. La estructura de ZMAP

La base de datos en la que opera ZMAP es un catálogo de sismicidad, es decir, un compendio básico de parámetros de la
fuente sísmica registrados para cada uno de los sismos con los que cuenta el catálogo. Los parámetros que se utilizan son:

Tiempo de ocurrencia (año, mes día, hora, minuto)


Localización (Latitud y Longitud)
Magnitud (cualquiera que sea la escala)
Profundidad (km)

El orden en que el programa los lee, si se sigue un formato* ASCII, es:

Lon Lat Año Mes Día Mag Prof Hora (opcional) Minuto (opcional)

*Otros formatos comunes en sismología también pueden ser utilizados

Otras bases de datos relacionadas con mapas (linderos, contornos, batimetría, etc.) o la localización de estructuras como
fallas, volcanes, etc., pueden ser definidos y cargados de varias formas.

Específicamente para los análisis de sismicidad, con ZMAP es posible efectuar las siguientes operaciones:

Resolver variaciones en la tasa de sismicidad (Sismos/unidad de tiempo) como una función cuasi-contínua de tiempo.
Llevar a cabo análisis de detalle en regiones seleccionadas interactivamente o por medio de datos de identificación
(coordenadas) pregrabados.
Mostrar resultados en diversos tipos de desplegados como mapas, perfiles, gráficas, etc.
Utilizar herramientas estadísticas de uso general en la base de datos, o específicas para análisis de sismicidad (valores
b y P) de forma accesible y simple.
Capacidad de llevar a cabo análisis de mayor complejidad por medio de interfaces con orientación hacia el usuario.
Facilidad de adaptación de otras herramientas para usos particulares.

ZMAP está escrito en la plataforma MATLAB® lo que ha permitido la incorporación de rutinas de aplicaciones gráficas y
numéricas, adicionalmente a las escritas por los autores, provenientes tanto del sistema MATLAB disponible a través de The

1 of 6 11/12/15, 10:11 AM
ZMAP Y MATLAB http://www.geociencias.unam.mx/~bole/eboletin/introZMAP.html

MathWorks Inc., así como de usuarios de otros sitios que han aportado rutinas a la biblioteca de libre acceso en la misma
dirección internet.

Un ejemplo del tipo de lenguaje y forma de programación de MATLAB, núcleo de ZMAP, se puede ver en las siguientes líneas
de código que sirven para seleccionar y graficar sismos dentro de ciertos límites de profundidad:

dep1 = 0.3*max(a(:,7));
dep2 = 0.6*max(a(:,7));
dep3 = max(a(:,7));

Estas constantes indican el intervalo en profundidades, definidos con base en la dimensión máxima de las profundidades en el catálogo, se
usa 1/3, 2/3 y la dimensión máxima como parámetros de tamaño para graficar valores en tres grupos de profundidad.

deplo1 =plot(a(a(:,7)<=dep1,1),a(a(:,7)<=dep1,2),'.b');
set(deplo1,'MarkerSize',ms6,'LineStyle',ty1,'era','normal')

Esta pareja de líneas de comandos, indica que queremos graficar sólo los valores de la matriz (es decir del catálogo de sismicidad) que
corresponden a la columna 7 (la profundidad de los eventos), p. ej. a(:,7), pero que cumplen con la condición de que su valor es menor al
valor de la constante dep1. También se especifica en la misma línea que queremos usar un "punto" como símbolo y de color azul (.b). La
segunda línea sólo define otros atributos para los marcadores de los símbolos.

deplo2 =plot(a(a(:,7)<=dep2&a(:,7)>dep1,1),a(a(:,7)<=dep2&a(:,7)>dep1,2),'.g');
set(deplo2,'MarkerSize',ms6,'LineStyle',ty2,'era','normal');

En esta pareja de líneas se procede a seleccionar y graficar los eventos que caen entre las profundidades dep1 y dep2, es decir, se quieren
graficar sólo los valores de la matriz en la columna 7 que cumplen con ser menores o iguales a dep2 y mayores a dep1. También se indica
que los símbolos son puntos de color verde (.g).

deplo3 =plot(a(a(:,7)<=dep3&a(:,7)>dep2,1),a(a(:,7)<=dep3&a(:,7)>dep2,2),'.r');
set(deplo3,'MarkerSize',ms6,'LineStyle',ty3,'era','normal')

Por último está pareja de líneas sirve para seleccionar y graficar los eventos que caen entre las profundidades dep2 y dep3 con puntos de
color rojo.

En el ejemplo anterior se puede apreciar algunas de las ventajas del lenguaje, como es la estructura que permite varias
operaciones en un sólo paso, en este caso la selección (a través de un operador lógico) y la graficación. También se aprecia
que no fue necesario la introducción de estructuras iterativas tales como "if", o "for" para identificar los valores de la matriz
que cumplen con una condición. Esto caracteriza a MATLAB como un lenguaje que se podría considerar como de
programación en cuasi-paralelo. Otra ventaja es que no es necesario compilar las rutinas y podemos hacer uso de las líneas
de instrucción directamente en la ventana de comandos, o bien por medio de un archivo .m que no es otra cosa sino una serie
de instrucciones ligadas, editadas por medio del Editor-Debugger, las que pueden conformar una subrutina.

MATLAB también permite crear ventanas de desplegado o de


entrada y salida de datos, de manera que los programas sean de
tipo modular, así como menús y botones para la interacción con el
usuario. En nuestro caso, ZMAP ofrece un gran número de
interfases del tipo de ventanas y menús que permiten una
interacción amigable con el usuario.

2 of 6 11/12/15, 10:11 AM
ZMAP Y MATLAB http://www.geociencias.unam.mx/~bole/eboletin/introZMAP.html

A continuación trataremos de dar una panorama general de las posibilidades de uso de algunas de las interfaces y rutinas de
ZMAP por medio de ejemplos gráficos.

3. Acceso, inicio y secuencia del programa.

Primeramente se debe tener activa la sesión de Matlab. Después se localiza el directorio residente (se puede tener esto en la
descripción de la trayectoria o "path" de Matlab). Para correrlo sólo hace falta teclear "zmap" en la ventana de comandos de
Matlab. Esto genera las ventana iniciales con las que se puede cargar un catálogo existente o crear una nueva base de datos.

Una vez que se han leído los datos, el programa corre una serie de rutinas para verificar el estado de la serie y los pone a
disposición del resto de las rutinas. Uno de las primeras rutinas es la conversión de los tiempos de calendario a tiempos
decimales (subrutina decyear).
Otras rutinas básicas disponibles en el menú, son las que muestran histogramas y series de tiempo que pueden ser
accesadas desde varias ventanas (por ejemplo en la ventana del mapa con Ztools-histograms).

En otro ejemplo, si se invoca la opción Ztools-Analyse time series, desde la ventana del mapa de sismicidad, se abre una
nueva ventana que muestra el comportamiento acumulado del número de sismos contra tiempo, incorporando una nueva

3 of 6 11/12/15, 10:11 AM
ZMAP Y MATLAB http://www.geociencias.unam.mx/~bole/eboletin/introZMAP.html

serie de menús principalmente para análisis estadístico.

La siguiente figura ejemplifica el proceso.

En este caso se seleccionó la opción de "compare two rates" con la cual se hace una comparación de la tasa de sismicidad
(no. de sismos-tiempo) entre dos intervalos de tiempo, de dos maneras: a través de la distribución Frecuencia-Magnitud,
mejor conocida como Relación Gutenberg-Richter, y mediante el histograma de cada intervalo seleccionado. También se
pueden hacer simulaciones para obtener posibles variaciones en la tasa de sismicidad responsables de las diferencias
observadas.

La secuencia anterior, ventana activa -menu-ventana de desplegado de resultados, se


puede repetir en casi todas las ventanas activas en cualquier momento, ya que la mayor
parte de ella incluye nuevos menús y acceso a otras rutinas. No es necesario cerrar una
ventana para seguir con el proceso, y se puede repetir el procedimiento sin problema de
confusión. Algunas ventanas se auto-inician cuando se introducen nuevos parámetros o
valores, en los campos correspondientes, para esto generalmente se dispone de un botón
etiquetado como "Go".

4. Cartografía y mapeo de parámetros.

El manejo de datos de elevación y cartografía digitales se hace por medio de la opción Ztools-Plot Topo, en donde se han

4 of 6 11/12/15, 10:11 AM
ZMAP Y MATLAB http://www.geociencias.unam.mx/~bole/eboletin/introZMAP.html

incorporado varias rutinas para desplegado, cartografía y manejo de datos de elevación algunas de las cuales provienen del
"Mapping Toolbox" de Matlab que es una opción adicional (el sistema básico no lo incluye). Los datos pueden ser
provenientes de diferentes fuentes y tener diferentes formatos. Con un tratamiento adecuado se pueden obtener figuras como
las que se muestran a continuación.

Posteriormente se pueden usar rutinas del Mapping Toolbox como meshgrat y meshm, para generar imágenes como la
siguiente, en la cual se ha empleado la proyección de una matriz de resultados sobre la topografía, como una "´sábana" que
se tiende.

Cabe aclarar que no es necesario contar con el Mapping Toolbox para correr la mayor parte de las rutinas de desplegado de
ZMAP. Las rutinas que se han empleado en las figuras anteriores, así como todas las de ZMAP, pueden servir para otro tipo
de datos si se conocen las variables y se cambian los parámetros correspondientes. Por ejemplo, si se quiere evaluar
situaciones tales como el comportamiento en tiempo o en espacio de un parámetro cualquiera se pueden tomar las líneas de
código apropiadas y adaptarlas a los datos personales. Para poder modificar y emplear las rutinas sólo hace falta identificarlas
y editarlas. En general, se ha seguido la política de identificar la rutina que sirve para obtener el resultado deseado en la
ventana de comandos de Matlab. La mayor parte de dichas rutinas se encuentra en el directorio zmap/src.

5. Consideraciones finales.

El paquete ZMAP está disponible para su descarga sin costo alguno. Para una más completa descripción de cada una de las
rutinas se puede ver el Tutorial de la Versión 3 (no tan nuevo pero aún útil) escrito por Stefan Wiemer. También se puede
consultar el CookBook (para la Version 6, 2001) escrito por Stefan Wiemer, Max Wyss y Ramón Zúñiga. El lenguaje de

5 of 6 11/12/15, 10:11 AM
ZMAP Y MATLAB http://www.geociencias.unam.mx/~bole/eboletin/introZMAP.html

cómputo y análisis MATLAB desafortunadamente sólo está disponible bajo licencia con costo, la cual puede ser adquirida con
un distribuidor o directamente con The MathWorks.

Sigue estas ligas si quieres... BAJAR LA ÚLTIMA VERSIÓN DE ZMAP! O LEER LA


DOCUMENTACIÓN

Referencias.

Wiemer, S. y F. R. Zúñiga, ZMAP, EOS Transactions, 75, American Geophysical Union, 1994.
Wiemer, S.. A software package to analyse seismicity: ZMAP. Seismol. Res. Lett., 72, 3, 373-382, 2001

Lista de Publicaciones en las que se ha usado ZMAP

6 of 6 11/12/15, 10:11 AM
View publication stats

También podría gustarte