Create CVA grid from a gravity or topography grid


gmt grdspotter [grdfile] -Erotfile -GCVAgrid -Iincrement -Rregion [ -Aagegrid ] [ -DDIgrid ] [ -LIDgrid ] [ -M ] [ -Nupper_age ] [ -PPAgrid ] [ -QIDinfo ] [ -S ] [ -Tt|ufixed_val ] [ [ -V[level] ] [ -Wn_try ]] [ -Zz_min[/z_max[/z_inc]] ] [ -rreg ] [ --PAR=value ]

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


grdspotter reads a grid file with residual bathymetry or gravity and calculates flowlines from each node that exceeds a minimum value using the specified rotations file. These flowlines are then convolved with the volume of the prism represented by each grid node and added up to give a Cumulative Volcano Amplitude grid (CVA).

Required Arguments

Data grid to be processed, typically residual bathymetry or free-air anomalies.

Rotations can be specified in one of three ways: (1): Give file with rotation parameters. This file must contain one record for each rotation; each record must be of the following format:

lon lat tstart [tstop] angle [ khat a b c d e f g df ]

where tstart and tstop are in Myr and lon lat angle are in degrees. tstart and tstop are the ages of the old and young ends of a stage. If tstop is not present in the record then a total reconstruction rotation is expected and tstop is implicitly set to 0 and should not be specified for any of the records in the file. If a covariance matrix C for the rotation is available it must be specified in a format using the nine optional terms listed in brackets. Here, C = (g/khat)*[ a b d; b c e; d e f ] which shows C made up of three row vectors. If the degrees of freedom (df) in fitting the rotation is 0 or not given it is set to 10000. Blank lines and records whose first column contains # will be ignored. You may append +i to the filename to indicate you wish to invert the rotations. (2): Give the filename composed of two plate IDs separated by a hyphen (e.g., PAC-MBL) and we will instead extract that rotation from the GPlates rotation database. We return an error if the rotation cannot be found. (3): Specify lon/lat/angle, i.e., the longitude, latitude, and opening angle (all in degrees and separated by /) for a single total reconstruction rotation.

Specify name for output CVA grid file.
x_inc [and optionally y_inc] is the grid spacing. Optionally, append a suffix modifier. Geographical (degrees) coordinates: Append 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 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 -Rgrdfile is used then the grid spacing (and registration) have already been initialized; use -I (and -r) to override the values.
west, east, south, and north specify the region of interest, and you may specify them in decimal degrees or in [±]dd:mm[][W|E|S|N] format Append +r if lower left and upper right map coordinates are given instead of w/e/s/n. The two shorthands -Rg and -Rd stand for global domain (0/360 and -180/+180 in longitude respectively, with -90/+90 in latitude). Set geographic regions by specifying ISO country codes from the Digital Chart of the World using -Rcode1,code2,…[+r|R[incs]] instead: Append one or more comma-separated countries using the 2-character ISO 3166-1 alpha-2 convention. To select a state of a country (if available), append .state, e.g, US.TX for Texas. To specify a whole continent, prepend = to any of the continent codes AF (Africa), AN (Antarctica), AS (Asia), EU (Europe), OC (Oceania), NA (North America), or SA (South America). Use +r to modify the bounding box coordinates from the polygon(s): Append inc, xinc/yinc, or winc/einc/sinc/ninc to adjust the region to be a multiple of these steps [no adjustment]. Alternatively, use +R to extend the region outward by adding these increments instead [no extension]. Alternatively for grid creation, give Rcodelon/lat/nx/ny, where code is a 2-character combination of L, C, R (for left, center, or right) and T, M, B for top, middle, or bottom. e.g., BL for lower left. This indicates which point on a rectangular region the lon/lat coordinate refers to, and the grid dimensions nx and ny with grid spacings via -I is used to create the corresponding region. Alternatively, specify the name of an existing grid file and the -R settings (and grid spacing and registration, if applicable) are copied from the grid. Appending +uunit expects projected (Cartesian) coordinates compatible with chosen -J and we inversely project to determine actual rectangular geographic region. For perspective view (-p), optionally append /zmin/zmax. In case of perspective view (-p), a z-range (zmin, zmax) can be appended to indicate the third dimension. This needs to be done only when using the -Jz option, not when using only the -p option. In the latter case a perspective view of the plane is plotted, with no third dimension.

