meca
- 官方文档
- 简介
绘制震源机制解
语法
gmt meca [ table ] -Jparameters -Rregion -S<format><scale>[+ffont][+jjustify][+odx[/dy]] [ -Bparameters ] [ -C[pen][+ssize] ] [ -Ddepmin/depmax ] [ -Efill] [ -Fmode[args] ] [ -Gfill] [ -L[pen] ] [ -M ] [ -N ] [ -Tnplane[/pen] ] [ -U[stamp] ] [ -V[level] ] [ -Wpen ] [ -X[a|c|f|r][xshift[u]] ] [ -Y[a|c|f|r][xshift[u]] ] [ -Zcpt] [ -dinodata ] [ -eregexp ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -ttransp ] [ -:[i|o] ] [ --PAR=value ]
必须选项
- table
一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。
- -Jprojection (more …)
设置地图投影方式
- -Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)
指定数据范围
- -S<format><scale>[+ffont][+jjustify][+odx[/dy]]
指定输入数据的格式、震源球大小等属性。
format 用于指定输入的震源机制解的格式。
scale 指定了5级地震(地震矩为4.0E23 dynes-cm)的震源球的直径。默认情况下,震源球的直径与震级大小成正比,即实际直径为 size = M / 5 * scale。若使用 -M 选项,则所有震源球大小相同。
每个震源球都可以有一个可选的标签。标签默认位于震源球的上方。
+ffont 设置震源球标签的文本属性
+jjustify 标签相对于震源球的位置 [默认为 BC,即正上方]
+odx[/dy] 标签的额外偏移量
注解
请注意,下面的各个震源机制解格式中,设置新的震源球放置位置 newX 和 newY 必须另外再加上 -A 选项后才可生效。
- -Sascale[+ffont][+jjustify][+odx[/dy]]
Aki and Richards约定的震源机制解格式。输入文件的具体格式为:
X Y depth strike dip rake mag [newX newY] [title]
X 和 Y 为震源经度和纬度
depth 为震源深度,单位为km
strike、dip、rake 为断层的三个基本参数,单位为度
mag 为地震震级
newX 和 newY 震源球在图上的经纬度[可选]。默认震源球会放在 X 和 Y 处,指定新的震源球放置位置 newX 和 newY 以使得震源球与震源位置错开。
title 震源球标签[可选]
- -Scscale[+ffont][+jjustify][+odx[/dy]]
Global CMT约定的震源机制解格式。输入文件的具体格式为:
X Y depth strike1 dip1 rake1 strike2 dip2 rake2 mantissa exponent [newX newY] [title]
X 和 Y 为震源经度和纬度
depth 为震源深度,单位为km
两组 strike、dip、rake 为两个断层面的基本参数
mantissa 和 exponent 是地震标量矩的尾数和指数部分。例如,地震标量矩为9.56e+26 dyne-cm,则 mantissa=9.56,exponent=26
newX 和 newY 震源球在图上的经纬度[可选]。默认震源球会放在 X 和 Y 处,指定新的震源球放置位置 newX 和 newY 以使得震源球与震源位置错开。
title 震源球标签[可选]
- -Sm|d|zscale[+ffont][+jjustify][+odx[/dy]]
地震矩张量。输入数据格式为:
X Y depth mrr mtt mff mrt mrf mtf exp [newX newY] [title]
X 和 Y 为震源经度和纬度
depth 为震源深度,单位为km
mrr 等是地震矩的6个分量,单位是 \(10^{exp}\) dyne-cm
exp 地震矩的指数部分。例如 mrr=2.5,exp=26 ,则真实 mrr = 2.0e26
newX 和 newY 震源球在图上的经纬度[可选]。默认震源球会放在 X 和 Y 处,指定新的震源球放置位置 newX 和 newY 以使得震源球与震源位置错开。
title 震源球标签[可选]
地震矩张量可以分解成各向同性部分(ISO)、双力偶部分(DC)和补偿线性向量偶极部分(CLVD)。
m 表示绘制完整的地震矩张量(ISO+DC+CLVD)
d 表示仅绘制地震矩的双力偶部分(DC)
z 表示仅绘制地震矩的各向异性部分(DC+CLVD)
说明:
6个分量使用的坐标系为USE坐标系,与Global CMT的坐标系一致
Global CMT的矩张量解不包含各向同性部分,因而 -Sm 和 -Sz 的效果相同。
- -Spscale[+ffont][+jjustify][+odx[/dy]]
由两个断层平面的部分数据构成的机制解。输入数据格式为:
X Y depth strike1 dip1 strike2 fault mag [newX newY] [title]
X 和 Y 为震源经度和纬度
depth 为震源深度,单位为km
strike1 和 dip1 平面1的断层参数,strike2 是平面2的断层参数
fault 取-1或+1,表示正断层和逆断层
mag 地震震级
newX 和 newY 震源球在图上的经纬度[可选]。默认震源球会放在 X 和 Y 处,指定新的震源球放置位置 newX 和 newY 以使得震源球与震源位置错开。
title 震源球标签[可选]
- -Sx|y|tscale[+ffont][+jjustify][+odx[/dy]]
指定T、N、P轴的方位和大小。输入数据格式为:
X Y depth Tvalue Tazim Tplunge Nvalue Nazim Nplunge Pvalue Pazim Pplunge exp [newX newY] [title]
X 和 Y 为震源经度和纬度
depth 为震源深度,单位为km
Tvalue 等9个量定义了T、N、P轴的大小和方向
exp 是 Tvalue 等的指数部分
newX 和 newY 震源球在图上的经纬度[可选]。默认震源球会放在 X 和 Y 处,指定新的震源球放置位置 newX 和 newY 以使得震源球与震源位置错开。
title 震源球标签[可选]
地震矩张量可以分解成各向同性部分(ISO)、双力偶部分(DC)和补偿线性向量偶极部分(CLVD)。
x 绘制完整的地震矩张量 (ISO+DC+CLVD)
y 只绘制地震矩的双力偶部分 (DC)
z 只绘制地震局的各向异性部分 (DC+CVLD)
可选选项
- -Bparameters (more …)
设置底图边框和轴属性
- -A[+ppen][+ssize]
在 (newX,newY) 处绘制震源球
默认会在数据输入所指定的 (X,Y) 坐标处绘制震源球。使用 -A 选项,则将震源球绘制在 (newX,newY) 处,在震源位置绘制一个小圆,并将 (X,Y) 和 (newX,newY) 连线。
pen 控制连线的画笔属性,+ssize 指定圆的大小。[默认使用 -W 选项的 pen 属性,size 为0]
- -Ccpt
指定CPT文件,根据数据文件中第三列的值(即地震深度)确定震源球的压缩部分的颜色。
- -Ddepmin/depmax
只绘制震源深度在 depmin 和 depmax 之间的地震。
- -Efill
震源球拉伸部分的填充色[默认为白色]
- -Fmode[args]
设置多个属性,可重复使用多次。
- -Fa[size[/Psymbol[Tsymbol]]]
计算并在震源球上P轴和T轴处绘制符号。 size 是符号大小; Psymbol 和 Tsymbol 符号可以取 c|d|h|i|p|s|t|x,具体含义见 plot -S 选项 [默认值为 6p/cc]
- -Fefill
设置T轴符号的填充色
- -Fgfill
设置P轴符号的填充色
- -Fppen
设置P轴符号的画笔属性
- -Ftpen
设置T轴符号的画笔属性
- -Fo
使用旧版本的 psvelomeca 命令的输入数据格式,即不需要第三列的深度信息
- -Fr[fill]
在震源球标签后加一个方框 [默认填充色为白色]
- -Fz[pen]
覆盖零迹矩张量的画笔属性
- -Gfill
指定压缩部分的填充色[默认值为黑色]
- -L[pen]
设置震源球外部轮廓的线条属性[默认由 -W 选项决定]
- -M
所有震级使用相同的大小。震源球大小由 -S 选项的 scale 参数决定。
- -N
地图区域外的震源球也要绘制,默认不绘制
- -T[nplane][/pen]
绘制断层平面。
nplanes 可以取:
0 绘制两个断层面
1 绘制第一个断层面
2 绘制第二个断层面
pen 为画笔属性。
对于双力偶机制解而言,-T 选项只绘制震源球的圆周和断层平面,不填充颜色;对于非双力偶机制解而言,-T0 在震源球的基础上覆盖上透明的断层平面。
- -U[label][+c][+jjust][+odx/dy] (more …)
在图上绘制GMT时间戳logo
- -V[level] (more …)
设置 verbose 等级 [w]
- -Wpen
同时设置所有线条以及符号轮廓的画笔属性以及标题颜色。
该选项设置的属性可以被 -C、-L、-T、-Fp、 -Ft或 -Fz 指定的属性替代。
-X[a|c|f|r][xshift[u]]
- -Y[a|c|f|r][yshift[u]] (more …)
移动绘图原点
- -dinodata (more …)
将输入数据中值为 nodata 的列替换为 NaN
- -e[~]“pattern” | -e[~]/regexp/[i] (more …)
筛选或剔除匹配指定模式的数据记录
- -h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle] (more …)
跳过或生成指定数目的头段记录
- -icols[+l][+sscale][+ooffset][,…][,t[word]] (more …)
设置输入数据列及简单变换(0表示第一列,t 表示文本列)
- -p[x|y|z]azim[/elev[/zlevel]][+wlon0/lat0[/z0]][+vx0/y0] (more …)
设置3D透视视角
- -t[transp] (more …)
设置图层透明度(百分比)。取值范围为0(不透明)到100(全透明)
- -:[i|o] (more …)
交换输入或输出中的第一和第二列
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 gmt.conf
示例
绘制了两个震源球,位置在其震中处。震源球的大小随震级变化:5 级地震的震源球大小为 1 厘米:
gmt meca -JQ104/15c -R102.5/105.5/30.5/32.5 -Ba -Sa1c -png,pdf beachball_1 << EOF
# 经度 纬度 深度(km) strike dip rake 震级 newX newY ID
104.33 31.91 39.8 32 64 85 7 0 0 A
104.11 31.52 27.1 22 53 57 6 0 0 B
EOF
绘制了两个震源球,位置在其震中处。震源球的大小固定:
gmt meca -JQ104/15c -R102.5/105.5/30.5/32.5 -Ba -Sa1c -M -png,pdf beachball_2 << EOF
# 经度 纬度 深度(km) strike dip rake 震级 newX newY ID
104.33 31.91 39.8 32 64 85 7 0 0 A
104.11 31.52 27.1 22 53 57 6 0 0 B
EOF
震源球大小随震级变化,颜色随深度变化:
#!/usr/bin/env bash
gmt begin beachball_3 png,pdf
gmt basemap -JQ104/15c -R102.5/105.5/30.5/32.5 -Ba -BWSen
gmt coast -Da -Ia/0.05,black
gmt makecpt -T0/100/20
gmt meca -A+s0.2c -Sa1.3c -C << EOF
# 经度 纬度 深度(km) strike dip rake 震级 newX newY ID
104.33 31.91 39.8 32 64 85 7.0 0 0 A
104.11 31.52 27.1 22 53 57 6.0 0 0 B
103.67 31.13 6.4 86 32 -65 8.0 0 0 C
103.90 31.34 43.6 194 84 179 4.9 104.18 30.84 D
103.72 31.44 67.3 73 84 -162 4.9 103.12 31.64 E
104.12 31.78 12.7 186 68 107 4.7 103.83 32.26 F
104.23 31.61 62.0 86 63 -51 4.7 104.96 31.69 G
EOF
gmt colorbar -DjBL+w5c/0.5c+ml+o0.8c/0.4c -Bx+lDepth -By+lkm
gmt end show