GRDROTATER(1gmt)
NAME
grdrotater - Rotate a grid using a finite rotation
SYNOPSIS
grdrotate ingrdfile -Goutgrdfile -Tplon/plat/omega [ -Fpolygonfile ] [ -H[i][nrec] ] [ -N ] [ -Q[b|c|l|n][[/]threshold] ] [ -Rwest/east/south/north[r] ] [ -S ] [ -V ] [ -:[i|o] ] [ -b[i|o][s|S|d|D[ncol]|c[var1/...]] ] [ -m[flag] ]
DESCRIPTION
- grdrotater reads a geographical grid and reconstructs it given a total
reconstruction rotation. Optionally, the user may supply a clipping
polygon in multiple-segment format; then, only the part of the grid
inside the polygon is used to determine the return grid region. The
outline of the projected region is returned on stdout.
- No space between the option flag and the associated arguments.
- Use upper case for the option flags and lower case for modifiers.
- ingrdfile
- Name of a grid file in geographical (lon, lat) coordinates.
- -G Name of output grid. This is the grid with the data recon
- structed according to the specified rotation.
- -T Finite rotation. Specify the longitude and latitude of the
- rotation pole and the opening angle, all in degrees.
OPTIONS
- -F Specify a multi-segment closed polygon file that describes the
- inside area of the grid that should be projected [Default projects entire grid].
- -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.
- -N Do Not output the rotated polygon outline [Default will write it
- to stdout].
- -Q Quick mode, use bilinear rather than bicubic interpolation
- [Default]. Alternatively, select the interpolation mode by adding b for B-spline smoothing, c for bicubic interpolation, l for bilinear interpolation or n for nearest-neighbor value. Optionally, append threshold in the range [0,1]. This parameter controls how close to nodes with NaN values the interpolation will go. E.g., a threshold of 0.5 will interpolate about half 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 (4 or 16) nearby nodes may be NaN]. -Q0 will just return the value of the nearest node instead of interpolating. This is the same as using -Qn.
- -R 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. Append r if lower left and upper right map coordinates are given instead of w/e/s/n. The two shorthands -Rg and -Rd stand for global domain (0/360 and -180/+180 in longitude respectively, with -90/+90 in latitude). Alternatively, specify the name of an existing grid file and the -R settings (and grid spacing, if applicable) are copied from the grid.
- -S Skip the rotation of the grid, just rotate the polygon outline
- (requires -F).
- -V Selects verbose mode, which will send progress reports to stderr
- [Default runs "silently"].
- -: Toggles between (longitude,latitude) and (latitude,longitude)
- input/output. [Default is (longitude,latitude)].
- -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 input columns].
- -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. [Default is same as input].
- -m Multiple segment file(s). Segments are separated by a special
- record. For ASCII files the first character must be flag [Default is '>']. For binary files all fields must be NaN and -b must set the number of output columns explicitly. By default the -m setting applies to both input and output. Use -mi and -mo to give separate settings to input and output.
EXAMPLES
To rotate the data defined by grid topo.grd and the polygon outline
clip_path.d, using a finite rotation with pole at (135.5, -33.0) and a
rotation angle of 37.3 degrees and bicubic interpolation, try
grdrotater topo.grd -T135.5/-33/37.3 -V -Fclip_path.d -Grot_topo.grd >
rot_clip_path.d
To rotate the entire grid faa.grd using a finite rotation pole at
(67:45W, 22:35S) and a rotation angle of 19.6 degrees using a bilinear
interpolation, try
grdrotater faa.grd -T67:45W/22:35S/19.6 -V -Q -Grot_faa.grd >
rot_faa_path.d
To just see how the outline of the grid large.grd will plot after the
same rotation, try
grdrotater large.grd -T67:45W/22:35S/19.6 -V -S | psxy -Rg -JH180/6i -B30 -m -W0.5p | gv
Let say you have rotated gridA.grd and gridB.grd, restricting each
rotation to nodes inside polygons polyA.d and polyB.d, respectively,
using rotation A = (123W,22S,16,4) and rotation B = (108W, 16S, -14.5),
yielding rotated grids rot_gridA.grd and rot_gridB.grd. To determine
the region of overlap between the rotated grids, we use grdmath:
grdmath 1 rot_gridA.grd ISNAN SUB 1 rot_gridB.grd ISNAN SUB 2 EQ =
overlap.grd
The grid overlap.grd now has 1s in the regions of overlap and 0 elsewhere. You can use it as a mask or use grdcontour to extract a polygon
(contour).