:author: 何星辰
:date: 2025-10-17

.. index:: ! rotsmoother
.. program:: rotsmoother

rotsmoother
=============

:官方文档: :doc:`gmt:supplements/spotter/rotsmoother`
:简介: 从有限旋转集中获取平均旋转和协方差矩阵

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

语法
--------

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


输入数据
------------------

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

可选选项
------------------

.. option:: -A

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

.. option:: -C

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

.. option:: -N

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

.. option:: -S

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

.. option:: -T

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

.. include:: explain_-V.rst_

.. option:: -W

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

.. option:: -Z

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

.. include:: explain_-bi.rst_

.. include:: explain_-bo.rst_

.. include:: explain_-d.rst_

.. include:: explain_-e.rst_

.. include:: explain_-f.rst_

.. include:: explain_-h.rst_

.. include:: explain_-icols.rst_

.. include:: explain_-ocols.rst_

.. include:: explain_-s.rst_

.. include:: explain_colon.rst_

.. include:: explain_-n.rst_

.. include:: explain_help.rst_

.. include:: explain_geodetic.rst_

示例
--------

要以 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

相关模块
--------

:doc:`backtracker`,
:doc:`pmodeler`,
:doc:`grdpmodeler`,
:doc:`grdspotter`,
:doc:`hotspotter`,
:doc:`originater`,
:doc:`rotconverter`
