Provided by: gmt-common_5.2.1+dfsg-3build1_all bug

NAME

       grdfilter - Filter a grid in the space (or time) domain

SYNOPSIS

       grdfilter  ingrid distance_flag xwidth[/width2][modifiers] outgrid [ increment ] [ i|p|r ]
       [ region ] [  ] [ [level] ] [ -f<flags> ]

       Note: No space is allowed between the option flag and the associated arguments.

DESCRIPTION

       grdfilter will filter a grid file in the time domain using one of the selected convolution
       or  non-convolution isotropic or rectangular filters and compute distances using Cartesian
       or Spherical geometries.  The output grid file can optionally be generated as a sub-region
       of the input (via -R) and/or with new increment (via -I) or registration (via -T). 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.

REQUIRED ARGUMENTS

       ingrid The grid file of points to be filtered. (See GRID FILE FORMATS below).

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

              flag = p: grid (px,py) with width an odd number of pixels; Cartesian distances.

              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 three options are slower because they  recompute  weights  for  each
              latitude.

              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.

              flag = 5: grid (x,y) in Mercator -Jm1 img units, width in  km,  Spherical  distance
              calculation.

       -Fxwidth[/width2][modifiers]
              Sets the filter type. Choose among convolution and non-convolution filters. Use any
              filter code x (listed below) followed by the full diameter  width.  This  gives  an
              isotropic  filter;  append  /width2 for a rectangular filter (requires -Dp or -D0).
              Some filters allow for optional arguments and modifiers.

              Convolution filters (and their codes) 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, where width  is  6  times
              the conventional Gaussian sigma.

              (f)  Custom:  Weights are given by the precomputed values in the filter weight grid
              file weight, which must have odd dimensions; also requires -D0 and  output  spacing
              must match input spacing or be integer multiples.

              (o) Operator: Weights are given by the precomputed values in the filter weight grid
              file weight, which must have odd dimensions; also requires -D0 and  output  spacing
              must  match  input  spacing  or be integer multiples. Weights are assumed to sum to
              zero so no accumulation of weight sums and normalization will be done.

              Non-convolution filters (and their codes) are:

              (m) Median: Returns median value. To select another quantile append  +qquantile  in
              the 0-1 range [Default is 0.5, i.e., median].

              (p)  Maximum likelihood probability (a mode estimator): Return modal value. If more
              than one mode is found we return their average value. Append +l or +u if you rather
              want to return the lowermost or uppermost of the modal values.

              (h)  Histogram  mode (another mode estimator): Return the modal value as the center
              of the dominant peak in a  histogram.  Append  /binwidth  to  specify  the  binning
              interval.  Use modifier +c to center the bins on multiples of binwidth [Default has
              bin edges that are multiples of binwidth].  If more  than  one  mode  is  found  we
              return  their  average  value.  Append  +l  or  +u if you rather want to return the
              lowermost or uppermost 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  initial  sign  test;  in
              that case the filter will return NaN.

       -Goutgrid
              outgrid is the output grid file of the filter. (See GRID FILE FORMATS below).

OPTIONAL ARGUMENTS

       -Ixinc[unit][=|+][/yinc[unit][=|+]]
              x_inc  [and  optionally  y_inc]  is  the output Increment. Append m to indicate arc
              minutes, or s to indicate arc 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.]

       -Ni|p|r
              Determine how NaN-values in the input grid affects the filtered output: Append i to
              ignore  all  NaNs  in  the  calculation of filtered value [Default], r is same as i
              except if the input node was NaN then the output node will  be  set  to  NaN  (only
              applies if both grids are co-registered), and p which will force the filtered value
              to be NaN if any grid-nodes with NaN-values are found inside the filter circle.

       -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 registration as the input grid].

       -V[level] (more ...)
              Select verbosity level [c].

       -f[i|o]colinfo (more ...)
              Specify data types of input and/or output columns.

       -^ or just -
              Print a short message about the syntax of the command, then exits (NOTE: on Windows
              use just -).

       -+ or just +
              Print  an  extensive  usage  (help)  message,  including  the  explanation  of  any
              module-specific option (but not the GMT common options), then exits.

       -? or no arguments
              Print a complete usage (help) message, including the explanation of  options,  then
              exits.

       --version
              Print GMT version and exit.

       --show-datadir
              Print full path to GMT share directory and exit.

