talwani2d
- 官方文档:
- 简介:
使用 Talwani 方法计算二维物体形成的位异常
talwani2d 读取一个多段表文件(或标准输入)。该文件包含一个或多个二维物体
的横截面,横截面为多边形。每段的头部信息中必须包含密度参数:density,为该
物体的密度(单个物体的密度可以被 -D 选项设置的密度常数覆盖)。GMT 可通过
设置 -T 计算位于某等距格网的异常,或者使用 -N 计算点上的异常值。
计算的异常可包括,自由空气重力异常,垂直重力梯度异常或者大地水准面异常。同时
可以使用选项控制轴的单位和方向。
语法
gmt talwani2d
[ table ]
[ -A ]
[ -Ddensity ]
[ -Ff|n[lat]|v ]
[ -M[h][v] ]
[ -Ntrackfile ]
[ -Tmin/max/inc[+i|n]|file|list ]
[ -Zlevel[ymin/ymax] ]
[ -V[level] ]
[ -bibinary ]
[ -dnodata[+ccol] ]
[ -eregexp ]
[ -hheaders ]
[ -iflags ]
[ -oflags ]
[ -x[[-]n] ]
[ --PAR=value ]
输入数据
- table
一个或者多个 ASCII 文件,用来描述一个或者多个物体的横截面多边形。如果 多边形没有闭合,GMT 将自动闭合并删除重复的多边形顶点。每段的头部信息中 必须包含密度参数,单位为 kg/m^3 或 g/cm^3,见
-D选项。如果不指定 文件,就从标准输入中读取数据。
可选选项
- -A
- -A
设置 z 轴向上为正方向 [默认朝下为正]
- -D
- -Ddensity
设置一个固定的相对密度 density ,该设置将覆盖文件中的密度设置,单位 为 kg/m^3 或 g/cm^3
- -F
- -Ff|n[lat]|v
指定要计算哪种异常。
f 自由空气重力异常 [默认]
n 大地水准面异常,可以在后面追加平均纬度 lat 以计算正常重力, 默认为 45
v 垂直梯度重力异常
- -M
- -M[h][v]
设置距离单位。h 表明水平距离单位为 km [m]。z 表明垂直距离单位为 km [m]
- -N
- -Ntrackfile
设置计算异常值的点的位置。当使用该选项时,禁用
-T选项。计算结果将输 出到标准输出。
- -T
- -Tmin/max/inc[+i|n]|file|list
指定一个等距的点列,在这些位置计算异常值。见 生成一维数组
- -V
- -V[level]
设置 verbose 等级 [w]。 (参数详细介绍)
- -Z
- -Zlevel[ymin/ymax]
设置水准面常数 level ,默认为 0。对于重力异常 -Ff ,可以追加 2.5 维 物体的限制范围。
- -bi
- -bi[ncols][type][w][+l|b]
控制二进制文件的输入格式。 (参数详细介绍)
- -d
- -d[i|o]nodata
将某些特定值当作 NaN。 (参数详细介绍)
- -e
- -e[~]"pattern" | -e[~]/regexp/[i]
筛选或剔除匹配指定模式的数据记录。 (参数详细介绍)
- -h
- -h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle]
在读/写数据时跳过文件开头的若干个记录。 (参数详细介绍)
- -i
- -icols[+l][+sscale][+ooffset][,...][,t[word]]
对输入的数据进行列选择以及简单的代数运算。 (参数详细介绍)
- -o
- -ocols[,...][,t[word]]
对输出的数据进行列选择以及简单的代数运算。 (参数详细介绍)
- -x
- -x[[-]n]
限制多核算法中能使用的核数(需要GMT开启OpenMP支持)。 (参数详细介绍)
- -:
- -:[i|o]
交换输入或输出数据的前两列。 (参数详细介绍)
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(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 会固定最小值,适当调整最大值。
示例
计算 2-D 物体在一个等距剖面形成的重力异常,其横截面文件为 body2d.txt
,相对密度为 1700 km/m^3 (该相对密度为地壳平均密度和海水密度之差),
所有距离的单位设置为米:
gmt talwani2d -T-200/200/2 body2d.txt -D1700 -Ff > 2dgrav.txt
使用同样的物体,计算其在给定 crossing.txt 测线上的垂直重力梯度异常:
gmt talwani2d -Ncrossing.txt body2d.txt -D1700 -Fv > vgg_crossing.txt
使用同样的物体,计算大地水准面异常,平均纬度设置为 60N
gmt talwani2d -Ncrossing.txt body2d.txt -D1700 -Fn60 > n_crossing.txt
注意事项
二维大地水准面异常(geoid anomaly)属于对数位(logarithmic potential),因此没有天然的参考基准面。 我们只需从所有计算值中减去最小负值(如果密度对比为正)或最大正值(如果密度对比为负),从而使整个异常变为正值(或负值)。 您可以利用 math 根据需要更改零水平基准。
参考文献
Rasmussen, R., and L. B. Pedersen (1979), End corrections in potential field modeling, Geophys. Prospect., 27, 749-760.
Chapman, M. E., 1979, Techniques for interpretation of geoid anomalies, J. Geophys. Res., 84(B8), 3793-3801.
Kim, S.-S., and P. Wessel, 2016, New analytic solutions for modeling vertical gravity gradient anomalies, Geochem. Geophys. Geosyst., 17, https://doi.org/10.1002/2016GC006263.
Talwani, M., J. L. Worzel, and M. Landisman, 1959, Rapid gravity computations for two-dimensional bodies with application to the Mendocino submarine fracture zone, J. Geophys. Res., 64, 49-59.