greenspline man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

GREENSPLINE(1)		     Generic Mapping Tools		GREENSPLINE(1)

NAME
       greenspline  - Interpolate 1-D, 2-D, 3-D Cartesian or spherical surface
       data using Green's function splines.

SYNOPSIS
       greenspline [ datafile(s) ] [ -A[1|2|3|4|5,]gradfile ] [ -Ccut[/file] ]
       [  -Dmode ] [ -F ] [ -Ggrdfile ] [ -H[i][nrec] ] [ -Ixinc[yinc[zinc]] ]
       [ -L ] [ -Nnodefile ] [ -Qaz|x/y/z ]  [	-Rxmin/xmax[/ymin/ymax[/zminz‐
       max]]  ]	 [  -Sc|t|g|p|q[pars]  ]  [  -Tmaskgrid ] [ -V ] [ -:[i|o] ] [
       -bi[s|S|d|D[ncol]|c[var1/...]]	 ]    [	    -f[i|o]colinfo     ]     [
       -bo[s|S|d|D[ncol]|c[var1/...]] ]

DESCRIPTION
       greenspline  uses  the  Green's function G(x; x') for the chosen spline
       and geometry to interpolate data at regular [or arbitrary] output loca‐
       tions.	Mathematically,	 the  solution is composed as w(x) = sum {c(i)
       G(x; x(i))}, for i = 1, n, the number  of  data	points	{x(i),	w(i)}.
       Once the n coefficients c(i) have been found then the sum can be evalu‐
       ated at any output point x.  Choose between ten minimum curvature, reg‐
       ularized,  or  continuous  curvature splines in tension for either 1-D,
       2-D, or 3-D Cartesian coordinates  or  spherical	 surface  coordinates.
       After first removing a linear or planar trend (Cartesian geometries) or
       mean value (spherical surface) and  normalizing	these  residuals,  the
       least-squares matrix solution for the spline coefficients c(i) is found
       by solving the n by n linear system w(j)	 =  sum-over-i	{c(i)  G(x(j);
       x(i))},	for  j	= 1, n; this solution yields an exact interpolation of
       the supplied data points.  Alternatively, you may choose to  perform  a
       singular	 value decomposition (SVD) and eliminate the contribution from
       the smallest eigenvalues; this approach yields an approximate solution.
       Trends and scales are restored when evaluating the output.

