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.
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:
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.
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:
matt 2014-03-19