bionic (1) surface.1gmt.gz

Provided by: gmt-common_5.4.3+dfsg-1_all bug

NAME

       surface - Grid table data using adjustable tension continuous curvature splines

SYNOPSIS

       surface [ table ]  -Goutputfile.nc
        -Iincrement
        -Rregion  [  -Aaspect_ratio ] [  -Cconvergence_limit[%] ] [  -Lllower ] [ -Luupper ] [  -Nmax_iterations
       ] [  -Q ] [  -Ssearch_radius[m|s] ] [  -T[i|b]tension_factor ] [  -V[level] ] [  -Zover-relaxation_factor
       ]  [  -aflags  ]  [ -bibinary ] [ -dinodata ] [ -eregexp ] [ -fflags ] [ -hheaders ] [ -iflags ] [ -r ] [
       -:[i|o] ]

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

DESCRIPTION

       surface reads randomly-spaced (x,y,z) triples from standard input [or table] and produces a  binary  grid
       file of gridded values z(x,y) by solving:
          (1 - T) * L (L (z)) + T * L (z) = 0

       where  T  is  a  tension  factor between 0 and 1, and L indicates the Laplacian operator. T = 0 gives the
       “minimum curvature” solution which is equivalent to SuperMISP and the ISM packages. Minimum curvature can
       cause  undesired  oscillations and false local maxima or minima (See Smith and Wessel, 1990), and you may
       wish to use T > 0 to suppress these effects.  Experience  suggests  T  ~  0.25  usually  looks  good  for
       potential field data and T should be larger (T ~ 0.35) for steep topography data.  T = 1 gives a harmonic
       surface (no maxima or minima are possible except at control data points). It is recommended that the user
       pre-process  the  data  with blockmean, blockmedian, or blockmode to avoid spatial aliasing and eliminate
       redundant data. You may impose lower and/or upper bounds on the solution. These may  be  entered  in  the
       form  of  a  fixed value, a grid with values, or simply be the minimum/maximum input data values. Natural
       boundary conditions are applied at the edges, except for geographic data with 360-degree range  where  we
       apply periodic boundary conditions in the longitude direction.

REQUIRED ARGUMENTS

       -Goutputfile.nc
              Output  file  name. Output is a binary 2-D .nc file. Note that the smallest grid dimension must be
              at least 4.

       -Ixinc[unit][+e|n][/yinc[unit][+e|n]]
              x_inc [and  optionally  y_inc]  is  the  grid  spacing.  Optionally,  append  a  suffix  modifier.
              Geographical (degrees) coordinates: Append m to indicate arc minutes or s to indicate arc seconds.
              If one of the units e, f, k, M, n or u is appended instead, the increment is assumed to  be  given
              in  meter, foot, km, Mile, nautical mile or US survey foot, respectively, and will be converted to
              the equivalent degrees longitude at the middle latitude of the region (the conversion  depends  on
              PROJ_ELLIPSOID). If y_inc is given but set to 0 it will be reset equal to x_inc; otherwise it will
              be converted to degrees latitude. All coordinates: If +e is appended then the corresponding max  x
              (east)  or  y  (north) may be slightly adjusted to fit exactly the given increment [by default the
              increment may be adjusted slightly to fit  the  given  domain].  Finally,  instead  of  giving  an
              increment  you  may  specify  the  number of nodes desired by appending +n to the supplied integer
              argument; the increment is then recalculated  from  the  number  of  nodes  and  the  domain.  The
              resulting  increment  value  depends  on  whether  you  have  selected  a  gridline-registered  or
              pixel-registered grid; see App-file-formats for details. Note: if -Rgrdfile is used then the  grid
              spacing has already been initialized; use -I to override the values.

       -Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)
              Specify the region of interest.

