## SYNOPSIS

**grdtrend**

*grdfile*

**-N**

*n_model*[

**r**] [

**-D**

*diff.grd*] [

**-T**

*trend.grd*] [

**-V**] [

**-W**

*weight.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 **-N***n_model*, the number of model parameters to use;
thus, **-N***4* fits a bilinear trend, **-N***6* 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 grd file.
**-N**-
[
**r**]*n_model*sets the number of model parameters to fit. Prepend**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.

## EXAMPLES

To remove a planar trend from hawaii_topo.grd and write result in hawaii_residual.grd, try
**grdtrend** hawaii_topo.grd **-N**3 **-D**hawaii_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, try

**grdtrend** hawaii_topo.grd **-Nr**10 **-T**hawaii_trend.grd
**-W**hawaii_weight.grd **-V**