grdspotter

贡献者:

何星辰

最近更新日期:

2025-10-19


官方文档:

grdspotter

简介:

从重力或地形网格创建 CVA 网格

grdspotter 读取一个包含残余海底地形或重力数据的网格文件, 并使用指定的旋转文件从每个超过最小值的节点计算流线。然后, 这些流线与由每个网格节点表示的棱柱体积进行卷积, 并相加以生成累积火山振幅网格(CVA)[Wessel, 1999; 2008]。

语法

gmt grdspotter ingrid -Erot_file|lon/lat/angle[+i] -Goutgrid -Iincrement -Rregion [ -Aagegrid ] [ -Di|pgrid ] [ -LIDgrid ] [ -M ] [ -Nupper_age ] [ -QIDinfo ] [ -S ] [ -Tt|ufixed_val ] [ [ -V[level] ] [ -Wn_try ]] [ -Zz_min[/z_max[/z_inc]] ] [ -rreg ] [ --PAR=value ]

注意:选项标志和相关参数之间不允许有任何空格。

必选选项

ingrid[=ID|?varname][+bband][+ddivisor][+ninvalid][+ooffset][+sscale]

输入网格名。通过追加 =ID 可指定 网格格式 [默认为 =nf]; 追加 ?varname 可指定 NetCDF 变量 [默认为 GMT 找到的第一个 2-D 网格]。 对网格追加子选项可进行额外设置:

  • +b 选取一个波段 band(仅用于图片)[默认为 0]

  • +d 将网格除以一个数 divisor [默认为 1]

  • +n 将网格中的 invalid 替换为 NaN

  • +o 将网格中的值进行一定的偏移,即加一个数 offset [默认为 0]

  • +s 将网格中的值缩放,即乘以 scale [默认为 1]

offset 操作位于 scale 之前。

-Erot_file|ID1-ID2|lon/lat/angle[+i]

可通过以下三种方式之一指定旋转参数:

  • 提供一个包含旋转参数的文件。该文件必须为每个旋转包含一条记录, 每条记录的格式如下:

    lon lat tstart [tstop] angle [ khat a b c d e f g df ]

    其中 tstarttstop 以百万年(Myr)为单位,lon lat angle 均以度为单位。 tstarttstop 分别为阶段的起始与结束年龄。 若记录中未提供 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)。

-Goutgrid[=ID][+ddivisor][+ninvalid][+ooffset|a][+sscale|a][:driver[dataType][+coptions]]

输出网格文件名。通过追加 =ID 可指定 网格格式。 对网格追加子选项可进行额外设置:

  • +d 将网格除以一个数 divisor [默认为 1]

  • +n 将网格中的 invalid 替换为 NaN

  • +o 将网格中的值进行一定的偏移,即加一个数 offset,或使用 a 自动对值 进行调整以保证整数网格的精度 [默认为 0]

  • +s 将网格中的值缩放,即乘以 scale,或使用 a 自动对网格缩放以保证整数 网格的精度 [默认为 1]

offset 操作位于 scale 之前;+sa 将会同时设置 +oa。如果需 使用 GDAL 指定网格格式,则 ID 应设置为 gd,并指定 :driver 和可选的数据 类型 dataType,以及 +coptions 选项传递给 GDAL 的 -co 选项。

-Ixinc[+e|n][/yinc[+e|n]]

指定X和Y方向的网格间隔

  • xincyinc 为 X 和 Y 方向的网格间隔。对于地理坐标,可以指定网格间隔单位 [默认单位为度]

  • +e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调 网格间隔以适应给定的数据范围)

  • +n 表明 xincyinc 不是网格间隔,而是X和Y方向的节点数。 此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。

注意:

  • yinc 设置为0,则表示其与 xinc 相同

  • 若使用 -Rgrdfile 选项,则网格间隔和配准方式已经根据网格文件自动初始化, 此时依然可以使用 -I-r 覆盖相应的值

-Rwest/east/south/north[/zmin/zmax][+r][+uunit]

