manpagez: man pages & more
man grdmath(1)
Home | html | info | man
```grdmath(1)                            GMT                           grdmath(1)

```

## NAME

```       grdmath  -  Reverse Polish Notation (RPN) calculator for grids (element
by element)

```

## SYNOPSIS

```       grdmath [  -Amin_area[/min_level/max_level][+ag|i|s |S][+r|l][ppercent]
] [  -Dresolution[+] ] [  -Iincrement ] [  -M ] [  -N ] [  -Rregion ] [
-V[level] ] [ -bibinary ] [ -dinodata ] [ -fflags ]  [  -hheaders  ]  [
-iflags  ] [ -nflags ] [ -r ] [ -x[[-]n] ] operand [ operand ] OPERATOR
[ operand ] OPERATOR a| = outgrdfile

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

```

## DESCRIPTION

```       grdmath  will  perform  operations  like  add,  subtract, multiply, and
divide on one or more grid files  or  constants  using  Reverse  Polish
Notation  (RPN) syntax (e.g., Hewlett-Packard calculator-style).  Arbi-
trarily complicated expressions may therefore be evaluated;  the  final
result  is  written  to  an  output grid file. Grid operations are ele-
ment-by-element, not matrix manipulations. Some operators only  require
one  operand  (see  below). If no grid files are used in the expression
then options -R, -I must be set (and optionally -r). The  expression  =
outgrdfile  can occur as many times as the depth of the stack allows in
order to save intermediate results.  Complicated or  frequently  occur-
ring  expressions  may be coded as a macro for future use or stored and
recalled via named memory locations.

```

## REQUIRED ARGUMENTS

```       operand
If operand can be opened as a file it will be  read  as  a  grid
file.   If not a file, it is interpreted as a numerical constant
or a special symbol (see below).

outgrdfile
The name of a 2-D grid file that will  hold  the  final  result.
(See GRID FILE FORMATS below).

```

## OPTIONAL ARGUMENTS

```       -Amin_area[/min_level/max_level][+ag|i|s|S][+r|l][+ppercent]
Features  with an area smaller than min_area in km^2 or of hier-
archical level that is  lower  than  min_level  or  higher  than
max_level will not be plotted [Default is 0/0/4 (all features)].
Level 2 (lakes) contains regular lakes  and  wide  river  bodies
which  we  normally  include  as  lakes;  append  +r to just get
river-lakes or +l to just get regular lakes.  By  default  (+ai)
we  select  the  ice shelf boundary as the coastline for Antarc-
tica; append +ag to instead select the  ice  grounding  line  as
coastline.  For expert users who wish to print their own Antarc-
tica coastline and islands via psxy you can use +as to skip  all
GSHHG  features  below  60S  or +aS to instead skip all features
north of 60S.  Finally, append  +ppercent  to  exclude  polygons
whose  percentage area of the corresponding full-resolution fea-
ture is less than percent. See GSHHG INFORMATION below for  more
details. (-A is only relevant to the LDISTG operator)

-Dresolution[+]
Selects  the resolution of the data set to use with the operator
LDISTG ((f)ull, (h)igh, (i)ntermediate, (l)ow, and (c)rude). The
resolution  drops  off  by 80% between data sets [Default is l].
Append + to automatically select a lower resolution  should  the

-Ixinc[unit][+e|n][/yinc[unit][+e|n]]
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, nau-
tical mile or US survey foot, respectively,  and  will  be  con-
verted  to  the equivalent degrees longitude at the middle lati-
tude 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  coordi-
nates:  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  recalcu-
lated  from  the  number  of nodes and the domain. The resulting
increment value depends on whether you  have  selected  a  grid-
line-registered  or  pixel-registered grid; see App-file-formats
for details. Note: if -Rgrdfile is used then  the  grid  spacing
has already been initialized; use -I to override the values.

-M     By  default  any  derivatives  calculated  are  in z_units/ x(or
y)_units. However, the user may choose this  option  to  convert
dx,dy  in degrees of longitude,latitude into meters using a flat
Earth approximation, so that gradients are in z_units/meter.

-N     Turn off strict domain match checking when  multiple  grids  are
manipulated [Default will insist that each grid domain is within
1e-4 * grid_spacing of the domain of the first grid listed].

-Rxmin/xmax/ymin/ymax[+r][+uunit] (more a|)
Specify the region of interest.

-V[level] (more a|)
Select verbosity level [c].

-bi[ncols][t] (more a|)
Select native binary input. The binary input option only applies
to  the data files needed by operators LDIST, PDIST, and INSIDE.

-dinodata (more a|)
Replace input columns that equal nodata with NaN.

-f[i|o]colinfo (more a|)
Specify data types of input and/or output columns.

-g[a]x|y|d|X|Y|D|[col]z[+|-]gap[u] (more a|)
Determine data gaps and line breaks.

-h[i|o][n][+c][+d][+rremark][+rtitle] (more a|)

-icols[+l][+sscale][+ooffset][,^<i>a|] (more a|)
Select input columns and transformations (0 is first column).

-n[b|c|l|n][+a][+bBC][+c][+tthreshold] (more a|)
Select interpolation mode for grids.

-r (more a|)
Set pixel node registration [gridline]. Only used with -R -I.

-x[[-]n] (more a|)
Limit number of cores used in multi-threaded algorithms  (OpenMP
required).

-^ 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  explana-
tion  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.

```

## OPERATORS

