✍️ 周茂 • 📅 2026-01-12

# talwani2d

官方文档:

  talwani2d

简介:

  使用 Talwani 方法计算二维物体形成的位异常

talwani2d 读取一个多段表文件（或标准输入）。该文件包含一个或多个二维物体 的横截面，横截面为多边形。每段的头部信息中必须包含密度参数：density，为该 物体的密度（单个物体的密度可以被 `-D` 选项设置的密度常数覆盖）。GMT 可通过 设置 `-T` 计算位于某等距格网的异常，或者使用 `-N` 计算点上的异常值。 计算的异常可包括，自由空气重力异常，垂直重力梯度异常或者大地水准面异常。同时 可以使用选项控制轴的单位和方向。

## 语法

gmt talwani2d [ table ] [ `-A` ] [ `-D` density ] [ `-F` f|n[lat]|v ] [ `-M`[h][v] ] [ `-N` trackfile ] [ `-T` min/max/inc[+i|n]|file|list ] [ `-Z` level[ymin/ymax] ] [ `-V`[level] ] [ `-bi` binary ] [ `-d` nodata[+c col] ] [ `-e` regexp ] [ `-h` headers ] [ `-i` flags ] [ `-o` flags ] [ `-x`[[-]n] ] [ --PAR=value ]

## 输入数据

table

  一个或者多个 ASCII 文件，用来描述一个或者多个物体的横截面多边形。如果 多边形没有闭合，GMT 将自动闭合并删除重复的多边形顶点。每段的头部信息中 必须包含密度参数，单位为 kg/m^3 或 g/cm^3，见 `-D` 选项。如果不指定 文件，就从标准输入中读取数据。

## 可选选项

-A

-A

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

-D

-D density

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

-F

-F f|n[lat]|v

  指定要计算哪种异常。

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

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

  - v 垂直梯度重力异常

-M

-M[h][v]

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

-N

-N trackfile

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

-T

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

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

-V

-V[level]

  设置 verbose 等级 [w]。 (参数详细介绍)

-Z

-Z level[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][+m segheader][+r remark][+t title]

  在读/写数据时跳过文件开头的若干个记录。 (参数详细介绍)

-i

-i cols[+l][+s scale][+o offset][,...][,t[word]]

  对输入的数据进行列选择以及简单的代数运算。 (参数详细介绍)

-o

-o cols[,...][,t[word]]

  对输出的数据进行列选择以及简单的代数运算。 (参数详细介绍)

-x

-x[[-]n]

  限制多核算法中能使用的核数（需要GMT开启OpenMP支持）。 (参数详细介绍)

-:

-:[i|o]

  交换输入或输出数据的前两列。 (参数详细介绍)

-^ 或 -

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

-+ 或 +

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

-? 或无参数

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

--PAR=value

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

## 距离单位

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

## 示例

计算 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.

## 相关模块

talwani3d, gravfft, gravmag3d, grdgravmag3d