指定感兴趣的区域。 |Add_-Rgeo|

该选项可以通过多种方式来定义区域:

  1. -Rwest/east/south/north 这是在使用经纬线呈直线的地图投影时指定地理区域的标准方式。 坐标可用十进制度表示,也可以使用 [±]dd:mm[:ss.xxx][W|E|S|N] 格式表示。

  2. -Rwest/south/east/north+r 当使用倾斜(斜轴)投影时,经线和纬线不再适合作为地图边界。 在这种情况下,可以通过给出矩形的左下角与右上角的地理坐标,并添加 +r 修饰符, 来保证地图输出区域为矩形,即使经纬线不是直线。

  3. -Rg-Rd 用于快速指定全球范围。-Rg 表示经度 0 到 360,纬度 -90 到 +90; -Rd 表示经度 -180 到 +180,纬度 -90 到 +90。

  4. -Rcode1,code2,…[+e|r|Rincs] 通过查阅 DCW(数字世界地图)数据库,间接地根据一个或多个国家代码来确定边界区域。 可以使用两个字符的 ISO 3166-1 alpha-2 国家代码(例如 NO)或完整国名(例如 Norway)。 如果要选择国家内的某个州(若可用),请追加 .state(如 US.TX),或使用完整州名(如 Texas)。 若要选择整个大陆,请直接拼写完整名称(如 -RAfrica )。 还可指定 DCW数据 的缩写或完整名称。所有名称大小写不敏感。 可附加以下修饰符:

    • +r:将区域边界调整为 incxinc/yincwinc/einc/sinc/ninc 的整数倍(默认不调整)。 例如,-RFR+r1 将法国的边界取整到最接近的整数度。inc 为正数表示扩大范围,负数表示缩小。

    • +R:在区域边界的基础上增加或减少 incxinc/yincwinc/einc/sinc/ninc 的数值(默认不扩展)。 inc 为正数表示扩大区域,负数表示缩小。

    • +e:将区域边界调整为 incxinc/yincwinc/einc/sinc/ninc 的整数倍, 并确保边界至少调整 inc 的 0.25 倍(默认不调整)。

  5. -Rxmin/xmax/ymin/ymax[+uunit] 在投影单位(如 UTM 米制)下指定区域。 其中 xmin/xmax/ymin/ymax 为与所选投影 (-J) 兼容的笛卡尔坐标。 unit 为允许的 单位-j 选项 (默认是 e)。 该选项会反算出实际的矩形地理区域。

    对于以 (0,0) 为中心的投影区域,可使用简写形式 -Rhalfwidth[/halfheight]+uunit, 其中 halfheight 默认为 halfwidth。此简写形式必须带 +u 修饰符。

  6. -Rjustifylon0/lat0/nx/ny 其中 justify 为两字符组合: L|C|R (左,中,右) and T|M|B (上,中,下),(例如, BL 为左下角) justify 指明 lon0/lat0 是矩形区域的哪个点, 而 nxny 与网格间距(通过 -I 设置)共同决定区域范围。 该形式常用于创建网格。 例如:-RCM25/25/50/50 表示一个以 (25,25) 为中心、尺寸为 50×50 的网格区域。

  7. -Rgridfile 从指定网格文件中复制区域范围设置。 根据调用模块的不同,此方式可能同时设置网格间距与网格配准方式 (参见 网格配准 )。

  8. -Ra[uto] 或 -Re[xact] 仅在现代模式下的绘图模块可用。自动从输入数据中确定区域:

    • -Re:精确匹配数据的范围(默认若未指定 -R)。

    • -Ra:在数据范围基础上略微扩大,使区域边界为数据范围的合理倍数。

可选选项

-Aagegrid

提供一个与输入数据网格配准的地壳年龄网格。 这些年龄将作为构建流线时使用的上限年龄 [默认将流线延伸到旋转文件中发现的最老年龄;但请参见 -N]。

-Di|pgrid

对于 -Di,我们使用流线来确定沿每条流线遇到的最大 CVA, 并在起始节点处创建包含这些值的数据重要性(DI)网格。 对于 -Dp,我们将使用流线来确定每个节点在 CVA 最大值处的流线年龄, 并在起始节点处创建预测年龄(PA)网格。可重复使用。

-LIDgrid

提供一个与输入数据网格配准的网格,其中包含每个节点的海山链 ID。 此选项要求同时使用 -Q

-M

当使用 -D 和/或 -P 时,不尝试将所有流线保留在内存中。 如果内存不足,可以使用此选项在计算时动态生成流线。 由于我们无法重用为 CVA 步骤计算的流线,因此会变慢。 不能与 -W-Z 的多切片模式一起使用。

-Nupper_age

为地壳年龄未知(即 NaN)的节点设置上限年龄 [无上限年龄]。另见 -A

-QIDinfo

可给出 (1) 单个 ID,或 (2) 包含 ID 列表的文件名 [默认使用所有 ID]。 文件中的每一行应为 TAG ID [w e s n]。 可选的 w/e/s/n 缩放框表示仅当在该区域内时才跟踪流线 [默认使用 -R 设置的区域]。 需要 -L

-S

将生成的 CVA 网格归一化为 CVA 最大值的百分比。这也会归一化 DI 网格(如果请求)。

-Tt|ufixed_val

选择调整年龄的方法;可重复。选择 -Tt 截断通过 -A 选项提供的超过 -N 设置上限的地壳年龄 [不截断], 或选择 -Tufixed_val 表示在节点通过 -Z 所隐含的测试后, 在计算中使用此 fixed_val 替代 [默认使用各个节点值]。

-V[level] (more …)

设置 verbose 等级 [w]

-Wn_try

获取 n_try 次最大 CVA 位置的自助法估计; 经度和纬度结果写入标准输出 [默认无自助法]。不能与 -M 一起使用。

-Zz_min[/z_max[/z_inc]]

忽略 z 值低于 z_min [0] 且可选高于 z_max [无穷大] 的节点。 给出 z_min/z_max/z_inc 可为每个 z 切片生成单独的

CVA 网格 [默认生成一个 CVA 网格]。多切片模式不能与 -M 一起使用。

-r[g|p] (more …)

设置网格配置方式 [默认为网格线配准]

-^-

显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -

-++

显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明

-? 或无参数

显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明

--PAR=value

临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数

大地坐标与地心坐标

所有球面旋转均作用于地心坐标。 这意味着输入的数据点和网格被视为采用大地坐标表示, 在进行旋转之前,必须先将其转换为地心坐标。 旋转操作完成后,最终重建得到的点将再转换回大地坐标。 如果将椭球设置参数 PROJ_ELLIPSOID 更改为 Sphere, 则可跳过此默认的转换过程。

示例

要从太平洋地形网格 Pac_res_topo.nc 创建一个 CVA 图像, 使用 DC85.txt 欧拉极点文件,并仅输出指定区域的网格,运行:

gmt grdspotter Pac_res_topo.nc -EDC85.txt -GCVA.nc -R190/220/15/25 -I2m -N145 -Tt -V

然后可使用 grdimage 进行绘图。

备注

GMT 提供了 EarthByte 旋转模型 Global_EarthByte_230-0Ma_GK07_AREPS.rot。 若要使用其他旋转文件,请创建一个名为 GPLATES_ROTATIONS 的环境变量,指向替代的旋转文件。

相关模块

gmt, grdimage, project, mapproject, backtracker, pmodeler, grdpmodeler, grdrotater, hotspotter, originater

参考文献

Wessel, P., 1999, “Hotspotting” tools released, EOS Trans. AGU, 80 (29), p. 319.

Wessel, P., 2008, Hotspotting: Principles and properties of a plate tectonic Hough transform, Geochem. Geophys. Geosyst. 9(Q08004): https://doi.org/10.1029/2008GC002058.