```       Choose  among  the  following  209  operators. aargsa are the number of
input and output arguments.

+----------+------+---------------------+
|Operator  | args | Returns             |
+----------+------+---------------------+
|ABS       | 1 1  | abs (A)             |
+----------+------+---------------------+
|ACOS      | 1 1  | acos (A)            |
+----------+------+---------------------+
|ACOSH     | 1 1  | acosh (A)           |
+----------+------+---------------------+
|ACOT      | 1 1  | acot (A)            |
+----------+------+---------------------+
|ACSC      | 1 1  | acsc (A)            |
+----------+------+---------------------+
|ADD       | 2 1  | A + B               |
+----------+------+---------------------+
|AND       | 2 1  | B if A == NaN, else |
|          |      | A                   |
+----------+------+---------------------+
|ARC       | 2 1  | Return  arc(A,B) on |
|          |      | [0 pi]              |
+----------+------+---------------------+
|AREA      | 0 1  | Area    of     each |
|          |      | gridnode  cell  (in |
|          |      | km^2 if geographic) |
+----------+------+---------------------+
|ASEC      | 1 1  | asec (A)            |
+----------+------+---------------------+
|ASIN      | 1 1  | asin (A)            |
+----------+------+---------------------+
|ASINH     | 1 1  | asinh (A)           |
+----------+------+---------------------+
|ATAN      | 1 1  | atan (A)            |
+----------+------+---------------------+
|ATAN2     | 2 1  | atan2 (A, B)        |
+----------+------+---------------------+
|ATANH     | 1 1  | atanh (A)           |
+----------+------+---------------------+
|BCDF      | 3 1  | Binomial cumulative |
|          |      | distribution  func- |
|          |      | tion for p = A, n = |
|          |      | B, and x = C        |
+----------+------+---------------------+
|BPDF      | 3 1  | Binomial  probabil- |
|          |      | ity  density  func- |
|          |      | tion for p = A, n = |
|          |      | B, and x = C        |
+----------+------+---------------------+

|BEI       | 1 1  | bei (A)             |
+----------+------+---------------------+
|BER       | 1 1  | ber (A)             |
+----------+------+---------------------+
|BITAND    | 2 1  | A  & B (bitwise AND |
|          |      | operator)           |
+----------+------+---------------------+
|BITLEFT   | 2 1  | A  <<  B   (bitwise |
|          |      | left-shift   opera- |
|          |      | tor)                |
+----------+------+---------------------+
|BITNOT    | 1 1  | ~A   (bitwise   NOT |
|          |      | operator,     i.e., |
|          |      | return  twoas  com- |
|          |      | plement)            |
+----------+------+---------------------+
|BITOR     | 2 1  | A  |  B (bitwise OR |
|          |      | operator)           |
+----------+------+---------------------+
|BITRIGHT  | 2 1  | A  >>  B   (bitwise |
|          |      | right-shift  opera- |
|          |      | tor)                |
+----------+------+---------------------+
|BITTEST   | 2 1  | 1 if bit B of A  is |
|          |      | set,  else  0 (bit- |
|          |      | wise TEST operator) |
+----------+------+---------------------+
|BITXOR    | 2 1  | A  ^ B (bitwise XOR |
|          |      | operator)           |
+----------+------+---------------------+
|CAZ       | 2 1  | Cartesian   azimuth |
|          |      | from  grid nodes to |
|          |      | stack x,y (i.e., A, |
|          |      | B)                  |
+----------+------+---------------------+
|CBAZ      | 2 1  | Cartesian           |
|          |      | back-azimuth   from |
|          |      | grid nodes to stack |
|          |      | x,y (i.e., A, B)    |
+----------+------+---------------------+
|CDIST     | 2 1  | Cartesian  distance |
|          |      | between  grid nodes |
|          |      | and    stack    x,y |
|          |      | (i.e., A, B)        |
+----------+------+---------------------+
|CDIST2    | 2 1  | As  CDIST  but only |
|          |      | to nodes  that  are |
|          |      | != 0                |
+----------+------+---------------------+
|CEIL      | 1 1  | ceil  (A) (smallest |
|          |      | integer >= A)       |
+----------+------+---------------------+
|CHICRIT   | 2 1  | Chi-squared  criti- |
|          |      | cal value for alpha |
|          |      | = A and nu = B      |
+----------+------+---------------------+
|CHICDF    | 2 1  | Chi-squared cumula- |
|          |      | tive   distribution |
|          |      | function for chi2 = |
|          |      | A and nu = B        |
+----------+------+---------------------+
|CHIPDF    | 2 1  | Chi-squared  proba- |
|          |      | bility      density |
|          |      | function for chi2 = |
|          |      | A and nu = B        |
+----------+------+---------------------+

|COMB      | 2 1  | Combinations n_C_r, |
|          |      | with  n = A and r = |
|          |      | B                   |
+----------+------+---------------------+
|CORRCOEFF | 2 1  | Correlation coeffi- |
|          |      | cient r(A, B)       |
+----------+------+---------------------+
|COS       | 1 1  | cos (A) (A in radi- |
|          |      | ans)                |
+----------+------+---------------------+
|COSD      | 1 1  | cos   (A)   (A   in |
|          |      | degrees)            |
+----------+------+---------------------+
|COSH      | 1 1  | cosh (A)            |
+----------+------+---------------------+
|COT       | 1 1  | cot (A) (A in radi- |
|          |      | ans)                |
+----------+------+---------------------+
|COTD      | 1 1  | cot   (A)   (A   in |
|          |      | degrees)            |
+----------+------+---------------------+
|CSC       | 1 1  | csc (A) (A in radi- |
|          |      | ans)                |
+----------+------+---------------------+
|CSCD      | 1 1  | csc   (A)   (A   in |
|          |      | degrees)            |
+----------+------+---------------------+
|CURV      | 1 1  | Curvature    of   A |
|          |      | (Laplacian)         |
+----------+------+---------------------+
|D2DX2     | 1 1  | d^2(A)/dx^2 2nd de- |
|          |      | rivative            |
+----------+------+---------------------+
|D2DY2     | 1 1  | d^2(A)/dy^2 2nd de- |
|          |      | rivative            |
+----------+------+---------------------+
|D2DXY     | 1 1  | d^2(A)/dxdy 2nd de- |
|          |      | rivative            |
+----------+------+---------------------+
|D2R       | 1 1  | Converts Degrees to |
+----------+------+---------------------+
|DDX       | 1 1  | d(A)/dx Central 1st |
|          |      | derivative          |
+----------+------+---------------------+
|DDY       | 1 1  | d(A)/dy Central 1st |
|          |      | derivative          |
+----------+------+---------------------+
|DEG2KM    | 1 1  | Converts  Spherical |
|          |      | Degrees  to Kilome- |
|          |      | ters                |
+----------+------+---------------------+
|DENAN     | 2 1  | Replace NaNs  in  A |
|          |      | with values from B  |
+----------+------+---------------------+
|DILOG     | 1 1  | dilog (A)           |
+----------+------+---------------------+
|DIV       | 2 1  | A / B               |
+----------+------+---------------------+
|DUP       | 1 2  | Places duplicate of |
|          |      | A on the stack      |
+----------+------+---------------------+

|ECDF      | 2 1  | Exponential cumula- |
|          |      | tive   distribution |
|          |      | function for x =  A |
|          |      | and lambda = B      |
+----------+------+---------------------+
|ECRIT     | 2 1  | Exponential distri- |
|          |      | bution     critical |
|          |      | value for alpha = A |
|          |      | and lambda = B      |
+----------+------+---------------------+
|EPDF      | 2 1  | Exponential  proba- |
|          |      | bility      density |
|          |      | function for x =  A |
|          |      | and lambda = B      |
+----------+------+---------------------+
|ERF       | 1 1  | Error  function erf |
|          |      | (A)                 |
+----------+------+---------------------+
|ERFC      | 1 1  | Complementary Error |
|          |      | function erfc (A)   |
+----------+------+---------------------+
|EQ        | 2 1  | 1 if A == B, else 0 |
+----------+------+---------------------+
|ERFINV    | 1 1  | Inverse error func- |
|          |      | tion of A           |
+----------+------+---------------------+
|EXCH      | 2 2  | Exchanges  A  and B |
|          |      | on the stack        |
+----------+------+---------------------+
|EXP       | 1 1  | exp (A)             |
+----------+------+---------------------+
|FACT      | 1 1  | A! (A factorial)    |
+----------+------+---------------------+
|EXTREMA   | 1 1  | Local      Extrema: |
|          |      | +2/-2  is  max/min, |
|          |      | +1/-1   is   saddle |
|          |      | with  max/min in x, |
|          |      | 0 elsewhere         |
+----------+------+---------------------+
|FCDF      | 3 1  | F  cumulative  dis- |
|          |      | tribution  function |
|          |      | for F = A, nu1 = B, |
|          |      | and nu2 = C         |
+----------+------+---------------------+
|FCRIT     | 3 1  | F      distribution |
|          |      | critical value  for |
|          |      | alpha = A, nu1 = B, |
|          |      | and nu2 = C         |
+----------+------+---------------------+
|FLIPLR    | 1 1  | Reverse  order   of |
|          |      | values in each row  |
+----------+------+---------------------+
|FLIPUD    | 1 1  | Reverse   order  of |
|          |      | values in each col- |
|          |      | umn                 |
+----------+------+---------------------+
|FLOOR     | 1 1  | floor (A) (greatest |
|          |      | integer <= A)       |
+----------+------+---------------------+
|FMOD      | 2 1  | A  %  B  (remainder |
|          |      | after     truncated |
|          |      | division)           |
+----------+------+---------------------+

|FPDF      | 3 1  | F probability  den- |
|          |      | sity function for F |
|          |      | = A, nu1 =  B,  and |
|          |      | nu2 = C             |
+----------+------+---------------------+
|GE        | 2 1  | 1 if A >= B, else 0 |
+----------+------+---------------------+
|GT        | 2 1  | 1 if A > B, else 0  |
+----------+------+---------------------+
|HYPOT     | 2 1  | hypot (A, B) = sqrt |
|          |      | (A*A + B*B)         |
+----------+------+---------------------+
|I0        | 1 1  | Modified     Bessel |
|          |      | function of A  (1st |
|          |      | kind, order 0)      |
+----------+------+---------------------+
|I1        | 1 1  | Modified     Bessel |
|          |      | function of A  (1st |
|          |      | kind, order 1)      |
+----------+------+---------------------+
|IFELSE    | 3 1  | B if A != 0, else C |
+----------+------+---------------------+
|IN        | 2 1  | Modified     Bessel |
|          |      | function  of A (1st |
|          |      | kind, order B)      |
+----------+------+---------------------+
|INRANGE   | 3 1  | 1 if B <= A  <=  C, |
|          |      | else 0              |
+----------+------+---------------------+
|INSIDE    | 1 1  | 1 when inside or on |
|          |      | polygon(s)  in   A, |
|          |      | else 0              |
+----------+------+---------------------+
|INV       | 1 1  | 1 / A               |
+----------+------+---------------------+
|ISFINITE  | 1 1  | 1  if  A is finite, |
|          |      | else 0              |
+----------+------+---------------------+
|ISNAN     | 1 1  | 1 if A == NaN, else |
|          |      | 0                   |
+----------+------+---------------------+
|J0        | 1 1  | Bessel  function of |
|          |      | A (1st kind,  order |
|          |      | 0)                  |
+----------+------+---------------------+
|J1        | 1 1  | Bessel  function of |
|          |      | A (1st kind,  order |
|          |      | 1)                  |
+----------+------+---------------------+
|JN        | 2 1  | Bessel  function of |
|          |      | A (1st kind,  order |
|          |      | B)                  |
+----------+------+---------------------+
|K0        | 1 1  | Modified     Kelvin |
|          |      | function of A  (2nd |
|          |      | kind, order 0)      |
+----------+------+---------------------+
|K1        | 1 1  | Modified     Bessel |
|          |      | function of A  (2nd |
|          |      | kind, order 1)      |
+----------+------+---------------------+
|KEI       | 1 1  | kei (A)             |
+----------+------+---------------------+
|KER       | 1 1  | ker (A)             |
+----------+------+---------------------+

|KM2DEG    | 1 1  | Converts Kilometers |
|          |      | to        Spherical |
|          |      | Degrees             |
+----------+------+---------------------+
|KN        | 2 1  | Modified     Bessel |
|          |      | function of A  (2nd |
|          |      | kind, order B)      |
+----------+------+---------------------+
|KURT      | 1 1  | Kurtosis of A       |
+----------+------+---------------------+
|LCDF      | 1 1  | Laplace  cumulative |
|          |      | distribution  func- |
|          |      | tion for z = A      |
+----------+------+---------------------+
|LCRIT     | 1 1  | Laplace   distribu- |
|          |      | tion critical value |
|          |      | for alpha = A       |
+----------+------+---------------------+
|LDIST     | 1 1  | Compute     minimum |
|          |      | distance (in km  if |
|          |      | -fg)  from lines in |
|          |      | multi-segment ASCII |
|          |      | file A              |
+----------+------+---------------------+
|LDIST2    | 2 1  | As    LDIST,   from |
|          |      | lines in ASCII file |
|          |      | B but only to nodes |
|          |      | where A != 0        |
+----------+------+---------------------+
|LDISTG    | 0 1  | As LDIST, but oper- |
|          |      | ates  on  the GSHHG |
|          |      | dataset (see -A, -D |
|          |      | for options).       |
+----------+------+---------------------+
|LE        | 2 1  | 1 if A <= B, else 0 |
+----------+------+---------------------+
|LOG       | 1 1  | log  (A)   (natural |
|          |      | log)                |
+----------+------+---------------------+
|LOG10     | 1 1  | log10 (A) (base 10) |
+----------+------+---------------------+
|LOG1P     | 1 1  | log (1+A) (accurate |
|          |      | for small A)        |
+----------+------+---------------------+
|LOG2      | 1 1  | log2 (A) (base 2)   |
+----------+------+---------------------+
|LMSSCL    | 1 1  | LMS  scale estimate |
|          |      | (LMS STD) of A      |
+----------+------+---------------------+
|LMSSCLW   | 2 1  | Weighted LMS  scale |
|          |      | estimate  (LMS STD) |
|          |      | of A for weights in |
|          |      | B                   |
+----------+------+---------------------+
|LOWER     | 1 1  | The  lowest  (mini- |
|          |      | mum) value of A     |
+----------+------+---------------------+
|LPDF      | 1 1  | Laplace probability |
|          |      | density    function |
|          |      | for z = A           |
+----------+------+---------------------+
|LRAND     | 2 1  | Laplace      random |
|          |      | noise  with  mean A |
|          |      | and std.  deviation |
|          |      | B                   |
+----------+------+---------------------+

|LT        | 2 1  | 1 if A < B, else 0  |
+----------+------+---------------------+
|MAD       | 1 1  | Median     Absolute |
|          |      | Deviation (L1  STD) |
|          |      | of A                |
+----------+------+---------------------+
|MAX       | 2 1  | Maximum of A and B  |
+----------+------+---------------------+
|MEAN      | 1 1  | Mean value of A     |
+----------+------+---------------------+
|MEANW     | 2 1  | Weighted mean value |
|          |      | of A for weights in |
|          |      | B                   |
+----------+------+---------------------+
|MEDIAN    | 1 1  | Median value of A   |
+----------+------+---------------------+
|MEDIANW   | 2 1  | Weighted     median |
|          |      | value  of   A   for |
|          |      | weights in B        |
+----------+------+---------------------+
|MIN       | 2 1  | Minimum of A and B  |
+----------+------+---------------------+
|MOD       | 2 1  | A  mod B (remainder |
|          |      | after floored divi- |
|          |      | sion)               |
+----------+------+---------------------+
|MODE      | 1 1  | Mode  value  (Least |
|          |      | Median of  Squares) |
|          |      | of A                |
+----------+------+---------------------+
|MODEW     | 2 1  | Weighted mode value |
|          |      | (Least  Median   of |
|          |      | Squares)  of  A for |
|          |      | weights in B        |
+----------+------+---------------------+
|MUL       | 2 1  | A * B               |
+----------+------+---------------------+
|NAN       | 2 1  | NaN if A == B, else |
|          |      | A                   |
+----------+------+---------------------+
|NEG       | 1 1  | -A                  |
+----------+------+---------------------+
|NEQ       | 2 1  | 1 if A != B, else 0 |
+----------+------+---------------------+
|NORM      | 1 1  | Normalize  (A)   so |
|          |      | max(A)-min(A) = 1   |
+----------+------+---------------------+
|NOT       | 1 1  | NaN  if A == NaN, 1 |
|          |      | if A == 0, else 0   |
+----------+------+---------------------+
|NRAND     | 2 1  | Normal, random val- |
|          |      | ues with mean A and |
|          |      | std. deviation B    |
+----------+------+---------------------+
|OR        | 2 1  | NaN if  B  ==  NaN, |
|          |      | else A              |
+----------+------+---------------------+
|PCDF      | 2 1  | Poisson  cumulative |
|          |      | distribution  func- |
|          |      | tion  for x = A and |
|          |      | lambda = B          |
+----------+------+---------------------+

|PDIST     | 1 1  | Compute     minimum |
|          |      | distance  (in km if |
|          |      | -fg) from points in |
|          |      | ASCII file A        |
+----------+------+---------------------+
|PDIST2    | 2 1  | As    PDIST,   from |
|          |      | points   in   ASCII |
|          |      | file  B but only to |
|          |      | nodes where A != 0  |
+----------+------+---------------------+
|PERM      | 2 1  | Permutations n_P_r, |
|          |      | with  n = A and r = |
|          |      | B                   |
+----------+------+---------------------+
|PLM       | 3 1  | Associated Legendre |
|          |      | polynomial     P(A) |
|          |      | degree B order C    |
+----------+------+---------------------+
|PLMg      | 3 1  | Normalized  associ- |
|          |      | ated Legendre poly- |
|          |      | nomial P(A)  degree |
|          |      | B order C (geophys- |
|          |      | ical convention)    |
+----------+------+---------------------+
|POINT     | 1 2  | Compute mean x  and |
|          |      | y from ASCII file A |
|          |      | and place  them  on |
|          |      | the stack           |
+----------+------+---------------------+
|POP       | 1 0  | Delete  top element |
|          |      | from the stack      |
+----------+------+---------------------+
|POW       | 2 1  | A ^ B               |
+----------+------+---------------------+
|PPDF      | 2 1  | Poisson   distribu- |
|          |      | tion   P(x,lambda), |
|          |      | with  x  =  A   and |
|          |      | lambda = B          |
+----------+------+---------------------+
|PQUANT    | 2 1  | The  Bath  Quantile |
|          |      | (0-100%) of A       |
+----------+------+---------------------+
|PQUANTW   | 3 1  | The  Cath  weighted |
|          |      | quantile   (0-100%) |
|          |      | of A for weights in |
|          |      | B                   |
+----------+------+---------------------+
|PSI       | 1 1  | Psi (or Digamma) of |
|          |      | A                   |
+----------+------+---------------------+
|PV        | 3 1  | Legendre   function |
|          |      | Pv(A) of degree v = |
|          |      | real(B) + imag(C)   |
+----------+------+---------------------+
|QV        | 3 1  | Legendre   function |
|          |      | Qv(A) of degree v = |
|          |      | real(B) + imag(C)   |
+----------+------+---------------------+
|R2        | 2 1  | R2 = A^2 + B^2      |
+----------+------+---------------------+
|R2D       | 1 1  | Convert Radians  to |
|          |      | Degrees             |
+----------+------+---------------------+
|RAND      | 2 1  | Uniform random val- |
|          |      | ues between A and B |
+----------+------+---------------------+

|RCDF      | 1 1  | Rayleigh cumulative |
|          |      | distribution  func- |
|          |      | tion for z = A      |
+----------+------+---------------------+
|RCRIT     | 1 1  | Rayleigh  distribu- |
|          |      | tion critical value |
|          |      | for alpha = A       |
+----------+------+---------------------+
|RINT      | 1 1  | rint  (A) (round to |
|          |      | integral      value |
|          |      | nearest to A)       |
+----------+------+---------------------+
|RMS       | 1 1  | Root-mean-square of |
|          |      | A                   |
+----------+------+---------------------+
|RMSW      | 1 1  | Root-mean-square of |
|          |      | A for weights in B  |
+----------+------+---------------------+
|RPDF      | 1 1  | Rayleigh  probabil- |
|          |      | ity  density  func- |
|          |      | tion for z = A      |
+----------+------+---------------------+
|ROLL      | 2 0  | Cyclicly shifts the |
|          |      | top A  stack  items |
|          |      | by an amount B      |
+----------+------+---------------------+
|ROTX      | 2 1  | Rotate   A  by  the |
|          |      | (constant) shift  B |
|          |      | in x-direction      |
+----------+------+---------------------+
|ROTY      | 2 1  | Rotate   A  by  the |
|          |      | (constant) shift  B |
|          |      | in y-direction      |
+----------+------+---------------------+
|SDIST     | 2 1  | Spherical    (Great |
|          |      | circle|geodesic)    |
|          |      | distance   (in  km) |
|          |      | between  nodes  and |
|          |      | stack (A, B)        |
+----------+------+---------------------+
|SDIST2    | 2 1  | As  SDIST  but only |
|          |      | to nodes  that  are |
|          |      | != 0                |
+----------+------+---------------------+
|SAZ       | 2 1  | Spherical   azimuth |
|          |      | from grid nodes  to |
|          |      | stack    lon,   lat |
|          |      | (i.e., A, B)        |
+----------+------+---------------------+
|SBAZ      | 2 1  | Spherical           |
|          |      | back-azimuth   from |
|          |      | grid nodes to stack |
|          |      | lon,  lat (i.e., A, |
|          |      | B)                  |
+----------+------+---------------------+
|SEC       | 1 1  | sec (A) (A in radi- |
|          |      | ans)                |
+----------+------+---------------------+
|SECD      | 1 1  | sec   (A)   (A   in |
|          |      | degrees)            |
+----------+------+---------------------+
|SIGN      | 1 1  | sign (+1 or -1)  of |
|          |      | A                   |
+----------+------+---------------------+

|SIN       | 1 1  | sin (A) (A in radi- |
|          |      | ans)                |
+----------+------+---------------------+
|SINC      | 1 1  | sinc    (A)    (sin |
|          |      | (pi*A)/(pi*A))      |
+----------+------+---------------------+
|SIND      | 1 1  | sin   (A)   (A   in |
|          |      | degrees)            |
+----------+------+---------------------+
|SINH      | 1 1  | sinh (A)            |
+----------+------+---------------------+
|SKEW      | 1 1  | Skewness of A       |
+----------+------+---------------------+
|SQR       | 1 1  | A^2                 |
+----------+------+---------------------+
|SQRT      | 1 1  | sqrt (A)            |
+----------+------+---------------------+
|STD       | 1 1  | Standard  deviation |
|          |      | of A                |
+----------+------+---------------------+
|STDW      | 2 1  | Weighted   standard |
|          |      | deviation of A  for |
|          |      | weights in B        |
+----------+------+---------------------+
|STEP      | 1 1  | Heaviside      step |
|          |      | function: H(A)      |
+----------+------+---------------------+
|STEPX     | 1 1  | Heaviside      step |
|          |      | function    in   x: |
|          |      | H(x-A)              |
+----------+------+---------------------+
|STEPY     | 1 1  | Heaviside      step |
|          |      | function    in   y: |
|          |      | H(y-A)              |
+----------+------+---------------------+
|SUB       | 2 1  | A - B               |
+----------+------+---------------------+
|SUM       | 1 1  | Sum of  all  values |
|          |      | in A                |
+----------+------+---------------------+
|TAN       | 1 1  | tan (A) (A in radi- |
|          |      | ans)                |
+----------+------+---------------------+
|TAND      | 1 1  | tan   (A)   (A   in |
|          |      | degrees)            |
+----------+------+---------------------+
|TANH      | 1 1  | tanh (A)            |
+----------+------+---------------------+
|TAPER     | 2 1  | Unit        weights |
|          |      | cosine-tapered   to |
|          |      | zero within A and B |
|          |      | of  x  and  y  grid |
|          |      | margins             |
+----------+------+---------------------+
|TCDF      | 2 1  | Studentas t cumula- |
|          |      | tive   distribution |
|          |      | function for t = A, |
|          |      | and nu = B          |
+----------+------+---------------------+
|TCRIT     | 2 1  | Studentas t distri- |
|          |      | bution     critical |
|          |      | value for alpha = A |
|          |      | and nu = B          |
+----------+------+---------------------+

|TN        | 2 1  | Chebyshev   polyno- |
|          |      | mial Tn(-1<t<+1,n), |
|          |      | with t = A, and n = |
|          |      | B                   |
+----------+------+---------------------+
|TPDF      | 2 1  | Studentas t  proba- |
|          |      | bility      density |
|          |      | function for t = A, |
|          |      | and nu = B          |
+----------+------+---------------------+
|TRIM      | 3 1  | Alpha-trim C to NaN |
|          |      | if values  fall  in |
|          |      | tails  A  and B (in |
|          |      | percentage)         |
+----------+------+---------------------+
|UPPER     | 1 1  | The highest  (maxi- |
|          |      | mum) value of A     |
+----------+------+---------------------+
|VAR       | 1 1  | Variance of A       |
+----------+------+---------------------+
|VARW      | 2 1  | Weighted   variance |
|          |      | of A for weights in |
|          |      | B                   |
+----------+------+---------------------+
|WCDF      | 3 1  | Weibull  cumulative |
|          |      | distribution  func- |
|          |      | tion  for  x  =  A, |
|          |      | scale  =   B,   and |
|          |      | shape = C           |
+----------+------+---------------------+
|WCRIT     | 3 1  | Weibull   distribu- |
|          |      | tion critical value |
|          |      | for   alpha   =  A, |
|          |      | scale  =   B,   and |
|          |      | shape = C           |
+----------+------+---------------------+
|WPDF      | 3 1  | Weibull     density |
|          |      | distribution        |
|          |      | P(x,scale,shape),   |
|          |      | with x = A, scale = |
|          |      | B, and shape = C    |
+----------+------+---------------------+
|WRAP      | 1 1  | wrap  A  in radians |
|          |      | onto [-pi,pi]       |
+----------+------+---------------------+
|XOR       | 2 1  | 0 if A == NaN and B |
|          |      | == NaN, NaN if B == |
|          |      | NaN, else A         |
+----------+------+---------------------+
|Y0        | 1 1  | Bessel function  of |
|          |      | A  (2nd kind, order |
|          |      | 0)                  |
+----------+------+---------------------+
|Y1        | 1 1  | Bessel function  of |
|          |      | A  (2nd kind, order |
|          |      | 1)                  |
+----------+------+---------------------+
|YLM       | 2 2  | Re and Im orthonor- |
|          |      | malized   spherical |
|          |      | harmonics degree  A |
|          |      | order B             |
+----------+------+---------------------+

|YLMg      | 2 2  | Cos and Sin normal- |
|          |      | ized spherical har- |
|          |      | monics   degree   A |
|          |      | order B  (geophysi- |
|          |      | cal convention)     |
+----------+------+---------------------+
|YN        | 2 1  | Bessel  function of |
|          |      | A (2nd kind,  order |
|          |      | B)                  |
+----------+------+---------------------+
|ZCDF      | 1 1  | Normal   cumulative |
|          |      | distribution  func- |
|          |      | tion for z = A      |
+----------+------+---------------------+
|ZPDF      | 1 1  | Normal  probability |
|          |      | density    function |
|          |      | for z = A           |
+----------+------+---------------------+
|ZCRIT     | 1 1  | Normal distribution |
|          |      | critical value  for |
|          |      | alpha = A           |
+----------+------+---------------------+

```

