---
name: "grdtrend"
section: "1"
platform: "linux"
package: "gmt-manpages"
version: "3.4-1"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/grdtrend"
---

# grdtrend(1)

Fit and/or remove a polynomial trend in a grd file

## NAME

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

## 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**

  *n\_model*\[**r**\] 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.

## 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 **-N**10**r** **-T**hawaii\_trend.grd **-W**hawaii\_weight.grd **-V**

## SEE ALSO

*gmt*(l), *grdfft*(l), *grdfilter*(l)
