## NAME

           grdfilter - Filter a .grd file in the Time domain

## SYNOPSIS

           grdfilter input_file.grd -Dflag -F<type><width>[mode] -Goutput_file.grd
           [ -Ix_inc[m|c][/y_inc[m|c]] ] [ -Rwest/east/south/north[r] ] [ -T  ]  [
           -V ]

## DESCRIPTION

           grdfilter  will  filter a .grd file in the time domain using one of the
           selected convolution or non-convolution filters and  compute  distances
           using  Cartesian  or  Spherical  geometries.   The output .grd file can
           optionally be generated as a sub-Region of the input and/or with a  new
           -Increment.  In  this way, one may have "extra space" in the input data
           so that the edges will not be used and the output can  be  within  one-
           half-  width  of  the  input edges. If the filter is low-pass, then the
           output may be less frequently sampled than the input.

           input_file.grd
                  The file of points to be filtered.

           -D     Distance flag tells how grid (x,y) relates to  filter  width  as
                  follows:

                  flag = 0: grid (x,y) same units as width, Cartesian distances.
                  flag  = 1: grid (x,y) in degrees, width in kilometers, Cartesian
                  distances.
                  flag = 2: grid (x,y) in degrees,  width  in  km,  dx  scaled  by
                  cos(middle y), Cartesian distances.

                  The  above  options are fastest because they allow weight matrix
                  to be computed only once.   The  next  two  options  are  slower
                  because they recompute weights for each East-West scan line.

                  flag  =  3:  grid  (x,y)  in  degrees, width in km, dx scaled by
                  cosine(y), Cartesian distance calculation.
                  flag = 4: grid (x,y) in degrees, width in km, Spherical distance
                  calculation.

           -F     Sets  the filter type. Choose among convolution and non-convolu-
                  tion filters. Append the filter code followed by the full diame-
                  ter width. Available convolution filters are:
                  (b) Boxcar: All weights are equal.
                  (c) Cosine Arch: Weights follow a cosine arch curve.
                  (g) Gaussian: Weights are given by the Gaussian function.
                  Non-convolution filters are:
                  (m) Median: Returns median value.
                  (p)  Maximum  likelihood  probability (a mode estimator): Return
                  modal value.  If more than one mode is  found  we  return  their
                  average  value.  Append - or + to the filter width if you rather
                  want to return the smallest or largest of the modal values.
                  (l) Lower: Return the minimum of all values.
                  (L) Lower: Return minimum of all positive values only.
                  (u) Upper: Return maximum of all values.
                  (U) Upper: Return maximum or all negative values only.
                  In the case of L|U it is possible that no data passes  the  ini-
                  tial sign test; in that case the filter will return 0.0.

           -G     output_file.grd is the output of the filter.

## OPTIONS

           -I     x_inc  [and  optionally y_inc] is the output Increment. Append m
                  to indicate minutes, or c  to  indicate  seconds.   If  the  new
                  x_inc,  y_inc  are NOT integer multiples of the old ones (in the
                  input data), filtering will be considerably  slower.   [Default:
                  Same as input.]

           -R     west,  east,  south,  and north defines the Region of the output
                  points. [Default: Same as input.]

           -T     Toggle the node registration for the output grid so as to become
                  the opposite of the input grid [Default gives the same registra-
                  tion as the input grid].

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

## EXAMPLES

           Suppose  that  north_pacific_dbdb5.grd is a file of 5 minute bathymetry
           from 140E to 260E and 0N to 50N, and you want to find  the  medians  of
           values  within  a 300km radius (600km full width) of the output points,
           which you choose to be from 150E to 250E and 10N to 40N, and  you  want
           the  output  values every 0.5 degree. Using spherical distance calcula-
           tions, you need:

           grdfilter  north_pacific_dbdb5.grd  -Gfiltered_pacific.grd  -Fm600  -D4
           -R150/250/10/40 -I0.5 -V

## BUGS

           grdfilter  is  not  yet aware of boundary conditions and periodicities;
           hence filtering global grids will not necessarily give you  the  result
           you seek. You can remedy this partly by padding the east and west sides
           (e.g., use a grid that goes from -10 to 370 in longitude) but  no  such
           solution is possibly across the poles untill we rewrite the program for
           the next major release.

## SEE ALSO

           gmt(l), grdfft(l)

    GMT4.0                            1 Oct 2004                      GRDFILTER(l)