## SYMBOLS

```       The following symbols have special meaning:

+-------+----------------------------+
|PI     | 3.1415926a|                |
+-------+----------------------------+
|E      | 2.7182818a|                |
+-------+----------------------------+
|EULER  | 0.5772156a|                |
+-------+----------------------------+
|EPS_F  | 1.192092896e-07    (single |
|       | precision epsilon          |
+-------+----------------------------+
|XMIN   | Minimum x value            |
+-------+----------------------------+
|XMAX   | Maximum x value            |
+-------+----------------------------+
|XRANGE | Range of x values          |
+-------+----------------------------+
|XINC   | x increment                |
+-------+----------------------------+
|NX     | The number of x nodes      |
+-------+----------------------------+
|YMIN   | Minimum y value            |
+-------+----------------------------+
|YMAX   | Maximum y value            |
+-------+----------------------------+
|YRANGE | Range of y values          |
+-------+----------------------------+
|YINC   | y increment                |
+-------+----------------------------+
|NY     | The number of y nodes      |
+-------+----------------------------+
|X      | Grid with x-coordinates    |
+-------+----------------------------+
|Y      | Grid with y-coordinates    |
+-------+----------------------------+
|XNORM  | Grid with  normalized  [-1 |
|       | to +1] x-coordinates       |
+-------+----------------------------+
|YNORM  | Grid  with  normalized [-1 |
|       | to +1] y-coordinates       |
+-------+----------------------------+

|XCOL   | Grid with  column  numbers |
|       | 0, 1, a|, NX-1             |
+-------+----------------------------+
|YROW   | Grid  with  row numbers 0, |
|       | 1, a|, NY-1                |
+-------+----------------------------+
|NODE   | Grid with node numbers  0, |
|       | 1, a|, (NX*NY)-1           |
+-------+----------------------------+

```

