GRDTREND(1)

NAME
grdtrend - Fit and/or remove a polynomial trend in a grid file

SYNOPSIS
grdtrend grdfile -Nn_model[r] [ -Ddiff.grd ] [ -Ttrend.grd ] [ -V ] [ -Wweight.grd ]

DESCRIPTION
grdtrend reads a 2-D gridded file and fits a low-order polynomial trend to these data by [optionally weighted] least-squares. The trend surface is defined by:

m1 + m2*x + m3*y + m4*x*y + m5*x*x + m6*y*y + m7*x*x*x + m8*x*x*y + m9*x*y*y + m10*y*y*y.

The user must specify -Nn_model, the number of model parameters to use; thus, -N4 fits a bilinear trend, -N6 a quadratic surface, and so on. Optionally, append r to the -N option to perform a robust fit. In this case, the program will iteratively reweight the data based on a robust scale estimate, in order to converge to a solution insensitive to outliers. This may be handy when separating a "regional" field from a "residual" which should have non-zero mean, such as a local mountain on a regional surface.

If data file has values set to NaN, these will be ignored during fitting; if output files are written, these will also have NaN in the same locations.

No space between the option flag and the associated arguments.

grdfile
    The name of a 2-D binary grid file.

-N  [r]n_model sets the number of model parameters to fit. Append r for robust fit.

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

-D  Write the difference (input data - trend) to the file diff.grd.

-T  Write the fitted trend to the file trend.grd.

-V  Selects verbose mode, which will send progress reports to stderr [Default runs "silently"].

-W  If weight.grd exists, it will be read and used to solve a weighted least-squares problem. [Default: Ordinary least-squares fit.] If the robust option has been selected, the weights used in the robust fit will be written to weight.grd.

REMARKS
The domain of x and y will be shifted and scaled to [-1, 1] and the basis functions are built from Legendre polynomials. These have a numerical advantage in the form of the matrix which must be inverted and allow more accurate solutions. NOTE: The model parameters listed with -V are Legendre polynomial coefficients; they are not numerically equivalent to the m#s in the equation described above. The description above is to allow the user to match -N with the order of the polynomial surface. See grdmath if you need to evaluate the trend using the reported coefficients.

EXAMPLES
To remove a planar trend from hawaii_topo.grd and write result in hawaii_residual.grd:

grdtrend hawaii_topo.grd -N3 -Dhawaii_residual.grd

To do a robust fit of a bicubic surface to hawaii_topo.grd, writing the result in hawaii_trend.grd and the weights used in hawaii_weight.grd, and reporting the progress:

grdtrend hawaii_topo.grd -N10r -Thawaii_trend.grd -Whawaii_weight.grd -V

SEE ALSO
GMT(1), grdfft(1), grdfilter(1)