gmtgravmag3d

贡献者

周茂

最近更新日期

2022-06-21


官方文档

gmtgravmag3d

简介

计算使用 Okabe 方法计算三维物体的重力异常或磁异常

gmtgravmag3d 用来计算由一组三角形描述的多面体的重力异常或磁异常。输出可以在指定的位置上,也可以在网格上。该方法计算速度并不快,但优势在于可以计算任意复杂形状导致的异常。

语法

gmt gravmag3d xyz_file -Tvvert_file OR -Tr|sraw_file OR -M+sbody,params [ -Cdensity ] [ -Ethickness ] [ -Fxy_file ] [ -Goutgrid ] [ -Hf_dec/f_dip/m_int/m_dec/m_dip ] [ -Lz_observation ] [ -Sradius ] [ -Zlevel ] [ -V[level] ] [ -fg] [ --PAR=value ]

必选选项

xyz_file

输入表数据。格式见 -T 选项

-M+sbody,params

创建几何体并计算形成的重力异常和磁异常。该选项为 -Tr/-Ts 选项的替代。创建的几何体为可以是下面几种情况,接下来首先介绍下面几何体中参数的含义:

  • x0y0 为几何体中心的水平坐标 [默认为(0,0),Z 轴朝上]

  • npts 是圆的点数

  • n_slices 为当物体由切片构成时,切片的个数 [默认为 5 ]。

  • height 为高度,相对于 z0

  • rad 半径

  • semi_x/semi_y/semi_z 为半长轴

  • side_x/side_y/side_z 为边长

例如,球和椭球由 2 x n_slices 个切面组成,钟形体为 n_slices 。几何体也可以是组合形成的。例如,-M+sprism,1/1/1/-5/-10/1+ssphere,1/-5 表示一个棱柱和一个球体组合成的几何体。但是目前对组合体中的每个个体设置不同的密度或者磁参数还不行。单几何体的形状可以有以下几种:

  • bell,height/sx/sy/z0[/x0/y0/n_sig/npts/n_slices] 钟形体/高斯形状,表特征的 STD 分别为 sxsy ,基底的宽度(在 z0 处的宽度)由 s_sig 控制,默认为 2;其他参数如上

  • cylinder,rad/height/z0[/x0/y0/npts/n_slices] 圆柱体,参数如上

  • cone,semi_x/semi_y/height/z0[/x0/y0/npts] 锥体,参数如上

  • ellipsoid,semi_x/semi_y/semi_z/z_center[/x0/y0/npts/n_slices] 椭球,中心深度为 z_center ,其他参数如上

  • prism,side_x/side_y/side_z/z0[/x0/y0] 棱柱,参数如上

  • pyramid,side_x/side_y/height/z0[/x0/y0] 金字塔形状,参数如上

  • sphere,rad/z_center[/x0/y0/npts/n_slices] 球,中心深度为 z_center ,其他参数如上。

-Tvvert_file 或者 -Tr|sraw_file

两种选项都用来提供闭合的曲面

-Tvvert_file

给定闭合曲面的的顶点文件 vert_file 。文件格式和 triangiulate 模块生成的格式相同。如果 xyz_file 文件可以为 3,4,5,6 或者 8 列,3 列的情况下,表明磁强度/密度假定为常数,。4-6 列分别表示,磁强度,倾角,以及偏角;8 列时表示,磁场倾角、偏角以及物体的磁强度、倾角和偏角。在大于 3 列的情况下,-H 选项被忽略。

-Tr|sraw_file

raw_file 文件为 N 行 9 列,其中每个三角形占据一行,每个顶点 3 个坐标,即为 9 列。 -Ts 选项表明曲面文件是 ASCII STL (Stereo Lithographic) 格式。

可选选项

-Cdensity

以国际单位制设置多面体的密度。该选项与 -H 互斥

-Fxy_file

计算磁异常的位置,与 -G 选项互斥

-Goutgrid[=ID][+ddivisor][+ninvalid] [+ooffset|a][+sscale|a] [:driver[dataType][+coptions]]

输出网格文件名,其中各子选项的含义见 读 netCDF 文件

-E[thickness]

设置层厚度为 thickness ,单位为 m,默认为 0。只有多面体为非彼和情况下,想要计算一定厚度的层形成的异常时才可用该选项

-L[z_observation]

设置观测水平面,默认为 0,同时也是计算异常的高度面

-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 …)

指定数据范围

-Sradius

以 km 为单位设置搜索半径。当输出点距离三角形中心的距离大于该半径时,则不考虑该三角形。使用该选项可以加快计算速度,但是计算结果回变得不准确

-Z[level]

设置参考平面的高度为 level ,默认为 0。当三角形构成的多面体不闭合并使用该不闭合的曲面和参考面形成多面体时,才可使用该选项。例如,计算布格异常的 hater 深度

-V[level] (more …)

设置 verbose 等级 [w]

-f[i|o]colinfo (more …)

指定输入或输出列的数据类型

-^-

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

-++

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

-? 或无参数

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

--PAR=value

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

网格距离单位

如果网格在水平方向上的单位不是 m,追加 +uunit 可以将输入文件中的单位转换为 m。如果网格是地理坐标,使用 -fg 可以将距离转换为 m。

示例

计算位于 5 m 深,以 -10/1 为中心的单位立方体的磁异常,计算位置位于 -R-15/15/-15/15 指定的位置,物体磁偏角为 10 度,倾角为 60,强度为 10 Am,位于 -10 度的偏角,40 度倾角的磁场中

gmt gmtgravmag3d -R-15/15/-15/15 -I1 -H10/60/10/-10/40 -M+sprism,1/1/1/-5/-10/1 -Gcube_mag_anom.grd

参考文献

Okabe, M., Analytical expressions for gravity anomalies due to polyhedral bodies and translation into magnetic anomalies, Geophysics, 44, (1979), p 730-741.

相关模块

grdgravmag3d, talwani2d, talwani3d