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

# rotsmoother

官方文档:

  rotsmoother

简介:

  从有限旋转集中获取平均旋转和协方差矩阵

rotsmoother 读取一个总重建表格，并根据旋转年龄（或所有旋转）将其划分为若干子组， 计算每个子组的平均旋转（以及可选的协方差矩阵）。

## 语法

gmt rotsmoother [ table ] [ `-A` ] [ `-C` ] [ `-N` ] [ `-S` ] [ `-T` ages ] [ `-V`[level] ] [ `-W` ] [ `-Z` ] [ `-bi` binary ] [ `-bo` binary ] [ `-d` nodata[+c col] ] [ `-e` regexp ] [ `-f` flags ] [ `-h` headers ] [ `-i` flags ] [ `-o` flags ] [ `-s` flags ] [ `-:`[i|o] ] [ --PAR=value ]

## 输入数据

table

  包含 (lon lat time angle [weight]) 值的旋转表名称。

## 可选选项

-A

-A

  使用张开角（opening angles）作为时间的代理。当无法为旋转指定时间时适用。 在这种情况下，输入应包含 lon lat angle [weight] 记录，且 `-T` 的设置将对应于角度而非时间。 默认情况下，输入应为 lon lat time angle [weight]，且 `-T` 表示时间。

-C

-C

  为每个平均旋转计算协方差矩阵。 该过程将每个有限旋转转换为四元数（quaternion），求取平均四元数（即平均旋转）， 并将所有旋转视为相对于平均旋转的扰动。 然后根据这些扰动计算出协方差矩阵。

-N

-N

  确保所有旋转极点位于北半球。 [默认确保张开角为正值。]

-S

-S

  确保所有旋转极点位于南半球。 [默认确保张开角为正值。]

-T

-T ages

  设置所需的年龄分组。 若只给定一个时间点，则附加所需的时间值，所有旋转将用于计算单个平均旋转。 若需按等间隔划分的重建年龄区间，请使用 `-T` start/stop/inc， 或 `-T` start/stop/npoints+n。 若为非等间隔的重建年龄集合，请通过文件的第一列传入，例如 `-T` agefile。 我们读取或生成的年龄将作为分箱边界（bin boundaries），输出每个箱内所有旋转的平均时间。

-V

-V[level]

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

-W

-W

  在输入表的最后一列中指定权重，以执行加权平均旋转 [默认不使用权重]。

-Z

-Z

  输出负的张开角 [默认输出正值]。

-bi

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

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

-bo

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

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

-d

-d[i|o]nodata

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

-e

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

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

-f

-f[i|o]colinfo

  显式指定当前输入或输出数据中每一列的数据类型。 (参数详细介绍)

-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]]

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

-s

-s[cols][+a|+r]

  设置 NaN 记录的处理方式。 (参数详细介绍)

-:

-:[i|o]

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

-n

-n[b|c|l|n][+a][+b BC][+c][+t threshold]

  设置网格文件的插值方式。 (参数详细介绍)

-^ 或 -

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

-+ 或 +

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

-? 或无参数

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

--PAR=value

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

## 大地坐标与地心坐标

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

## 示例

要以 3 Myr 的时间步长平滑旋转组，并确保极点位于北半球，执行:

    gmt rotsmoother rotations.txt -N -T3/3/30 -V > rot_means.txt

要平滑所有旋转并计算单个平均旋转（分配时间为 5），同时输出对应的协方差矩阵，执行:

    gmt rotsmoother rotations.txt -C -T5 -V > rot_means_cov.txt

## 相关模块

backtracker, pmodeler, grdpmodeler, grdspotter, hotspotter, originater, rotconverter