GRDSAMPLE(1)

NAME
grdsample - Resample a grd file onto a new grid

SYNOPSIS
grdsample in_grdfile -Gout_grdfile [ -F ] [ -Idx[m|c][/dy[m|c]] ] [ -Lflag ] [ -Nnx/ny ] [ -Q[value] ] [ -Rwest/east/south/north[r] ] [ -T ] [ -V ]

DESCRIPTION
grdsample reads a grdfile and interpolates it to create a new grdfile with either: a different registration (-T); or, a new grid-spacing (-I) or number of nodes (-N), and perhaps also a new sub-region (-R). Interpolation is bicubic [Default] or bilinear (-Q) and uses boundary conditions (-L). Note that using (-R) only is equivalent to grdcut or grdedit -S. grdsample safely creates a fine mesh from a coarse one; the converse may suffer aliasing unless the data are filtered using grdfft or grdfilter.

in_grdfile
    The name of the input 2-D binary grd file.

-G  The name of the output grd file.

OPTIONS
No space between the option flag and the associated arguments.

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

-I  x_inc [and optionally y_inc] is the grid spacing. Append m to indicate minutes or c to indicate seconds.

-L  Boundary condition flag may be x or y or xy indicating data is periodic in range of x or y or both set by -R, or flag may be g indicating geographical conditions (x and y are lon and lat). [Default uses "natural" conditions (second partial derivative normal to edge is zero).]

-N  Specify number of columns nx and rows ny of new grid.

-Q  Quick mode, use bilinear rather than bicubic interpolation. optionally, append value in the 0 < value <= 1 range. This parameter controls how close to nodes with NaN values the interpolation will go. E.g., a valuefP of 0.5 will interpolate about 1/2-way from a non-NaN to a NaN node, whereas 0.1 will go about 90% of the way, etc. [Default is 1, which means none of the four nearby nodes may be NaN].

-R  xmin, xmax, ymin, and ymax specify the Region of interest. For geographic regions, these limits correspond to west, east, south, and north and you may specify them in decimal degrees or in [+-]dd:mm[:ss.xxx][W|E|S|N] format. Append r if lower left and upper right map coordinates are given instead of wesn. The two shorthands -Rg -Rd stand for global domain (0/360 or -180/+180 in longitude respectively, with -90/+90 in latitude). For calendar time coordinates you may either give relative time (relative to the selected TIME_EPOCH and in the selected TIME_UNIT; append t to -JX|x), or absolute time of the form [date]T[clock] (append T to -JX|x). At least one of date and clock must be present; the T is always required. The date string must be of the form [-]yyyy[-mm[-dd]] (Gregorian calendar) or yyyy[-Www[-d]] (ISO week calendar), while the clock string must be of the form hh:mm:ss[.xxx]. The use of delimiters and their type and positions must be as indicated (however, input/output and plotting formats are flexible).

-T  Translate between grid and pixel registration while keeping -R and -I the same; if input is grid-registered, output will be pixel-registered and vice-versa. The input file determines -R, -I and -N so no other options are necessary (except possibly -L or -Q).

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

HINTS
If an interpolation point is not on a node of the input grid, then a NaN at any node in the neighborhood surrounding the point will yield an interpolated NaN. Bicubic interpolation [default] yields continuous first derivatives but requires a neighborhood of 4 nodes by 4 nodes. Bilinear interpolation [-Q] uses only a 2 by 2 neighborhood, but yields only zeroth-order continuity. Use bicubic when smoothness is important. Use bilinear to minimize the propagation of NaNs.

EXAMPLES
To resample the 5 x 5 minute grid in hawaii_5by5_topo.grd onto a 1 minute grid:

grdsample hawaii_5by5_topo.grd -I1m -Ghawaii_1by1_topo.grd

To translate the gridline-registered file surface.grd to pixel registration:

grdsample surface.grd -T -Gpixel.grd

SEE ALSO
gmt(1), grdedit(1), grdfft(1), grdfilter(1)