## NOTES ON OPERATORS

```       1.  For  Cartesian grids the operators MEAN, MEDIAN, MODE, LMSSCL, MAD,
PQUANT, RMS, STD, and VAR return the expected value from the  given
matrix.   However,  for  geographic  grids we perform a spherically
weighted calculation where each node value is weighted by the  geo-
graphic area represented by that node.

2.  The operator SDIST calculates spherical distances in km between the
(lon, lat) point on the stack and all node positions in  the  grid.
The  grid  domain  and  the  (lon, lat) point are expected to be in
degrees.  Similarly, the SAZ and SBAZ operators calculate spherical
azimuth  and  back-azimuths in degrees, respectively. The operators
LDIST and PDIST compute spherical distances in km if -fg is set  or
implied, else they return Cartesian distances. Note: If the current
PROJ_ELLIPSOID is ellipsoidal then geodesics are used  in  calcula-
tions  of  distances,  which can be slow.  You can trade speed with
accuracy by changing the algorithm used  to  compute  the  geodesic
(see PROJ_GEODESIC).

The  operator  LDISTG  is  a  version of LDIST that operates on the
one  of the GSHHG data sets as determined by the -D and -A options.

3.  The operator POINT reads a ASCII table, computes  the  mean  x  and
mean  y  values  and places these on the stack.  If geographic data
then we use the mean 3-D vector to determine the mean location.

4.  The operator PLM calculates the associated Legendre  polynomial  of
degree L and order M (0 <= M <= L), and its argument is the sine of
the latitude. PLM is not normalized and includes the  Condon-Short-
ley  phase  (-1)^M. PLMg is normalized in the way that is most com-
monly used in geophysics. The C-S phase can be added by using -M as
argument.   PLM  will  overflow  at higher degrees, whereas PLMg is
stable until ultra high degrees (at least 3000).

5.  The operators YLM and YLMg calculate normalized spherical harmonics
for  degree  L  and  order M (0 <= M <= L) for all positions in the
grid, which is assumed to be in degrees. YLM and  YLMg  return  two
grids, the real (cosine) and imaginary (sine) component of the com-
plex spherical harmonic. Use the POP operator (and EXCH) to get rid
of  one  of  them, or save both by giving two consecutive = file.nc
calls.

The orthonormalized complex harmonics YLM are most commonly used in
physics  and  seismology.  The square of YLM integrates to 1 over a
sphere. In geophysics, YLMg is normalized  to  produce  unit  power
when  averaging  the  cosine  and  sine  terms (separately!) over a
sphere (i.e., their squares each  integrate  to  4  pi).  The  Con-
don-Shortley  phase  (-1)^M  is not included in YLM or YLMg, but it
can be added by using -M as argument.

6.  All the derivatives are based on central finite  differences,  with
natural boundary conditions, and are Cartesian derivatives.

7.  Files  that have the same names as some operators, e.g., ADD, SIGN,
=, etc. should be identified by prepending  the  current  directory
(i.e., ./LOG).

8.  Piping of files is not allowed.

9.  The stack depth limit is hard-wired to 100.

10. All  functions  expecting  a positive radius (e.g., LOG, KEI, etc.)
are passed the absolute value of their argument.  (9)  The  bitwise
operators  (BITAND,  BITLEFT, BITNOT, BITOR, BITRIGHT, BITTEST, and
BITXOR) convert a gridas single precision values to unsigned 32-bit
ints  to  perform the bitwise operations. Consequently, the largest
whole integer value that can be stored in a float grid is  2^24  or
16,777,216. Any higher result will be masked to fit in the lower 24
bits.  Thus, bit operations are effectively limited to 24 bit.  All
bitwise operators return NaN if given NaN arguments or bit-settings
<= 0.

11. When OpenMP support is compiled  in,  a  few  operators  will  take
present, the list of  such  operators  is:  LDIST,  LDIST2,  PDIST,
PDIST2, SAZ, SBAZ, SDIST, YLM, and grd_YLMg.

```

