# grdgravmag3d¶

Computes the gravity effect of one (or two) grids by the method of Okabe

## Synopsis¶

**gmt grdgravmag3d** *grdfile_top* [*grdfile_bot*] [ **-C***density* ]
[ **-E***thick* ]
[ **-F***xy_file* ]
[ **-G***outgrid* ]
[ **-H***args* ]
[ **-I***increment* ]
[ **-L***z_obs* ]
[ **-Q**[**n***n_pad*]|[*pad_dist*]|[*region*] ]
[ **-R***region* ]
[ **-S***radius* ]
[ **-V**[*level*] ]
[ **-Z***level*[**b**|**t**] ]
[ **-f**flags ]
[ **-x***+a|n|-n* ]
[ **--PAR**=*value* ]

**Note:** No space is allowed between the option flag and the associated arguments.

## Description¶

**grdgravmag3d** will compute the gravity anomaly of a body described by
one or (optionally) two grids The output can either be along a given set
of xy locations or on a grid. This method is not particularly fast but
allows computing the anomaly of arbitrarily complex shapes.

## Required Arguments¶

*grdfile_top*[*grdfile_bot*]Grid file whose gravity effect is going to be computed. If two grids are provided then the gravity/magnetic effect of the volume between them is computed.

**-C***density*Sets body density in SI. This option is mutually exclusive with

**-H**

**-F***xy_file*Provide locations where the anomaly will be computed. Note this option is mutually exclusive with

**-G**.

**-G***outgrid*Output the gravity anomaly at nodes of this grid file.

## Optional Arguments¶

**-E***thickness*To provide the layer thickness in m [Default = 500 m].

**-H***f_dec/f_dip/m_int/m_dec/m_dip***-H+m***magfile***-Hx**|**y**|**z**|**h**|**t****-H+i**|**g**|**r**|**f**|**n**Sets parameters for computation of magnetic anomaly (Can be used multiple times).

*f_dec/f_dip*-> geomagnetic declination/inclination*m_int/m_dec/m_dip*-> body magnetic intensity/declination/inclinationOR for a grid mode

**+m***magfile*, where*magfile*is the name of the magnetic intensity file.To compute a component, specify any of:

**x**|**X**|**e**|**E**to compute the E-W component.**y**|**Y**|**n**|**N**to compute the N-S component.**z**|**Z**to compute the Vertical component.**h**|**H**to compute the Horizontal component.**t**|**T**|**f**|**F**to compute the total field.For a variable inclination and declination use IGRF. Set any of

**-H+i**|**g**|**r**|**f**|**n**to do that

**-I***xinc*[**+e**|**n**][/*yinc*[**+e**|**n**]]*x_inc*[and optionally*y_inc*] is the grid spacing.**Geographical (degrees) coordinates**: Optionally, append a increment unit. Choose among**m**to indicate arc minutes or**s**to indicate arc seconds. If one of the units**e**,**f**,**k**,**M**,**n**or**u**is appended instead, the increment is assumed to be given in meter, foot, km, Mile, nautical mile or US survey foot, respectively, and will be converted to the equivalent degrees longitude at the middle latitude of the region (the conversion depends on PROJ_ELLIPSOID). If*y_inc*is given but set to 0 it will be reset equal to*x_inc*; otherwise it will be converted to degrees latitude.**All coordinates**: If**+e**is appended then the corresponding max*x*(*east*) or*y*(*north*) may be slightly adjusted to fit exactly the given increment [by default the increment may be adjusted slightly to fit the given domain]. Finally, instead of giving an increment you may specify the*number of nodes*desired by appending**+n**to the supplied integer argument; the increment is then recalculated from the number of nodes, the*registration*, and the domain. The resulting increment value depends on whether you have selected a gridline-registered or pixel-registered grid; see GMT File Formats for details.**Note**: If**-R***grdfile*is used then the grid spacing and the registration have already been initialized; use**-I**and**-r**to override these values.

**-L***z_obs*Sets level of observation [Default = 0]. That is the height (z) at which anomalies are computed.

**-Q**[**n***n_pad*]|[*pad_dist*]|[*region*]- Extend the domain of computation with respect to output
**-R**region. **-Qn***n_pad*artificially extends the width of the outer rim of cells to have a fake width of*n_pad** dx[/dy].**-Q***pad_dist*extend the region by west-pad, east+pad, etc.**-Q***region*Same syntax as**-R**.

- Extend the domain of computation with respect to output

**-R***xmin*/*xmax*/*ymin*/*ymax*[**+r**][**+u***unit*]Specify the region of interest.

**Note**: This overrides the source grid region (Default: use same region as input) (See full description) (See cookbook information).

**-S***radius*Set search radius in km (valid only in the two grids mode OR when

**-E**) [Default = 30 km]. This option serves to speed up the computation by not computing the effect of prisms that are further away than*radius*from the current node.

**-V**[*level*]Select verbosity level [

**w**]. (See full description) (See cookbook information).

**-Z***level*[**b**|**t**]level of reference plane [Default = 0]. Use this option when the triangles describe a non-closed surface and the volume is defined from each triangle and this reference level. An example will be the water depth to compute a Bouguer anomaly. Use

**-Zb**or**Zt**to close the body at its bottom (for example, to compute the effect of a dome) or at its top (to compute the effect of a*spoon*).**-f**flagsGeographic grids (dimensions of longitude, latitude) will be converted to meters via a “Flat Earth” approximation using the current ellipsoid parameters.

**-x***+a|n|-n*Choose the number of processors used in multi-threading (Only available with multi-threading builds).

*+a*Use all available processors.*n*Use n processors (not more than max available off course).*-n*Use (all - n) processors.

**-^**or just**-**Print a short message about the syntax of the command, then exit (NOTE: on Windows just use

**-**).**-+**or just**+**Print an extensive usage (help) message, including the explanation of any module-specific option (but not the GMT common options), then exit.

**-?**or no argumentsPrint a complete usage (help) message, including the explanation of all options, then exit.

**--PAR**=*value*Temporarily override a GMT default setting; repeatable. See gmt.conf for parameters.

## Grid Distance Units¶

If the grid does not have meter as the horizontal unit, append **+u***unit* to the input file name to convert from the
specified unit to meter. If your grid is geographic, convert distances to meters by supplying **-f**flags instead.

## Examples¶

Suppose you want to compute the gravity effect of the phantom “Sandy Island” together with its not phantom seamount

gmt grdgravmag3d sandy_bat.grd -C1700 -Z-4300 -fg -I1m -Gsandy_okb.grd -V

To compute the vertical component due to a magnetization stored in *mag.grd* over a zone defined by
the surface *bat.grd*, using variable declination and inclination provided the the IGRF and using 4
processors, do:

gmt grdgravmag3d bat.grd -E10000 -Gcomp_Z.grd -Hz -H+n -H+mmag.grd -x4 -V -S50

## See Also¶

## Reference¶

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