GRDVOLUME(1)

NAME
grdvolume - Calculating volume under a surface within a contour

SYNOPSIS
grdvolume grdfile [ -Ccval or -Clow/high/delta ] [ -Lbase ] [ -Rwest/east/south/north[r] ] [ -S[k] ] [ -T ] [ -V[l] ] [ -Zfact[/delta] ] [ -fcolinfo ]

DESCRIPTION
grdvolume reads a 2-D binary grid file and calculates the volume contained between the surface and the plane specified by the given contour (or zero if not given) and reports the area, volume, and maximum mean height (volume/area). Alternatively, specify a range of contours to be tried and grdvolume will determine the volume and area inside the contour for all contour values. The contour that produced the maximum mean height is reported as well. This feature may be used with grdfilter in designing an Optimal Robust Separator [Wessel, 1998].

grdfile
    The name of the input 2-D binary grid file. (See GRID FILE FORMAT below.)

OPTIONS
No space between the option flag and the associated arguments.

-C  find area and volume inside the cval contour. Alternatively, search using all contours from low to high in steps of delta. [Default returns entire area and volume of grid]. The area is measured in the plane of the contour.

-L  Also add in the volume from the level of the contour down to base [Default base is contour].

-S  Convert degrees to meters, append k for km [Default is Cartesian].

-T  Use curvature minimum rather than maximum height to find best contour value (when contour search is selected with -C).

-R  xmin, xmax, ymin, and ymax specify the Region of interest. For geographic regions, these limits correspond to west, east, south, and north and you may specify them in decimal degrees or in [+-]dd:mm[:ss.xxx][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). Alternatively, specify the name of an existing grid file and the -R settings (and grid spacing, if applicable) are copied from the grid. For calendar time coordinates you may either give (a) relative time (relative to the selected TIME_EPOCH and in the selected TIME_UNIT; append t to -JX|x), or (b) absolute time of the form [date]T[clock] (append T to -JX|x). At least one of date and clock must be present; the T is always required. The date string must be of the form [-]yyyy[-mm[-dd]] (Gregorian calendar) or yyyy[-Www[-d]] (ISO week calendar), while the clock string must be of the form hh:mm:ss[.xxx]. The use of delimiters and their type and positions must be exactly as indicated (however, input, output and plot formats are customizable; see gmtdefaults).

-V  Selects verbose mode, which will send progress reports to stderr [Default runs "silently"]. Append l to see all the results for each contour level tested (when contour search has been selected).

-Z  Optionally subtract shift before scaling data by fact. [Default is no scaling]. (Numbers in -C, -L refer to values after this scaling has occurred).

-f  Special formatting of input and/or output columns (time or geographical data). Specify i or o to make this apply only to input or output [Default applies to both]. Give one or more columns (or column ranges) separated by commas. Append T (absolute calendar time), t (relative time in chosen TIME_UNIT since TIME_EPOCH), x (longitude), y (latitude), or f (floating point) to each column or column range item. Shorthand -f[i|o]g means -f[i|o]0x,1y (geographic coordinates).

GRID FILE FORMATS
GMT is able to recognize many of the commonly used grid file formats, as well as the precision, scale and offset of the values contained in the grid file. When GMT needs a little help with that, you can 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. See grdreformat(1) and Section 4.17 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. See grdreformat(1) and Section 4.18 of the GMT Technical Reference and Cookbook for more information, particularly on how to read splices of 3-, 4-, or 5-dimensional grids.

EXAMPLES
To determine the volume in km^3 under the surface hawaii_topo.grd (height in km), use

grdvolume hawaii_topo.grd -Sk

To find the volume between the surface peaks.grd and the contour z = 250, use

grdvolume peaks.grd -Sk -C250

To search for the contour, between 100 and 300 in steps of 10, that maximizes the ratio of volume to surface area for the file peaks.grd, use

grdvolume peaks.grd -Sk -C100/300/10 > results.d

To see the areas and volumes for all the contours in the previous example, use

grdvolume peaks.grd -Sk -Vl -C100/300/10 > results.d

NOTES
grdvolume distinguishes between gridline and gridcell oriented grids. In both cases the area and volume are computed up to the grid boundaries. That means that in the first case the gridcells on the boundary only contribute half their area (and volume), whereas in the second case all gridcells are fully used. The exception is when the -C flag is used: since contours do not extend beyond the outermost gridpoint, both grid types are treated the same. That means the outer rim in gridcell oriented grids is ignored when using the -C flag.

SEE ALSO
GMT(1), grdfilter(1)

REFERENCES
Wessel, P., 1998, An empirical method for optimal robust regional-residual separation of geophysical data, Math. Geol., 30(4), 391-408.