## GRID VALUES PRECISION

```       Regardless of the precision of the input data, GMT programs that create
grid files will internally hold the  grids  in  4-byte  floating  point
arrays. This is done to conserve memory and furthermore most if not all
real data can be stored using 4-byte floating point values.  Data  with
higher  precision (i.e., double precision values) will lose that preci-
sion once GMT operates on the grid or writes out new  grids.  To  limit
loss  of precision when processing data you should always consider nor-
malizing the data prior to processing.

```

## 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  apackinga of grids, writing out floating point
data as 1- or 2-byte integers. (more a|)

```

## GEOGRAPHICAL AND TIME COORDINATES

```       When the output grid type is netCDF, the coordinates  will  be  labeled
alongitudea, alatitudea, or atimea based on the attributes of the input
data or grid (if any) or on the -f or -R  options.  For  example,  both
-f0x  -f1t  and  -R90w/90e/0t/3t  will result in a longitude/time grid.
When the x, y, or z coordinate is time, it will be stored in  the  grid
as  relative  time since epoch as specified by TIME_UNIT and TIME_EPOCH
in the gmt.conf file or on the command  line.  In  addition,  the  unit
attribute  of the time variable will indicate both this unit and epoch.

```

## STORE, RECALL AND CLEAR

```       You may store intermediate calculations to a named  variable  that  you
may  recall  and  place on the stack at a later time. This is useful if
it will shorten the overall expression and improve readability. To save
a result you use the special operator STO@label,  where  label  is  the
name  you  choose  to give the quantity. To recall the stored result to
the stack at a later time, use [RCL]@label, i.e., RCL is  optional.  To
clear  memory  you  may  use CLR@label. Note that STO and CLR leave the
stack unchanged.