GRID FILE FORMATS

       By  default  GMT  writes  out grid as single precision floats in a COARDS-complaint netCDF
       file format. However, GMT is able to produce grid files in many other commonly  used  grid
       file formats and also facilitates so called "packing" of grids, writing out floating point
       data as 1- or 2-byte integers. To specify the precision, scale and offset, the user should
       add  the  suffix =id[/scale/offset[/nan]], where id is a two-letter identifier of the grid
       type and precision, and scale and offset are  optional  scale  factor  and  offset  to  be
       applied  to  all  grid values, and nan is the value used to indicate missing data. In case
       the two characters id is not provided, as in  =/scale  than  a  id=nf  is  assumed.   When
       reading  grids,  the format is generally automatically recognized. If not, the same suffix
       can be added to input grid file names. See grdconvert and Section grid-file-format of  the
       GMT Technical Reference and Cookbook for more information.

       When  reading  a  netCDF file that contains multiple grids, GMT will read, by default, the
       first 2-dimensional grid that can find in that file. To  coax  GMT  into  reading  another
       multi-dimensional  variable  in  the  grid  file,  append ?varname to the file name, where
       varname is the name of the variable. Note that you may need to escape the special  meaning
       of  ?  in  your  shell  program  by  putting a backslash in front of it, or by placing the
       filename and suffix between quotes or double quotes. The ?varname suffix can also be  used
       for  output  grids  to  specify  a  variable  name  different  from  the default: "z". See
       grdconvert and  Sections  modifiers-for-CF  and  grid-file-format  of  the  GMT  Technical
       Reference  and  Cookbook  for more information, particularly on how to read splices of 3-,
       4-, or 5-dimensional grids.

GEOGRAPHICAL AND TIME COORDINATES

       When the output grid  type  is  netCDF,  the  coordinates  will  be  labeled  "longitude",
       "latitude", or "time" based on the attributes of the input data or grid (if any) or on the
       -f or -R options. For example, both  -f0x  -f1t  and  -R90w/90e/0t/3t  will  result  in  a
       longitude/time grid. When the x, y, or z coordinate is time, it will be stored in the grid
       as relative time since epoch as specified by TIME_UNIT and TIME_EPOCH in the gmt.conf file
       or on the command line. In addition, the unit attribute of the time variable will indicate
       both this unit and epoch.

EXAMPLES

       Suppose that north_pacific_etopo5.nc 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 calculations,
       you need:

              gmt grdfilter north_pacific_etopo5.nc -Gfiltered_pacific.nc -Fm600 \
                            -D4 -R150/250/10/40 -I0.5 -V

       If we instead wanted a high-pass result then one can perform  the  corresponding  low-pass
       filter  using  a  coarse  grid  interval as grdfilter will resample the result to the same
       resolution as the input grid so we can compute the residuals, e.g.,

              gmt grdfilter north_pacific_etopo5.nc -Gresidual_pacific.nc -Fm-600 \
                            -D4 -R150/250/10/40 -I0.5 -V

       Here, the residual_pacific.nc grid will have the same 5 minute resolution as the original.

       To filter the dataset in  ripples.nc  using  a  custom  anisotropic  Gaussian  filter  exp
       (-0.5*r^2)  whose  distances r from the center is given by (2x^2 + y^2 -2xy)/6, with major
       axis at an angle of 63 degrees with the horizontal, try

              gmt grdmath -R-10/10/-10/10 -I1 X 2 POW 2 MUL Y 2 POW ADD X Y MUL 2 MUL \
                          SUB 6 DIV NEG 2 DIV EXP DUP SUM DIV = gfilter.nc
              gmt grdfilter ripples.nc -Ffgfilter.nc -D0 -Gsmooth.nc -V

LIMITATIONS

       To use the -D5 option the input Mercator grid must be created by img2mercgrd using the  -C
       option  so  the origin of the y-values is the Equator (i.e., x = y = 0 correspond to lon =
       lat = 0).

SEE ALSO

       gmt, grdfft img2grd

COPYRIGHT

       2015, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe