pmodeler
- 贡献者:
- 最近更新日期:
2025-10-19
- 官方文档:
- 简介:
评估特定位置的板块运动模型
pmodeler 读取包含 lon, lat,以及可选 age 三列的表格文件, 并结合一个板块运动模型计算多种模型预测结果。 用户可以选择提供一个多段格式的裁剪多边形文件; 在这种情况下,仅使用多边形内部的点进行模型预测, 多边形外的点将被跳过。结果输出到标准输出。
语法
gmt pmodeler table -Erot_file|ID1-ID2|lon/lat/angle[+i] -Sflags [ -Fpolygonfile ] [ -Tage ] [ -V[level] ] [ -bbinary ] [ -dnodata[+ccol] ] [ -eregexp ] [ -fflags ] [ -ggaps ] [ -hheaders ] [ -iflags ] [ -oflags ] [ -qflags ] [ -sflags ] [ -:[i|o] ] [ --PAR=value ]
注意:选项标志和相关参数之间不允许有任何空格。
必选选项
- table
包含地理坐标 (lon, lat),以及可选的地壳年龄(Myr)的一个或多个表格文件名。 如果未指定文件,则从标准输入读取数据。
- -Erot_file|ID1-ID2|lon/lat/angle[+i]
可通过以下三种方式之一指定旋转参数:
提供一个包含旋转参数的文件。该文件必须为每个旋转包含一条记录, 每条记录的格式如下:
lon lat tstart [tstop] angle [ khat a b c d e f g df ]
其中 tstart 和 tstop 以百万年(Myr)为单位,lon lat angle 均以度为单位。 tstart 和 tstop 分别为阶段的起始与结束年龄。 若记录中未提供 tstop,则表示为一次总重建旋转,此时 tstop 默认设为 0, 且文件中其他记录也不应指定 tstop。 若旋转的协方差矩阵 C 可用,则必须按照括号中列出的九个可选项提供: 此处 C = (g/khat)*[ a b d; b c e; d e f ], 即 C 由三个行向量组成。 若拟合旋转的自由度 (df) 为 0 或未给出,则默认设置为 10000。 文件中空行以及以 # 开头的记录将被忽略。
提供由两个板块 ID 组成的文件名(以连字符连接,例如 PAC-MBL), 程序将从 GPlates 旋转数据库中提取相应的旋转参数。 若未找到对应旋转,将返回错误。
直接指定 lon/lat/angle,即旋转极的经度、纬度与旋转角度(均以度为单位), 用于单一的总重建旋转。
无论采用哪种方式,都可以在参数后附加 +i, 表示希望对旋转进行反转(invert rotation)。
- -Sflags
指定要计算的模型预测类型,可附加一个或多个标识符: - a:板块运动方位角(azimuth) - d:当前位置与洋中脊生成点的球面距离(单位:km) - s:板块运动模型阶段 ID(1 表示最年轻阶段) - v:板块运动速率(mm/yr) - w:板块旋转速率(度/Myr) - x:相对于生成点的经度变化量 - y:相对于生成点的纬度变化量 - X:地壳生成时的经度 - Y:地壳生成时的纬度
如果未指定任何参数,则默认计算全部 [adsvwxyXY]。
可选选项
- -Fpolygonfile
指定一个多段闭合多边形文件,用于定义模型计算区域。 多边形外的点将被忽略。 [默认使用所有数据点。]
- -Tage
使用固定年龄进行模型计算(即忽略输入表格中的年龄值)。 此选项可用于生成某一时刻的模型快照。 若输入表中未包含年龄列,则必须使用此选项。
- -bi[ncols][type][w][+l|b] (more …)
设置二进制输入数据的格式
- -d[i|o]nodata (more …)
将输入数据中等于 nodata 的记录替换为 NaN,或将输出数据中值为 NaN 的记录替换为 nodata
- -e[~]“pattern” | -e[~]/regexp/[i] (more …)
筛选或剔除匹配指定模式的数据记录
- -f[i|o]colinfo (more …)
指定输入或输出列的数据类型
- -g[a]x|y|d|X|Y|D|[col]zgap[+n|p] (more …)
确定数据或线段的间断
- -h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle] (more …)
跳过或生成指定数目的头段记录
- -icols[+l][+sscale][+ooffset][,…][,t[word]] (more …)
设置输入数据列及简单变换(0表示第一列,t 表示文本列)
- -ocols[,…][,t[word]] (more …)
设置输出数据列(0表示第一列,t 表示文本列)
- -q[i|o][~]rows[+ccol][+a|f|s] (more …)
筛选输入或输出的行或数据范围
- -s[cols][+a|+r] (more …)
设置 NaN 记录的处理方式
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数
大地坐标与地心坐标
所有球面旋转均作用于地心坐标。 这意味着输入的数据点和网格被视为采用大地坐标表示, 在进行旋转之前,必须先将其转换为地心坐标。 旋转操作完成后,最终重建得到的点将再转换回大地坐标。 如果将椭球设置参数 PROJ_ELLIPSOID 更改为 Sphere, 则可跳过此默认的转换过程。
点位于多边形内/外
为了确定点在多边形内,外或在边界上,GMT 会平衡数据类型以及多边形形状等因素来 确定算法。对于笛卡尔坐标,GMT 使用 non-zero winding 算法,该算法非常快。对于 地理坐标,如果多边形不包括两极点且多边形的经度范围不超过 360 度,同样使用该 算法。否则,GMT 会采用 full spherical ray-shooting 方法。
示例
我们将使用一个包含太平洋地壳位置和年龄的表格 (pac_age.txt)、一个板块运动 模型 (Pac_APM.txt) 以及一个包含当前太平洋板块轮廓的多边形 (pac_clip_path.txt)。 要评估太平洋板块当前的板块运动方位角,请尝试:
gmt pmodeler pac_age.txt -EPac_APM.txt -V -Fpac_clip_path.txt \
-Sa -T0 > pac_dir_0.txt
要确定自地壳形成以来整个太平洋板块的纬度变化,请尝试:
gmt pmodeler pac_age.txt -EPac_APM.txt -V -Fpac_clip_path.txt \
-Sy > pac_dlat.txt
要确定太平洋地壳形成时的有效板块运动速度,请尝试:
gmt pmodeler pac_age.txt -EPac_APM.txt -V -Fpac_clip_path.txt \
-Sv > pac_vel.txt
要确定地壳自形成以来已经移动了多远,请尝试:
gmt pmodeler pac_age.txt -EPac_APM.txt -V -Fpac_clip_path.txt \
-Sd > pac_dist.txt
要保存地壳形成时的坐标,请尝试:
gmt pmodeler pac_age.txt -EPac_APM.txt -V -Fpac_clip_path.txt \
-SXY > ac_origin_xy.txt
备注
GMT 发布了 EarthByte 旋转模型 Global_EarthByte_230-0Ma_GK07_AREPS.rot。 如需使用替代的旋转文件,请创建一个名为 GPLATES_ROTATIONS 的环境变量,使其指向该替代的旋转文件。
相关模块
backtracker, grdpmodeler, grdrotater, grdspotter, hotspotter, originater, rotconverter