Optional Arguments

Supply a crustal age grid that is co-registered with the input data grid. These ages become the upper ages to use when constructing flowlines [Default extend flowlines back to oldest age found in the rotation file; but see -N].
Use flowlines to determine the maximum CVA encountered along each flowline and create a Data Importance (DI) grid with these values at the originating nodes.
Supply a co-registered grid with seamount chain IDs for each node. This option requires that you also use -Q.
Do not attempt to keep all flowlines in memory when using -D and/or -P. Should you run out of memory you can use this option to compute flowlines on-the-fly. It will be slower as we no longer can reuse the flowlines calculated for the CVA step. Cannot be used with -W or the multi-slice mode in -Z.
Set the upper age to assign to nodes whose crustal age is unknown (i.e., NaN) [no upper age]. Also see -A.
Use flowlines to determine the flowline age at the CVA maximum for each node and create a Predicted Age (PA) grid with these values at the originating nodes.
Either give (1) a single ID to use or (2) the name of a file with a list of IDs to use [Default uses all IDs]. Each line would be TAG ID [w e s n]. The w/e/s/n zoom box is optional; if specified it means we only trace the flowline if inside this region [Default uses region set by -R]. Requires -L.
Normalize the resulting CVA grid to percentages of the CVA maximum. This also normalizes the DI grid (if requested).
Selects ways to adjust ages; repeatable. Choose from -Tt to truncate crustal ages given via the -A option that exceed the upper age set with -N [no truncation], or -Tufixed_val which means that after a node passes the test implied by -Z, we use this fixed_val instead in the calculations. [Default uses individual node values].
-V[level] (more …)
Select verbosity level [c].
Get n_try bootstrap estimates of the maximum CVA location; the longitude and latitude results are written to stdout [Default is no bootstrapping]. Cannot be used with -M.
Ignore nodes with z-values lower than z_min [0] and optionally larger than z_max [Inf]. Give z_min/z_max/z_inc to make separate CVA grids for each z-slice [Default makes one CVA grid]. Multi-slicing cannot be used with -M.
-r[g|p] (more …)
Set node registration [gridline].
-^ or just -
Print a short message about the syntax of the command, then exits (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 exits.
-? or no arguments
Print a complete usage (help) message, including the explanation of all options, then exits.
Temporarily override a GMT default setting; repeatable. See gmt.conf for parameters.

Geodetic versus Geocentric Coordinates

All spherical rotations are applied to geocentric coordinates. This means that incoming data points and grids are considered to represent geodetic coordinates and must first be converted to geocentric coordinates. Rotations are then applied, and the final reconstructed points are converted back to geodetic coordinates. This default behavior can be bypassed if the ellipsoid setting PROJ_ELLIPSOID is changed to Sphere.


To create a CVA image from the Pacific topography grid, using the DC85.txt Euler poles, and only output a grid for the specified domain, run

gmt grdspotter -EDC85.txt -R190/220/15/25 -I2m -N145 -Tt -V

This file can then be plotted with grdimage.


GMT distributes the EarthByte rotation model Global_EarthByte_230-0Ma_GK07_AREPS.rot. To use an alternate rotation file, create an environmental parameters named GPLATES_ROTATIONS that points to an alternate rotation file.


Wessel, P., 1999, “Hotspotting” tools released, EOS Trans. AGU, 80 (29), p. 319.

Wessel, P., 2008, Hotspotting: Principles and properties of a plate tectonic Hough transform, Geochem. Geophys. Geosyst. 9(Q08004): doi:10.1029/2008GC002058.