✍️ 何星辰 • 📅 2025-10-20

# hotspotter

官方文档:

  hotspotter

简介:

  从海山位置创建 CVA 网格

hotspotter 从 table [或标准输入] 读取 (longitude, latitude, amplitude, radius, age) 记录， 并使用指定的阶段旋转或总重建旋转计算流线。这些流线与海山的形状进行卷积 （使用振幅和半径 = 6σ 的高斯形状），并叠加以生成累积火山振幅网格（CVA）。 关于如何读取 (latitude, longitude, ...) 文件，请参见选项 `-:` [Wessel, 1999; 2008]。

## 语法

gmt hotspotter [table] `-E` rot_file|ID1-ID2|lon/lat/angle[+i] `-G` outgrid `-I` increment `-R` region [ `-D` factor ] [ `-N` upper_age ] [ `-S` ] [ `-T` ] [ `-V`[level] ] [ `-bi` binary ] [ `-di` nodata[+c col] ] [ `-e` regexp ] [ `-g` gaps ] [ `-h` headers ] [ `-i` flags ] [ `-o` flags ] [ `-qi` flags ] [ `-r` reg ] [ `-:`[i|o] ] [ --PAR=value ]

## 输入数据

table

  一个或多个ASCII或二进制表数据。若不提供表数据，则会从标准输入中读取。

## 必须选项

-E

-E rot_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）。

-G

-G outgrid[=ID][+d divisor][+n invalid][+o offset|a][+s scale|a][:driver[dataType][+c options]]

> 输出网格文件名。通过追加 =ID 可指定 网格格式。 参数详细介绍请参考 写 netCDF 文件。

-I

-I xinc[+e|n][/yinc[+e|n]]

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

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

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

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

  注意：

  - 若 yinc 设置为0，则表示其与 xinc 相同

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

-R

-R xmin/xmax/ymin/ymax[+r][+u unit]

  指定数据范围。 (参数详细介绍)

## 可选选项

-D

-D factor

  修改沿流线的采样间隔。默认值 [0.5] 使每个网格单元内大约有 2 个点。 较小的因子将提高分辨率，但会增加处理时间。

-N

-N upper_age

  设置地壳年龄未知（即 NaN）的海山的上限年龄 [默认无上限年龄]。

-S

-S

  将结果 CVA 网格归一化为 CVA 最大值的百分比。

-T

-T

  截断超过通过 `-N` 设置的上限年龄的海山年龄 [默认不截断]。

-V

-V[level]

  设置 verbose 等级 [w]。 (参数详细介绍)

-bi

-bi[ncols][type][w][+l|b]

  控制二进制文件的输入格式。 (参数详细介绍)

-di

-di nodata

  将输入数据某些特定值当作NaN。 (参数详细介绍)

-e

-e[~]"pattern" | -e[~]/regexp/[i]

  筛选或剔除匹配指定模式的数据记录。 (参数详细介绍)

-g

-g[a]x|y|d|X|Y|D|[col]z gap[+n|p]

  确定数据或线段的间断。 (参数详细介绍)

-h

-h[i|o][n][+c][+d][+m segheader][+r remark][+t title]

  在读/写数据时跳过文件开头的若干个记录。 (参数详细介绍)

-i

-i cols[+l][+s scale][+o offset][,...][,t[word]]

  对输入的数据进行列选择以及简单的代数运算。 (参数详细介绍)

-o

-o cols[,...][,t[word]]

  对输出的数据进行列选择以及简单的代数运算。 (参数详细介绍)

-qi

-qi[~]rows[+c col][+a|f|s]

  筛选输入的行或数据范围。 (参数详细介绍)

-r

-r[g|p]

  设置网格配置方式 [默认为网格线配准]。 (参数详细介绍)

-:

-:[i|o]

  交换输入或输出数据的前两列。 (参数详细介绍)

-^ 或 -

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

-+ 或 +

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

-? 或无参数

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

--PAR=value

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

## 大地坐标与地心坐标

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

## 示例

要从文件 seamounts.txt 中的太平洋 (x, y, z, r, t) 数据创建一个 CVA 图像， 使用 DC85.txt 欧拉极点，运行:

    gmt hotspotter seamounts.txt -EDC85.txt -GCVA.nc -R130/260/-66/60 -I10m -N145 -T -V

然后可以使用 grdimage 绘制该文件。

## 备注

GMT 随附地球字节旋转模型 Global_EarthByte_230-0Ma_GK07_AREPS.rot。 要使用其他旋转文件，请创建名为 GPLATES_ROTATIONS 的环境变量，并将其指向备用的旋转文件。

## 相关模块

grdimage, grdrotater, grdspotter, project, mapproject, backtracker, pmodeler, grdpmodeler, grdrotater, 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.