Subsections

Simbolos

Símbolos desde un archivo de texto : volcanes

El script usado en esta clase es ejemplo_mapa5.sh que es una modificación del script anterior.
Podemos usar psxy para graficar símbolos desde un archivo de datos, como southern_Chile_and_Argentina.txt. De la misma manera que antes, el comando psxy en GMT toma coordenadas de longitud, latitud y grafica un símbolo en esta posición, también podemos mandar varias coordenadas al comando al mismo tiempo con un pipe:
more southern_Chile_and_Argentina.txt  | awk '{print $6, $5}' | grep -v lon \
|psxy -J${projection} -R${bounds} $verbose} -St0.5c -G255/0/0 -W2 -O -K >> ${psfile}

Aquí tomamos el archivo de datos, aislamos la longitud y latitud de los volcanes usando una combinación de awk y grep, y los graficamos con triángulos de 0.5 cm -St0.5c, color rojo -G255/0/0, con un borde negro de dos puntos -W2. Esta línea de código va dentro de un script, como antes.

Símbolos con diferentes tamaños y colores

Aquí trabajamos con el archivo de datos global_seismicity_feb27-apr19_2010.txt, de la sismicidad global de las semanas siguientes después del terremoto en Chile 2010. Podemos aislar las columnas de longitud, latitud, profundidad y magnitud, si existe una magnitud, usando el siguiente comando :

more global_seismicity_feb27-apr19_2010.txt | sed 's/,//g' \
|awk '{if ( $10 > 0 ) print $5, $4, $6, $10}'

Si esto es combinado con psxy, la tercera columna da el color del símbolo, y la cuarta su tamaño. Por eso, necesitamos una paleta de colores para los terremotos a diferentes profundidades. Podemos generar una, o podemos modificar una. Por ejemplo, empezamos con GMT_copper.cpt, que da diferentes tonos de cobre entre valores de cero y uno (revisa el .cpt), y generamos una nueva paleta con el comando:

makecpt -C/home/matt/GMT/GMT4.5.2/share/cpt/GMT_copper.cpt -T0/100/10 -I > depths.cpt

La -T especifica la escala del .cpt (0 a 100) y el ancho de sus bandas (10). El -I especifica que tomamos los colores de GMT_copper.cpt al revés. Pruebe el comando sin el -I para ver la diferencia. Esta paleta de colores no es perfecta, pero se nota que la paleta original (GMT_copper.cpt) es muy simple, y es fácil generar otras paletas entre 0 y 1 con diferentes colores, y después modificar el rango con la opción -T en makecpt.
Ahora estamos listos para graficar terremotos con:

more global_seismicity_feb27-apr19_2010.txt | sed 's/,//g' | awk '{if ( $10 > 0 ) \
print $5, $4, $6, ($10*$10*$10/500)}' | sort -k3 -r | psxy -J${projection} \
-R${bounds} ${verbose} -Sc -Cdepths.cpt -W2 -O -K >> ${psfile}

Nota:

echo "-69.5 -34.5 35 1.024" | psxy -J${projection} -R${bounds} ${verbose} /
-Sc -Cdepths.cpt -N -W2 -O -K >> ${psfile}
echo "-69.2 -34.5 12 0 1 LM 8.0" | pstext -J${projection} -R${bounds} ${verbose} /
-G0 -N -W255 -O -K >> ${psfile}
echo "-69.5 -34.8 35 .432" | psxy -J${projection} -R${bounds} ${verbose} -Sc /
-Cdepths.cpt -N -W2 -O -K >> ${psfile}
echo "-69.2 -34.8 12 0 1 LM 6.0" | pstext -J${projection} -R${bounds} ${verbose} /
-G0 -N -W255 -O -K >> ${psfile}
echo "-69.5 -35.1 35 .128" | psxy -J${projection} -R${bounds} ${verbose} -Sc /
-Cdepths.cpt -N -W2 -O -K >> ${psfile}
echo "-69.2 -35.1 12 0 1 LM 4.0" | pstext -J${projection} -R${bounds} ${verbose} /
-G0 -N -W255 -O -K >> ${psfile}

Donde se grafican:

Image ejemplo_mapa5
Símbolos de un cierto tamaño al lado del mapa, y la magnitud que coresponde. El -N en el comando permite graficar cosas afuera del borde del mapa.
En conclusión, podemos tomar un set de datos y graficarlo con símbolos cuyos tamaños y colores dependen de los datos. En este caso los datos son tomados de:
http://www.iris.edu/SeismiQuery/sq-events.htm
Ahora, tomando los resultados de la sismicidad global durante esta época, usando el catálogo "PREFERRED", va a tener las profundidades y ubicaciones de los sismos con mayor precisión.
Este ejemplo usa sismicidad, pero se puede extender a cualquier set de datos que tengan latitud, longitud y ciertos valores que se necesitan graficar como símbolos.

Mecanismos focales

El comando psmeca es para graficar mecanismos focales de terremotos. Por ejemplo, podemos buscar el mecanismo focal del terremoto del 2010-Chile en el Harvard CMT catalog, y elegir que su formato este en GMT psmeca input. Para graficarlo, usamos el comando:

echo "-73.15 -35.98 23 1.04 -0.04 -1.00 0.30 -1.52 -0.12 29 X Y 201002270634A" \
|psmeca ${portrait} -J${projection} -R${bounds} ${verbose} -L -Sm1.0c -G255/0/0 \
-O -K >> ${psfile}

Note que si queremos graficar varios mecanismos focales, podemos guardar ellos en un archivo .txt y correr el comando:

more mecanismos.txt | psmeca ${portrait} -J${projection} -R${bounds} \
${verbose} -L -Sm1.0c -G255/0/0 -O -K >> ${psfile}

Esta sección es especifica a sismología, no a geofísica en general, así que voy a dejarlo hasta aquí. Los sismólogos entre ustedes pueden leer mas sobre los mecanismos focales y el manual para psmeca para más conocimiento.

Indent maps

Siempre, cuando se grafica una región, es necesario poner un mapa al lado con esta región marcada en un mapa general del país o continente. Para esto, podemos graficar la costa de una región diferente en la esquina de nuestro mapa:

bounds2=-90/-50/-50/-25
pscoast -JM3c -W1p -R${bounds2} -Y11.25 -X0.25 -Dh -G128 -S255 \
-O -K >> ${psfile}

Note que el -Y y -X son elegidos para ubicar este mapa pequeño en la esquina.
Para marcar el borde de la región original, podemos usar psxy de nuevo :

echo ${bounds} | sed 's/\// /g' | awk '{printf"%s %s\n %s %s\n %s \
%s\n %s %s\n %s %s\n", $1, $3, $2, $3, $2, $4, $1, $4, $1, $3}' \
| psxy -R${bounds2} -JM3c -A -W0.5p -O >> ${psfile}

Si no es obvio por que se usa un printf, pruebe los siguientes tres comandos en un terminal:

bounds="-75.5/-70/-38.5/-34"
echo ${bounds} | sed 's/\// /g'
echo ${bounds} | sed 's/\// /g' \
| awk '{printf"%s %s\n %s %s\n %s %s\n %s %s\n %s %s\n", \
$1, $3, $2, $3, $2, $4, $1, $4, $1, $3}'

Acá esta la imagen final usando el script generado en esta sección, llamado ejemplo_mapa5.sh. Espero que ahora ustedes puedan tomar un set de datos que consiste en latitud, longitud y unos valores, y representarlo gráficamente:

Image ejemplo_mapa5

matt 2014-03-19