OPTIONAL ARGUMENTS

       table  One  or  more  ASCII (or binary, see -bi[ncols][type]) data table file(s) holding a number of data
              columns. If no tables are given then we read from standard input.

       -Aaspect_ratio
              Aspect ratio. If desired, grid anisotropy can be added to the equations. Enter aspect_ratio, where
              dy = dx / aspect_ratio relates the grid dimensions. [Default = 1 assumes isotropic grid.]

       -Cconvergence_limit[%]
              Convergence  limit. Iteration is assumed to have converged when the maximum absolute change in any
              grid value is less than convergence_limit. (Units same as data z units). Alternatively, give limit
              in percentage of rms deviation by appending %.  [Default is scaled to 1e-4 of the root-mean-square
              deviation of the data from a best-fit (least-squares) plane.].   This  is  the  final  convergence
              limit  at  the  desired  grid  spacing; for intermediate (coarser) grids the effective convergence
              limit is divided by the grid spacing multiplier.

       -Lllower and -Luupper
              Impose limits on the output solution. llower sets the lower bound. lower can be the name of a grid
              file  with  lower  bound  values,  a  fixed  value,  d  to  set  to  minimum input value, or u for
              unconstrained [Default]. uupper sets the upper bound and can be the name of a grid file with upper
              bound  values,  a  fixed value, d to set to maximum input value, or u for unconstrained [Default].
              Grid files used to set the limits may contain NaNs. In the presence of NaNs, the limit of  a  node
              masked with NaN is unconstrained.

       -Nmax_iterations
              Number  of  iterations.  Iteration  will cease when convergence_limit is reached or when number of
              iterations reaches max_iterations.  This is the final iteration limit at the desired grid spacing;
              for  intermediate  (coarser)  grids  the  effective  iteration limit is scaled by the grid spacing
              multiplier.  [Default is 500.]

       -Q     Suggest grid dimensions which have a highly composite greatest common factor. This allows  surface
              to  use  several intermediate steps in the solution, yielding faster run times and better results.
              The sizes suggested by -Q can be achieved by altering -R and/or -I. You can recover the -R and  -I
              you want later by using grdsample or grdcut on the output of surface.

       -Ssearch_radius[m|s]
              Search  radius. Enter search_radius in same units as x,y data; append m to indicate arc minutes or
              s for arc seconds. This is used to initialize the grid before the first iteration; it is not worth
              the  time  unless the grid lattice is prime and cannot have regional stages. [Default = 0.0 and no
              search is made.]

       -T[i|b]tension_factor
              Tension factor[s]. These must be between 0 and 1. Tension may be used  in  the  interior  solution
              (above  equation, where it suppresses spurious oscillations) and in the boundary conditions (where
              it tends to flatten the solution approaching the edges). Using zero for both values results  in  a
              minimum  curvature  surface with free edges, i.e., a natural bicubic spline. Use -Titension_factor
              to set interior tension, and -Tbtension_factor to set boundary tension. If you do not prepend i or
              b, both will be set to the same value. [Default = 0 for both gives minimum curvature solution.]

       -V[level] (more …)
              Select  verbosity  level [c]. -V3 will report the convergence after each iteration; -V will report
              only after each regional grid is converged.

       -Zover-relaxation_factor
              Over-relaxation factor. This parameter is used to accelerate  the  convergence;  it  is  a  number
              between  1  and  2.  A  value  of  1 iterates the equations exactly, and will always assure stable
              convergence.  Larger values overestimate the incremental  changes  during  convergence,  and  will
              reach  a  solution more rapidly but may become unstable. If you use a large value for this factor,
              it is a good idea to monitor each iteration with the -Vl option. [Default = 1.4 converges  quickly
              and is almost always stable.]

       -acol=name[] (more …)
              Set aspatial column associations col=name.

       -bi[ncols][t] (more …)
              Select native binary input. [Default is 3 input columns].

       -dinodata (more …)
              Replace input columns that equal nodata with NaN.

       -e[~]”pattern” | -e[~]/regexp/[i] (more …)
              Only accept data records that match the given pattern.

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

       -h[i|o][n][+c][+d][+rremark][+rtitle] (more …)
              Skip or produce header record(s). Not used with binary data.

       -icols[+l][+sscale][+ooffset][,] (more …)
              Select input columns and transformations (0 is first column).

       -r (more …)
              Set pixel node registration [gridline].

       -:[i|o] (more …)
              Swap 1st and 2nd column on input and/or output.

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

       -+ 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 all options, then exits.

GRID VALUES PRECISION

       Regardless of the precision of the input data, GMT programs that create grid files will  internally  hold
       the  grids  in  4-byte floating point arrays. This is done to conserve memory and furthermore most if not
       all real data can be stored using 4-byte floating point values. Data with higher precision (i.e.,  double
       precision  values)  will  lose  that  precision once GMT operates on the grid or writes out new grids. To
       limit loss of precision when processing data you should always consider normalizing  the  data  prior  to
       processing.

EXAMPLES

       To grid 5 by 5 minute gravity block means from the ASCII data in hawaii_5x5.xyg, using a tension_factor =
       0.25, a convergence_limit = 0.1 milligal,  writing  the  result  to  a  file  called  hawaii_grd.nc,  and
       monitoring each iteration, try:

              gmt surface hawaii_5x5.xyg -R198/208/18/25 -I5m -Ghawaii_grd.nc -T0.25 -C0.1 -Vl

BUGS

       surface  will  complain  when  more  than  one  data point is found for any node and suggest that you run
       blockmean, blockmedian, or blockmode first. If you did run these decimators and still get this message it
       usually  means  that your grid spacing is so small that you need more decimals in the output format used.
       You may specify more decimal places by editing the parameter FORMAT_FLOAT_OUT in your gmt.conf file prior
       to running the decimators or choose binary input and/or output using single or double precision storage.

       Note  that  only  gridline registration is possible with surface. If you need a pixel-registered grid you
       can resample a gridline registered grid using grdsample -T.

SEE ALSO

       blockmean, blockmedian,  blockmode,  gmt,  grdcut,  grdsample,  greenspline,  nearneighbor,  triangulate,
       sphtriangulate

REFERENCES

       Smith,  W.  H. F, and P. Wessel, 1990, Gridding with continuous curvature splines in tension, Geophysics,
       55, 293-305.

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