OPTIONS
       datafile(s)
	      The name of one or more ASCII [or binary, see -bi] files holding
	      the x, w data points.  If no file is given then we read standard
	      input instead.

       -A     The solution will partly be constrained by surface gradients v =
	      v*n, where v is the gradient magnitude and  n  its  unit	vector
	      direction.   The	gradient  direction may be specified either by
	      Cartesian components (either unit vector n and magnitude v sepa‐
	      rately  or  gradient components v directly) or angles w.r.t. the
	      coordinate axes.	Specify one of five input formats: 0: For  1-D
	      data  there  is no direction, just gradient magnitude (slope) so
	      the input format is x, gradient.	Options 1-2 are for  2-D  data
	      sets:  1:	 records  contain  x, y, azimuth, gradient (azimuth in
	      degrees  is  measured  clockwise	from  the   vertical   (north)
	      [Default]).  2: records contain x, y, gradient, azimuth (azimuth
	      in degrees is measured clockwise	from  the  vertical  (north)).
	      Options  3-5  are for either 2-D or 3-D data: 3: records contain
	      x,  direction(s),	 v  (direction(s)  in  degrees	are   measured
	      counter-clockwise	 from the horizontal (and for 3-D the vertical
	      axis).  4: records contain x, v.	5: records contain  x,	n,  v.
	      Append  name of ASCII file with the surface gradients (following
	      a comma if a format is specified).

       -C     Find an approximate surface fit: Solve the linear system for the
	      spline  coefficients  by SVD and eliminate the contribution from
	      all eigenvalues whose ratio to the largest  eigenvalue  is  less
	      than  cut	 [Default  uses	 Gauss-Jordan elimination to solve the
	      linear system and fit the	 data  exactly].   Optionally,	append
	      /file  to	 save  the eigenvalue ratios to the specified file for
	      further analysis.	 Finally, if a	negative  cut  is  given  then
	      /file  is	 required and execution will stop after saving the ei‐
	      genvalues, i.e., no surface output is produced.

       -D     Sets the distance flag that determines  how  we  calculate  dis‐
	      tances  between  data  points.   Select mode 0 for Cartesian 1-D
	      spline interpolation: -D 0 means (x) in  user  units,  Cartesian
	      distances,  Select  mode	1-3  for  Cartesian 2-D surface spline
	      interpolation: -D 1 means (x,y) in user  units,  Cartesian  dis‐
	      tances,  -D 2 for (x,y) in degrees, flat Earth distances, and -D
	      3 for (x,y) in degrees, spherical distances  in  km.   Then,  if
	      ELLIPSOID	 is spherical, we compute great circle arcs, otherwise
	      geodesics.  Option mode = 4 applies to spherical surface	spline
	      interpolation  only:  -D	4  for (x,y) in degrees, use cosine of
	      great circle (or geodesic) arcs.	Select mode  5	for  Cartesian
	      3-D  surface  spline  interpolation:  -D 5 means (x,y,z) in user
	      units, Cartesian distances.

       -F     Force pixel registration.	 [Default is gridline registration].

       -G     Name of resulting output file.  (1) If options -R, -I, and  pos‐
	      sibly  -F	 are set we produce an equidistant output table.  This
	      will be written to stdout unless -G is specified.	 Note: for 2-D
	      grids  the  -G option is required.  (2) If option -T is selected
	      then -G is required and the output file is  a  2-D  binary  grid
	      file.  Applies to 2-D interpolation only.	 (3) If -N is selected
	      then the output is an ASCII (or binary; see -bo) table; if -G is
	      not  given  then	this  table  is	 written  to  standard output.
	      Ignored if -C or -C 0 is given.

       -H     Input file(s) has header record(s).  If used, the default number
	      of  header records is N_HEADER_RECS.  Use -Hi if only input data
	      should have  header  records  [Default  will  write  out	header
	      records  if  the	input  data  have them]. Blank lines and lines
	      starting with # are always skipped.

       -I     Specify equidistant sampling intervals, on for  each  dimension,
	      separated by slashes.

       -L     Do  not  remove  a  linear  (1-D)	 or planer (2-D) trend when -D
	      selects mode 0-3 [For those Cartesian cases a least-squares line
	      or  plane	 is modeled and removed, then restored after fitting a
	      spline to the residuals].	 However, in  mixed  cases  with  both
	      data  values  and gradients, or for spherical surface data, only
	      the mean data value is removed (and later and restored).

       -N     ASCII file with coordinates of desired output locations x in the
	      first  column(s).	  The  resulting w values are appended to each
	      record and written to the file given in -G  [or  stdout  if  not
	      specified];  see	-bo  for  binary  output instead.  This option
	      eliminates the need to specify options -R, -I, and -F.

       -Q     Rather than evaluate the surface, take the  directional  deriva‐
	      tive  in the az azimuth and return the magnitude of this deriva‐
	      tive instead.  For 3-D interpolation, specify the	 three	compo‐
	      nents  of	 the desired vector direction (the vector will be nor‐
	      malized before use).

       -R     Specify the domain for an equidistant lattice where output  pre‐
	      dictions are required.  Requires -I and optionally -F.
	      1-D:  Give xmin/xmax, the minimum and maximum x coordinates.
	      2-D:   Give xmin/xmax/ymin/ymax, the minimum and maximum x and y
	      coordinates.  These may be Cartesian or geographical.   If  geo‐
	      graphical,  then west, east, south, and north specify the Region
	      of interest, and you may specify them in decimal degrees	or  in
	      [+-]dd:mm[:ss.xxx][W|E|S|N]  format.  The two shorthands -Rg and
	      -Rd stand for global domain (0/360 and  -180/+180	 in  longitude
	      respectively, with -90/+90 in latitude).
	      3-D:   Give xmin/xmax/ymin/ymax/zmin/zmax, the minimum and maxi‐
	      mum x, y and z coordinates.  See the 2-D section if  your	 hori‐
	      zontal coordinates are geographical; note the shorthands -Rg and
	      -Rd cannot be used if a 3-D domain is specified.

       -S     Select one of five different splines.  The first	two  are  used
	      for  1-D, 2-D, or 3-D Cartesian splines (see -D for discussion).
	      Note that all tension values are expected to be normalized  ten‐
	      sion  in	the  range  0  <  t  < 1: (c) Minimum curvature spline
	      [Sandwell, 1987], (t) Continuous	curvature  spline  in  tension
	      [Wessel  and  Bercovici, 1998]; append tension[/scale] with ten‐
	      sion in the 0-1 range  and  optionally  supply  a	 length	 scale
	      [Default is the average grid spacing].  The next is a 2-D or 3-D
	      spline: (r) Regularized spline in tension [Mitasova  and	Mitas,
	      1993];  again,  append tension and optional scale.  The last two
	      are spherical surface splines and both imply -D 4 and geographic
	      data:  (p) Minimum curvature spline [Parker, 1994], (q) Continu‐
	      ous curvature spline  in	tension	 [Wessel  and  Becker,	2008];
	      append  tension.	 The G(x; x') for the last method is slower to
	      compute; by specifying -SQ you  can  speed  up  calculations  by
	      first  pre-calculating  G(x;  x')	 for  a	 dense set of x values
	      (e.g., 100,001 nodes between -1 to +1) and store them in look-up
	      tables.	Optionally  append  /N (an odd integer) to specify how
	      many points in the spline to set [100001]

       -T     For 2-D interpolation only.  Only evaluate the solution  at  the
	      nodes  in	 the  maskgrid	that are not equal to NaN. This option
	      eliminates the need to specify options -R, -I, and -F.

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

       -bi    Selects binary input.  Append s for single precision [Default is
	      d	 (double)].   Uppercase	 S  or	D  will	 force	byte-swapping.
	      Optionally,  append  ncol,  the number of columns in your binary
	      input file if it exceeds the columns needed by the program.   Or
	      append  c	 if  the  input	 file  is  netCDF.  Optionally, append
	      var1/var2/... to specify the variables to be read.  [Default  is
	      2-4 input columns (x,w); the number depends on the chosen dimen‐
	      sion].

       -f     Special formatting of input and/or output columns (time or  geo‐
	      graphical	 data).	  Specify  i  or  o to make this apply only to
	      input or output [Default applies to both].   Give	 one  or  more
	      columns (or column ranges) separated by commas.  Append T (abso‐
	      lute calendar time), t (relative time in chosen TIME_UNIT	 since
	      TIME_EPOCH),  x (longitude), y (latitude), or f (floating point)
	      to each column or column range item.  Shorthand  -f[i|o]g	 means
	      -f[i|o]0x,1y (geographic coordinates).

       -bo    Selects  binary  output.	Append s for single precision [Default
	      is d (double)].  Uppercase S  or	D  will	 force	byte-swapping.
	      Optionally,  append  ncol, the number of desired columns in your
	      binary output file.

1-D EXAMPLES
       To resample the x,y Gaussian random data created by gmtmath and	stored
       in  1D.txt,  requesting output every 0.1 step from 0 to 10, and using a
       minimum cubic spline, try

       gmtmath -T 0/10/1 0 1 NRAND = 1D.txt
       psxy -R0/10/-5/5 -JX 6i/3i -B 2f1/1 -Sc 0.1 -G black 1D.txt -K > 1D.ps
       greenspline 1D.txt -R 0/10 -I 0.1 -Sc -V | psxy -R -J  -O  -W  thin  >>
       1D.ps

       To apply a spline in tension instead, using a tension of 0.7, try

       psxy -R0/10/-5/5 -JX 6i/3i -B 2f1/1 -Sc 0.1 -G black 1D.txt -K > 1Dt.ps
       greenspline 1D.txt -R 0/10 -I 0.1 -St 0.7 -V | psxy -R -J -O -W thin >>
       1Dt.ps

2-D EXAMPLES
       To make a uniform grid using the minimum curvature spline for the  same
       Cartesian  data	set from Davis (1986) that is used in the GMT Cookbook
       example 16, try

       greenspline table_5.11  -R  0/6.5/-0.2/6.5  -I  0.1  -Sc	 -V  -D	 1  -G
       S1987.grd
       psxy  -R0/6.5/-0.2/6.5  -JX  6i -B 2f1 -Sc 0.1 -G black table_5.11 -K >
       2D.ps
       grdcontour -JX6i -B 2f1 -O -C 25 -A 50 S1987.grd >> 2D.ps

       To use Cartesian splines in tension  but	 only  evaluate	 the  solution
       where the input mask grid is not NaN, try

       greenspline table_5.11 -T mask.grd -St 0.5 -V -D 1 -G WB1998.grd

       To  use	Cartesian generalized splines in tension and return the magni‐
       tude of the surface slope in the NW direction, try

       greenspline table_5.11 -R 0/6.5/-0.2/6.5 -I 0.1 -Sr 0.95 -V -D 1	 -Q-45
       -G  slopes.grd  Finally,	 to use Cartesian minimum curvature splines in
       recovering a surface where the input data is  a	single	surface	 value
       (pt.d) and the remaining constraints specify only the surface slope and
       direction (slopes.d), use

       greenspline pt.d -R-3.2/3.2/-3.2/3.2 -I 0.1 -Sc -V -D 1	-A  1,slopes.d
       -G slopes.grd

3-D EXAMPLES
       To  create  a uniform 3-D Cartesian grid table based on the data in ta‐
       ble_5.23 in Davis (1986) that contains x,y,z locations and a measure of
       uranium oxide concentrations (in percent), try

       greenspline  table_5.23	-R 5/40/-5/10/5/16 -I 0.25 -Sr 0.85 -V -D 5 -G
       3D_UO2.txt

2-D SPHERICAL SURFACE EXAMPLES
       To recreate Parker's [1994] example on a global 1x1 degree grid, assum‐
       ing the data are in file mag_obs_1990.d, try

       greenspline -V -Rg -Sp -D 3 -I 1 -G P1994.grd mag_obs_1990.d

       To  do  the  same  problem  but applying tension and use pre-calculated
       Green functions, use

       greenspline -V -Rg -SQ 0.85 -D 3 -I 1 -G WB2008.grd mag_obs_1990.d

CONSIDERATIONS
       (1) For the Cartesian cases we  use  the	 free-space  Green  functions,
       hence  no boundary conditions are applied at the edges of the specified
       domain.	For most applications this is fine as the region typically  is
       arbitrarily  set	 to reflect the extent of your data.  However, if your
       application requires particular boundary conditions then you  may  con‐
       sider using surface instead.
       (2)  In all cases, the solution is obtained by inverting a n x n double
       precision matrix for the Green function coefficients, where  n  is  the
       number  of  data	 constraints.  Hence, your computer's memory may place
       restrictions on how large data sets you can process  with  greenspline.
       Pre-processing  your  data with blockmean, blockmedian, or blockmode is
       recommended to avoid aliasing and may also control the size of  n.  For
       information,  if	 n = 1024 then only 8 Mb memory is needed, but for n =
       10240 we need 800 Mb. Note that greenspline is fully  64-bit  compliant
       if compiled as such.
       (3) The inversion for coefficients can become numerically unstable when
       data neighbors are very close compared to the overall span of the data.
       You  can	 remedy	 this  by  pre-processing the data, e.g., by averaging
       closely spaced neighbors.  Alternatively, you can improve stability  by
       using  the  SVD	solution  and  discard information associated with the
       smallest eigenvalues (see -C).

TENSION
       Tension is generally used to suppress spurious oscillations  caused  by
       the  minimum  curvature	requirement, in particular when rapid gradient
       changes are present in the data.	 The proper amount of tension can only
       be determined by experimentation.  Generally, very smooth data (such as
       potential fields) do not require much, if any  tension,	while  rougher
       data (such as topography) will typically interpolate better with moder‐
       ate tension.  Make sure you try a range of values before choosing  your
       final  result.	Note: the regularized spline in tension is only stable
       for a finite range of scale values; you must  experiment	 to  find  the
       valid  range and a useful setting.  For more information on tension see
       the references below.

REFERENCES
       Davis, J. C., 1986, Statistics and Data Analysis in Geology,  2nd  Edi‐
       tion, 646 pp., Wiley, New York,
       Mitasova,  H.,  and L. Mitas, 1993, Interpolation by regularized spline
       with tension: I. Theory and implementation, Math. Geol., 25, 641-655.
       Parker, R. L., 1994, Geophysical Inverse	 Theory,  386  pp.,  Princeton
       Univ. Press, Princeton, N.J.
       Sandwell,  D.  T.,  1987, Biharmonic spline interpolation of Geos-3 and
       Seasat altimeter data, Geophys. Res. Lett., 14, 139-142.
       Wessel, P., and D. Bercovici, 1998, Interpolation with splines in  ten‐
       sion: a Green's function approach, Math. Geol., 30, 77-93.
       Wessel,	P.,  and J. M. Becker, 2008, Interpolation using a generalized
       Green's function for a spherical surface spline in tension, Geophys. J.
       Int, 174, 21-28.
       Wessel, P., 2009, A general-purpose Green's function interpolator, Com‐
       puters & Geosciences, 35, 1247-1254, doi:10.1016/j.cageo.2008.08.012.

SEE ALSO
       GMT(1),	gmtmath(1),  nearneighbor(1),  psxy(1),	 surface(1),  triangu‐
       late(1), xyz2grd(1)

GMT 4.5.14			  1 Nov 2015			GREENSPLINE(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net