## NAME

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

## SYNOPSIS

           grdtrend  grdfile  -N[r]n_model [ -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 out-
           liers.  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  fit-
           ting; 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 -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, try

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

## SEE ALSO

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

    GMT3.4.6                          1 Jan 2005                       GRDTREND(l)