```

## GSHHS INFORMATION

```       The coastline database is GSHHG (formerly GSHHS) which is compiled from
three  sources:   World Vector Shorelines (WVS), CIA World Data Bank II
(WDBII), and Atlas of the Cryosphere (AC, for Antarctica only).   Apart
from Antarctica, all level-1 polygons (ocean-land boundary) are derived
from the more accurate WVS while all higher level polygons (level  2-4,
representing         land/lake,         lake/island-in-lake,        and
island-in-lake/lake-in-island-in-lake boundaries) are taken from WDBII.
The  Antarctica  coastlines come in two flavors: ice-front or grounding
line, selectable via the -A option.  Much processing has taken place to
convert  WVS,  WDBII,  and AC data into usable form for GMT: assembling
closed polygons from line segments, checking for duplicates,  and  cor-
recting  for  crossings between polygons.  The area of each polygon has
been determined so that the  user  may  choose  not  to  draw  features
smaller  than  a  minimum area (see -A); one may also limit the highest
hierarchical level of polygons to be included (4 is the maximum). The 4
lower-resolution  databases were derived from the full resolution data-
base using the Douglas-Peucker line-simplification algorithm. The clas-
sification  of rivers and borders follow that of the WDBII. See the GMT
Cookbook and Technical Reference Appendix K for further details.

