# grdflexure man page

grdflexure — Compute flexural deformation of 3-D surfaces for various rheologies

## Synopsis

**grdflexure** *topogrd rm*/*rl*[/*ri*]/*rw Te*[**u**] *outgrid* [ *Nx*/*Ny*/*Nxy* ] [ **p***poisson* ] [ **y***Young* ] [ *nu_a*[/*h_a*/*nu_m*] ] [ *list* ] [ [**f**|**q**|**s**|*nx*/*ny*][**+a**|**d**|**h**|**l**][**+e**|**n**|**m**][**+t***width*][**+w**[*suffix*]][**+z**[**p**]] [ *beta* ] [ **-T***t0*[**u**][/*t1*[**u**]/*dt*[**u**]|*n*][**+l**] ] [ [*level*] ] [ *wd*] [ *zm*] [ **-fg** ]**Note:** No space is allowed between the option flag and the associated arguments.

## Description

**grdflexure** computes the flexural response to loads using a range of user-selectable rheologies. User may select from elastic, viscoelastic, or firmoviscous (with one or two viscous layers). Temporal evolution can also be modeled by providing incremental load grids and specifying a range of model output times.

## Required Arguments

*topogrd*- 2-D binary grid file with the topography of the load (in meters); See Grid File Formats below. If
**-T**is used,*topogrd*may be a filename template with a floating point format (C syntax) and a different load file name will be set and loaded for each time step. The load times thus coincide with the times given via**-T**(but not all times need to have a corresponding file). Alternatively, give*topogrd*as =*flist*, where*flist*is an ASCII table with one*topogrd*filename and load time per record. These load times can be different from the evaluation times given via**-T**. For load time format, see**-T**.

**-D***rm*/*rl*[/*ri*]/*rw*- Sets density for mantle, load, infill (optional, otherwise it is assumed to equal the load density), and water or air. If
*ri*differs from*rl*then an approximate solution will be found. If*ri*is not given then it defaults to*rl*.

**-E***Te*- Sets the elastic plate thickness (in meter); append
**k**for km. If the elastic thickness exceeds 1e10 it will be interpreted as a flexural rigidity D (by default D is computed from*Te*, Young's modulus, and Poisson's ratio; see**-C**to change these values).

**-G***outfile*- If
**-T**is set then*grdfile*must be a filename template that contains a floating point format (C syntax). If the filename template also contains either %s (for unit name) or %c (for unit letter) then we use the corresponding time (in units specified in**-T**) to generate the individual file names, otherwise we use time in years with no unit.

## Optional Arguments

**-A***Nx*/*Ny*/*Nxy*- Specify in-plane compressional or extensional forces in the x- and y-directions, as well as any shear force [no in-plane forces]. Compression is indicated by negative values, while extensional forces are specified using positive values.

**-Cp***poisson*- Change the current value of Poisson's ratio [0.25].
**-Cy***Young*- Change the current value of Young's modulus [7.0e10 N/m^2].

**-F***nu_a*[/*h_a*/*nu_m*]- Specify a firmoviscous model in conjunction with an elastic plate thickness specified via
**-E**. Just give one viscosity (*nu_a*) for an elastic plate over a viscous half-space, or also append the thickness of the asthenosphere (*h_a*) and the lower mantle viscosity (*nu_m*), with the first viscosity now being that of the asthenosphere. Give viscosities in Pa*s. If used, give the thickness of the asthenosphere in meter; append**k**for km.

**-N[f|q|s|***nx/ny*][+a|[+d|h|l][+e|n|m][+t*width*][+w[*suffix*]][+z[p]]Choose or inquire about suitable grid dimensions for FFT and set optional parameters. Control the FFT dimension:

**-Nf**will force the FFT to use the actual dimensions of the data.**-Nq**will inQuire about more suitable dimensions, report those, then continue.**-Ns**will present a list of optional dimensions, then exit.**-N***nx/ny*will do FFT on array size*nx/ny*(must be >= grid file size). Default chooses dimensions >= data which optimize speed and accuracy of FFT. If FFT dimensions > grid file dimensions, data are extended and tapered to zero.Control detrending of data: Append modifiers for removing a linear trend:

Control extension and tapering of data: Use modifiers to control how the extension and tapering are to be performed:

**+e**extends the grid by imposing edge-point symmetry [Default],**+m**extends the grid by imposing edge mirror symmetry**+n**turns off data extension.

Tapering is performed from the data edge to the FFT grid edge [100%]. Change this percentage via**+t***width*. When**+n**is in effect, the tapering is applied instead to the data margins as no extension is available [0%].Control writing of temporary results: For detailed investigation you can write the intermediate grid being passed to the forward FFT; this is likely to have been detrended, extended by point-symmetry along all edges, and tapered. Append

**+w**[*suffix*] from which output file name(s) will be created (i.e.,*ingrid_prefix.ext*) [tapered], where*ext*is your file extension. Finally, you may save the complex grid produced by the forward FFT by appending**+z**. By default we write the real and imaginary components to*ingrid*_real.*ext*and*ingrid*_imag.*ext*. Append**p**to save instead the polar form of magnitude and phase to files*ingrid*_mag.*ext*and*ingrid*_phase.*ext*.

**-L***list*- Write the names and evaluation times of all grids that were created to the text file
*list*. Requires**-T**.

**-M***tm*- Specify a viscoelastic model in conjunction with an elastic plate thickness specified via
**-E**. Append the Maxwell time*tm*for the viscoelastic model (in ).

**-S***beta*- Specify a starved moat fraction in the 0-1 range, where 1 means the moat is fully filled with material of density
*ri*while 0 means it is only filled with material of density*rw*(i.e., just water) [1].

**-T***t0*[u][/*t1*[u]/*dt*[u]|*n*][+l]- Specify
*t0*,*t1*, and time increment (*dt*) for sequence of calculations [Default is one step, with no time dependency]. For a single specific time, just give start time*t0*. The unit is years; append**k**for kyr and**M**for Myr. For a logarithmic time scale, append**+l**and specify*n*steps instead of*dt*. Alternatively, give a file with the desired times in the first column (these times may have individual units appended, otherwise we assume year). We then write a separate model grid file for each given time step.

**-W***wd*- Set reference depth to the undeformed flexed surface in m [0]. Append
**k**to indicate km.

**-Z***zm*- Specify reference depth to flexed surface (e.g., Moho) in m; append
**k**for km. Must be positive. [0].

**-V[***level*]*(more ...)*- Select verbosity level [c].
**-fg**- Geographic grids (dimensions of longitude, latitude) will be converted to meters via a "Flat Earth" approximation using the current ellipsoid parameters.

**-^ or just -**- Print a short message about the syntax of the command, then exits (NOTE: on Windows use just
**-**). **-+ or just +**- Print an extensive usage (help) message, including the explanation of any module-specific option (but not the GMT common options), then exits.
**-? or no arguments**- Print a complete usage (help) message, including the explanation of options, then exits.
**--version**- Print GMT version and exit.
**--show-datadir**- Print full path to GMT share directory and exit.

## Grid File Formats

By default GMT writes out grid as single precision floats in a COARDS-complaint netCDF file format. However, GMT is able to produce grid files in many other commonly used grid file formats and also facilitates so called "packing" of grids, writing out floating point data as 1- or 2-byte integers. To specify the precision, scale and offset, the user should add the suffix **=***id*[**/***scale***/***offset*[**/***nan*]], where *id* is a two-letter identifier of the grid type and precision, and *scale* and *offset* are optional scale factor and offset to be applied to all grid values, and *nan* is the value used to indicate missing data. In case the two characters *id* is not provided, as in **=/***scale* than a *id***=***nf* is assumed. When reading grids, the format is generally automatically recognized. If not, the same suffix can be added to input grid file names. See **grdconvert** and Section *grid-file-format* of the GMT Technical Reference and Cookbook for more information.

When reading a netCDF file that contains multiple grids, GMT will read, by default, the first 2-dimensional grid that can find in that file. To coax GMT into reading another multi-dimensional variable in the grid file, append **?***varname* to the file name, where *varname* is the name of the variable. Note that you may need to escape the special meaning of **?** in your shell program by putting a backslash in front of it, or by placing the filename and suffix between quotes or double quotes. The **?***varname* suffix can also be used for output grids to specify a variable name different from the default: "z". See **grdconvert** and Sections *modifiers-for-CF* and *grid-file-format* of the GMT Technical Reference and Cookbook for more information, particularly on how to read splices of 3-, 4-, or 5-dimensional grids.

## 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 **-fg** instead.

## Considerations

netCDF COARDS grids will automatically be recognized as geographic. For other grids geographical grids were you want to convert degrees into meters, select **-fg**. If the data are close to either pole, you should consider projecting the grid file onto a rectangular coordinate system using **grdproject**.

## Plate Flexure Notes

The FFT solution to plate flexure requires the infill density to equal the load density. This is typically only true directly beneath the load; beyond the load the infill tends to be lower-density sediments or even water (or air). Wessel [2001] proposed an approximation that allows for the specification of an infill density different from the load density while still allowing for an FFT solution. Basically, the plate flexure is solved for using the infill density as the effective load density but the amplitudes are adjusted by the factor *A* = sqrt ((rm - ri)/(rm - rl)), which is the theoretical difference in amplitude due to a point load using the two different load densities. The approximation is very good but breaks down for large loads on weak plates, a fairy uncommon situation.

## Examples

To compute elastic plate flexure from the load *topo.nc*, for a 10 km thick plate with typical densities, try

`gmt grdflexure topo.nc -Gflex.nc -E10k -D2700/3300/1035`

To compute the firmoviscous response to a series of incremental loads given by file name and load time in the table l.lis at the single time 1 Ma using the specified rheological values, try

`gmt grdflexure -T1M =l.lis -D3300/2800/2800/1000 -E5k -Gflx/smt_fv_%03.1f_%s.nc -F2e20 -Nf+a`

## References

Cathles, L. M., 1975, *The viscosity of the earth's mantle*, Princeton University Press.

Wessel. P., 2001, Global distribution of seamounts inferred from gridded Geosat/ERS-1 altimetry, J. Geophys. Res., 106(B9), 19,431-19,441, http://dx.doi.org/10.1029/2000JB000083

## See Also

**gmt**, **grdfft**, **gravfft grdmath**, **grdproject**, **grdseamount**

## Copyright

2015, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe