talwani2d

贡献者:

周茂

最近更新日期:

2024-02-21


官方文档:

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

设置 z 轴向上为正方向 [默认朝下为正]

-Ddensity

设置一个固定的相对密度 density ,该设置将覆盖文件中的密度设置,单位 为 kg/m^3 或 g/cm^3

-Ff|n[lat]|v

指定要计算哪种异常。

  • f 自由空气重力异常 [默认]

  • n 大地水准面异常,可以在后面追加平均纬度 lat 以计算正常重力, 默认为 45

  • v 垂直梯度重力异常

-M[h][v]

设置距离单位。h 表明水平距离单位为 km [m]。z 表明垂直距离单位为 km [m]

-Ntrackfile

设置计算异常值的点的位置。当使用该选项时,禁用 -T 选项。计算结果将输 出到标准输出。

-Tmin/max/inc[+i|n]|file|list

指定一个等距的点列,在这些位置计算异常值。见 生成一维数组

-V[level] (more …)

设置 verbose 等级 [w]

-Zlevel[ymin/ymax]

设置水准面常数 level ,默认为 0。对于重力异常 -Ff ,可以追加 2.5 维 物体的限制范围。

-bi[ncols][type][w][+l|b] (more …)

设置二进制输入数据的格式

-d[i|o]nodata (more …)

将输入数据中等于 nodata 的记录替换为 NaN,或将输出数据中值为 NaN 的记录替换为 nodata

-e[~]“pattern” | -e[~]/regexp/[i] (more …)

筛选或剔除匹配指定模式的数据记录

-h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle] (more …)

跳过或生成指定数目的头段记录

-icols[+l][+sscale][+ooffset][,][,t[word]] (more …)

设置输入数据列及简单变换(0表示第一列,t 表示文本列)

-ocols[,…][,t[word]] (more …)

设置输出数据列(0表示第一列,t 表示文本列)

-x[[-]n] (more …)

限制多核算法中能使用的核数(需要GMT开启OpenMP支持)

-:[i|o] (more …)

交换输入或输出中的第一和第二列

-^-

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

-++

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

-? 或无参数

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

--PAR=value

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

距离单位

GMT支持多种不同的距离单位,以及三种不同的球面距离计算方式。 详情见 单位-j 选项

生成一维数组

下面将展示如何使用 gmtmath 生成一维数组(其中大部分操作也可通过 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 后分别添加 yodhms 表示时间步长的单位为年,月,日,时,分,秒。在其后附加 +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 后分别添加 dmsefMnu 表示距离步长的单位为度,分,秒,米,英尺,公里,英里,海里,英尺。如果 为笛卡尔坐标,使用 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

注意事项

The 2-D geoid anomaly is a logarithmic potential and thus has no natural reference level. We simply remove the most negative (if density contrast is positive) or positive (if density contrast is negative) computed value from all values, rendering the entire anomaly positive (or negative). You can use gmtmath to change the zero level to suit your needs

参考文献

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.

相关模块

talwani3d, gravfft, gmtgravmag3d, grdgravmag3d