```

## MACROS

```       Users may save their favorite operator combinations as macros  via  the
file  grdmath.macros  in  their current or user directory. The file may
contain any number of macros (one per record); comment  lines  starting
with  #  are  skipped. The format for the macros is name = arg1 arg2 a|
arg2 : comment where name is how the macro  will  be  used.  When  this
operator  appears  on  the  command  line we simply replace it with the
listed argument list. No macro may call another macro. As  an  example,
the following macro expects three arguments (radius x0 y0) and sets the
modes that are inside the given circle to 1 and those outside to 0:

INCIRCLE = CDIST EXCH DIV 1 LE : usage: r x  y  INCIRCLE  to  return  1
inside circle

Note:  Because  geographic or time constants may be present in a macro,
it is required that the optional comment flag (:) must be followed by a
space.

```

## EXAMPLES

```       To compute all distances to north pole:

gmt grdmath -Rg -I1 0 90 SDIST = dist_to_NP.nc

To take log10 of the average of 2 files, use

gmt grdmath file1.nc file2.nc ADD 0.5 MUL LOG10 = file3.nc

Given  the  file  ages.nc,  which  holds seafloor ages in m.y., use the
relation depth(in m) = 2500 + 350  *  sqrt  (age)  to  estimate  normal
seafloor depths:

