talwani3d

贡献者:

周茂

最近更新日期:

2024-02-21


官方文档:

talwani3d

简介:

使用 Talwani 方法计算三维实体形成的位异常

talwani3d 读取一个多段表文件(或标准输入)。该文件包含一个三维物体在不同的 高度 z-level 下的轮廓,每段均代表一个轮廓。每段的头部信息必须包括高度 z-level 和该高度处的密度 desity 这两个参数。(密度可以被 -D 选项设置的 密度常数覆盖)。可通过设置 -R-I 确定网格,计算位于该格网的异常, 或者使用 -N 计算点上的异常值。计算的异常可包括,自由空气重力异常, 垂直重力梯度异常或者大地水准面异常。同时可以使用选项控制轴的单位和方向。

语法

gmt talwani3d [ table ] [ -A ] [ -Ddensity ] ] [ -Ff|n[lat]|v ] [ -Goutfile ] [ -Iincrement ] [ -M[h][v] ] [ -Ntrackfile ] [ -Rregion ] [ -Zlevel|obsgrid ] [ -V[level] ] [ -bobinary ] [ -dnodata[+ccol] ] [ -eregexp ] [ -fflags ] [ -fflags ] [ -iflags ] [ -oflags ] [ -rreg ] [ -x[[-]n] ] [ --PAR=value ]

必选选项

table

该输入文件用来描述三维物体的水平横截面轮廓。如果多边形没有闭合,GMT 将自动闭合 并删除重复的多边形顶点。每段的头部信息中必须包含高度(海洋中为深度)和相对密度 参数,单位为 kg/m^3 或 g/cm^3,见 -D 选项。如果不指定文件,就从标准输入中 读取数据。

-Ixinc[+e|n][/yinc[+e|n]]

指定X和Y方向的网格间隔

  • xincyinc 为 X 和 Y 方向的网格间隔。对于地理坐标,可以指定网格间隔单位 [默认单位为度]

  • +e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调 网格间隔以适应给定的数据范围)

  • +n 表明 xincyinc 不是网格间隔,而是X和Y方向的节点数。 此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。

注意:

  • yinc 设置为0,则表示其与 xinc 相同

  • 若使用 -Rgrdfile 选项,则网格间隔和配准方式已经根据网格文件自动初始化, 此时依然可以使用 -I-r 覆盖相应的值

-Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)

指定数据范围

可选选项

-A

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

-Ddensity

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

-Ff|n[lat]|v

指定要计算哪种异常。

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

  • n 大地水准面异常,可以在后面追加平均纬度 lat 以计算正常重力, 默认正常重力为格网最中央位置(如果使用了 -N 为测线的中间)

  • v 垂直梯度重力异常

-Goutfile

输出文件名。如果要计算的位置为一个网格,则该选项为必选选项,outfile 为输出网格文件名。如果已经设置了 -N ,即计算测线处的异常,则可以使用 -G 指定输出文件也可以输出到标准输出

-M[h][v]

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

-Ntrackfile

设置计算异常值的点的位置。如果输入文件中包含 3 列,就把最后一列作为观测 高度,该高度可以被 -Z 选项覆盖

-V[level] (more …)

设置 verbose 等级 [w]

-Zlevel|obsgrid

设置观测水准面常数 level ,默认为 0。可以设置为常数 level 或者网格 obsgrid ,其中的每个值均为单独的 level 。如果设置为网格,输出结果也 对应设置的网格。

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

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

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

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

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

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

-f[i|o]colinfo (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 表示文本列)

-r[g|p] (more …)

设置网格配置方式 [默认为网格线配准]

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

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

-:[i|o] (more …)

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

-^-

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

-++

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

-? 或无参数

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

--PAR=value

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

距离单位

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

示例

计算某个三维物体(已形成高度轮廓文件 body3d.txt )在网格上的自动空气 重力异常,相对密度设置为 1700 kg/m^3,水平距离的单位为 km,垂直距离单位为 m

gmt talwani3d -R-200/200/-200/200 -I2 -Mh -G3dgrav.nc body3d.txt -D1700 -Ff

另外,计算该物体在测线 :crossing.txt: 上形成的垂直重力梯度异常

gmt talwani3d -Ncrossing.txt -Mh body3d.txt -D1700 -Fv > vgg_crossing.txt

最后,计算该物体在该测线位置造成的大地水准面异常(平均纬度为 30S),输出结果到 n_crossing.txt

gmt talwani3d -Ncrossing.txt -Mh body3d.txt -D1700 -Fn-30 -Gn_crossing.txt

参考文献

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., and M. Ewing, 1960, Rapid computation of gravitational attraction of three-dimensional bodies of arbitrary shape, Geophysics, 25, 203-225.

相关模块

talwani2d, grdmath, gravfft, gmtgravmag3d, grdgravmag3d