earthtide
- 官方文档:
- 简介:
计算固体地球潮汐网格或者时间序列
计算固体地球潮汐的三个分量,输出网格或者时间序列。同时可以输出太阳和月亮
的经纬度位置。输出可以为网格或者表文件(标准输出),表文件的格式为:
时间 北向分量 东向分量 垂直分量 ,分量的单位为米。
语法
gmt earthtide
-Goutgrid
-Llon/lat
-S
[ -Cx|e,y|n,z|v ]
[ -Iincrement ]
[ -Rregion ]
[ -T[min/max/]inc[+i|n]|-Tfile|list ]
[ -V[level] ]
[ -rreg ]
[ --PAR=value ]
必须选项
以下三个选项必须至少使用其中一个。
- -G
-Goutgrid[=ID][+ddivisor][+ninvalid][+ooffset|a][+sscale|a][:driver[dataType][+coptions]]
输出网格文件名。通过追加 =ID 可指定 网格格式。 参数详细介绍请参考 写 netCDF 文件。
- -S
- -S
输出太阳和月亮的地理坐标以及其距离,单位为米。输出为 Mx7 的矩阵, M 为时刻的个数(通过
-T设置),7 列分别代表:时间,太阳经度, 太阳纬度,太阳距离,月亮经度,月亮纬度,月亮距离
- -L
- -Llon/lat
计算指定位置上的固体地球潮汐的时间序列。坐标必须为大地坐标,默认 使用 GRS80 椭球(在亚微米的精度水平可以认为与 WGS-84 椭球等同)
可选选项
- -C
- -Cx|e,y|n,z|v
设置需要计算的固体地球潮汐分量及其保存的网格。该选项需要
-G选项。 不同选项之间使用逗号分隔:x 或 e 为东向分量;y 或 n 为北向分量,z 或 v 为垂直分量。例如,-Ce,v 将输出 写入两个网格,一个为东向分量网格,一个为垂直分量网格。如果设置了-G,但不指定-C,则默认为垂直分量。
- -I
- -Ixinc[+e|n][/yinc[+e|n]]
指定X和Y方向的网格间隔
xinc 和 yinc 为 X 和 Y 方向的网格间隔。对于地理坐标,可以指定网格间隔单位 [默认单位为度]
+e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调 网格间隔以适应给定的数据范围)
+n 表明 xinc 和 yinc 不是网格间隔,而是X和Y方向的节点数。 此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。
注意:
若 yinc 设置为0,则表示其与 xinc 相同
若使用 -Rgrdfile 选项,则网格间隔和配准方式已经根据网格文件自动初始化, 此时依然可以使用 -I 和 -r 覆盖相应的值
- -R
- -Rxmin/xmax/ymin/ymax[+r][+uunit]
指定数据范围。 (参数详细介绍)
- -T
- -T[min/max/]inc[+i|n]|
-Tfile|list 以 inc 为步长,生成从 min 到 max 均匀分布的时间序列。 附加 +i 表示给定的是步长的倒数,或者附加 +n 表示 inc 为序列的元素个数。 可以为步长附加一个有效的时间单位(d|h|m|s)。 如果仅给出了 min,则我们使用该日期和时间进行计算。如果未提供
-T,则从计算机时钟获取 UTC 格式的当前时间。 如果未提供-G或-S,则-T被解释为在-L指定的位置计算时间序列,因此-L变为必选。 当同时存在-G和-T时,仅考虑第一个时间 T 序列。 日期范围可以从 1901 年到 2099 年。有关数组生成的详细信息,请参见 生成一维数组 。
- -V
- -V[level]
设置 verbose 等级 [w]。 (参数详细介绍)
- -r
- -r[g|p]
设置网格配置方式 [默认为网格线配准]。 (参数详细介绍)
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数
生成一维数组
下面将展示如何使用 math 生成一维数组(其中大部分操作也可通过 linux 中的 seq 命令方便地实现)
不使用任何子选项
以 0.1 为步长,生成 3.1 到 4.2 等等间隔序列
gmt math -o0 -T3.1/4.2/0.1 T =
3.1
3.2
...
4.2
+a 选项
该选项不对生成的数列进行运算操作,而是将该数列以列的形式追加到输出表数据,类似 linux 中的 paste 命令。
+b 选项
以 3 和 20 分别为起点和终点,创建一个 2 的整数幂的列表,将生成 的整数幂以 1 为步长取值 -T3/20/1+b
gmt math -o0 -T3/20/1+b T =
4
8
16
+l 选项
以 7 和 135 分别为起点和终点,先创建一个 10 的整数幂的列表,当 inc 为 1 时,输出该列表;当 inc 为 2 时,同时输出该列表中每个元素的 1,2,5 倍值(不包括超出原始数据范围的部分); 当 inc 为 3 时,同时输出 该列表中每个元素的 1,2,…,9 倍值(同样不包括超出原始数据范围的部分)。 -T7/135/2+l 将会生成如下数列
gmt math -o0 -T7/135/2+l T =
10
20
50
100
inc 为负整数时,将实现如下效果
gmt math -o0 -T1e-4/1e4/-2+l T =
0.0001
0.01
1
100
10000
+i 选项
该选项将以 1 作为默认步长,第三个数字做为每步长中的数字个数 length。假设需要在 1 分钟内每 24 秒生成一帧
gmt math -o0 -T0/60/24+i T =
0
0.0416666666667
0.0833333333333
0.125
0.166666666667
...
60
+n 选项
生成固定长度的数列。以 3.44 和 7.82 为 起点和终点,生成长度为 5 的等间隔序列
gmt math -o0 -T3.44/7.82/5+n T =
3.44
4.535
5.63
6.725
7.82
-T 后直接加文件或逗号分隔的数列
-T 后可以直接加文件,文件中即为要生成的列表;另外,可以直接使用逗号分隔, 将列表附加到 -T 选项后,如下为 Fibonacci 数列前 6 项
gmt math -o0 -T0,1,1,2,3,5 T =
0
1
1
2
3
5
注 : 如果数列只包含一个值,必须在其后加逗号以表明仍是一个数列
+u 选项
如果文件或者逗号分隔的数列中有重复数字或未排序,可以使用 +u 选项去重并排序。
+t 选项
生成绝对时间序列。在 inc 后分别添加 y ,o ,d ,h , m 和 s 表示时间步长的单位为年,月,日,时,分,秒。在其后附加 +t 选项, 可以进一步强调生成时间序列,也可以不加
gmt math -o0 -T2020-03-01T/2020-03-07T/1d T =
2020-03-01T00:00:00
2020-03-02T00:00:00
2020-03-03T00:00:00
2020-03-04T00:00:00
2020-03-05T00:00:00
2020-03-06T00:00:00
2020-03-07T00:00:00
生成距离序列
如果输入文件中包含两列以上的数据,可以使用前两列计算距离,并生成等距序列。 在 inc 后分别添加 d,m,s,e,f,M,n 和 u 表示距离步长的单位为度,分,秒,米,英尺,公里,英里,海里,英尺。如果 为笛卡尔坐标,使用 c 作为距离步长单位。
+e 选项
如果只给定 inc 而从数据中获取最大值和最小值,则 (max - min)/inc 可能 不是整数,GMT 讲会自动对 inc 进行一定的调整。如果不想调整 inc ,则可以 使用 +e 选项,GMT 会固定最小值,适当调整最大值。
示例
计算 2018 年 6 月 18 日中午,固体地球潮汐垂直分量网格,网格的分辨率为
30 m(使用默认的 -R 和 -I 选项)
gmt earthtide -T2018-06-18T12:00:00 -Gsolid_tide_up.grd
计算一天的时间序列,起始时间与上例相同,计算位置位于 (-7W,37N),时间 步长为 1 分钟
gmt earthtide -T2018-06-18T/2018-06-19T/1m -L-7/37 > solid_tide.dat
获取当前时间太阳和月亮的地理坐标
gmt earthtide -S
注意事项
所有的输入和输出时间都必须是 UTC 时