gmt grdmath ages.nc SQRT 350 MUL 2500 ADD = depths.nc

To  find  the angle a (in degrees) of the largest principal stress from
the stress tensor given by the three files s_xx.nc s_yy.nc, and s_xy.nc
from the relation tan (2*a) = 2 * s_xy / (s_xx - s_yy), use

gmt grdmath 2 s_xy.nc MUL s_xx.nc s_yy.nc SUB DIV ATAN 2 DIV = direction.nc

To  calculate  the  fully normalized spherical harmonic of degree 8 and
order 4 on a 1 by 1 degree world map, using the real amplitude 0.4  and
the imaginary amplitude 1.1:

gmt grdmath -R0/360/-90/90 -I1 8 4 YLM 1.1 MUL EXCH 0.4 MUL ADD = harm.nc

To  extract  the  locations of local maxima that exceed 100 mGal in the
file faa.nc:

gmt grdmath faa.nc DUP EXTREMA 2 EQ MUL DUP 100 GT MUL 0 NAN = z.nc
gmt grd2xyz z.nc -s > max.xyz

To demonstrate the use of named variables, consider  this  radial  wave

gmt grdmath -R0/10/0/10 -I0.25 5 5 CDIST 2 MUL PI MUL 5 DIV STO@r COS @r SIN MUL = wave.nc

To creat a dumb file saved as a 32 bits float GeoTiff using GDAL, run

gmt grdmath -Rd -I10 X Y MUL = lixo.tiff=gd:GTiff

```

## REFERENCES

```       Abramowitz,  M., and I. A. Stegun, 1964, Handbook of Mathematical Func-
tions, Applied Mathematics Series, vol. 55, Dover, New York.

Holmes, S. A., and W. E. Featherstone, 2002, A unified approach to  the
Clenshaw  summation  and  the recursive computation of very high degree
and order normalised associated Legendre functions. Journal of Geodesy,
76, 279-299.

Press,  W.  H.,  S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery,
1992, Numerical Recipes, 2nd edition, Cambridge Univ., New York.

Spanier, J., and K. B. Oldman, 1987, An Atlas of Functions,  Hemisphere
Publishing Corp.

```

```       gmt(1), gmtmath(1), grd2xyz(1), grdedit(1), grdinfo(1), xyz2grd(1)

```

```       2017, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe
```© manpagez.com 2000-2021