grdvector (1) - Linux Manuals

grdvector: Plot vector field from two component grids


grdvector - Plot vector field from two component grids


grdvector -Jparameters [ ] [ [p|s]parameters ] [ cpt ] [ fill ] [ [x]dx[/dy] ] [ ] [ ] [ ] [ ] [ parameters ] [ region ] [ [i|l]scale ] [ ] [ [just/dx/dy/][c|label] ] [ pen ] [ x_offset ] [ y_offset ] [ ] [ -ccopies ] [ -f<flags> ] [ -p<flags> ] [ -t<transp> ]

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


grdvector reads two 2-D grid files which represents the x- and y-components of a vector field and produces a vector field plot by drawing vectors with orientation and length according to the information in the files. Alternatively, polar coordinate r, theta grids may be given instead.

Contains the x-components of the vector field.
Contains the y-components of the vector field. (See GRID FILE FORMATS below.)
-Jparameters (more ...)
Select map projection.


The grid files contain polar (r, theta) components instead of Cartesian (x, y) [Default is Cartesian components].
-B[p|s]parameters (more ...)
Set map boundary intervals.
Use cpt to assign colors based on vector length. Alternatively, supply the name of a GMT color master CPT [rainbow] and let grdvector automatically determine a 16-level continuous CPT from the grid's z-range. Yet another option is to specify -Ccolor1,color2[,color3,...] to build a linear continuous cpt from those colors automatically. In this case colorn can be a r/g/b triplet, a color name, or an HTML hexadecimal color (e.g. #aabbcc ).
Sets color or shade for vector interiors [Default is no fill].
Only plot vectors at nodes every x_inc, y_inc apart (must be multiples of original grid spacing). Append m for arc minutes or s for arc seconds. Alternatively, use -Ix to specify the multiples multx[/multy] directly [Default plots every node].
-K (more ...)
Do not finalize the PostScript plot.
Do NOT clip vectors at map boundaries [Default will clip].
-O (more ...)
Append to existing PostScript plot.
-P (more ...)
Select "Portrait" plot orientation.
Modify vector parameters. For vector heads, append vector head size [Default is 0, i.e., stick-plot]. See VECTOR ATTRIBUTES for specifying additional attributes.
-R[unit]xmin/xmax/ymin/ymax[r] (more ...)
Specify the region of interest. Specify a subset of the grid.
Sets scale for Cartesian vector length in data units per distance measurement unit [1]. Append c, i, or p to indicate the measurement unit (cm, inch,or point). Prepend l to indicate a fixed length for all vectors. For Geographic data, give scale in data units per km. Use -Si if it is simpler to give the reciprocal scale in measurement unit per data unit or km per data unit.
Means the azimuths of Cartesian data sets should be adjusted according to the signs of the scales in the x- and y-directions [Leave alone]. This option can be used to convert vector azimuths in cases when a negative scale is used in one of both directions (e.g., positive down).
-U[just/dx/dy/][c|label] (more ...)
Draw GMT time stamp logo on plot.
-V[level] (more ...)
Select verbosity level [c].
Set pen attributes used for vector outlines [Default: width = default, color = black, style = solid].


-Y[a|c|f|r][y-shift[u]] (more ...)
Shift plot origin.
The theta grid provided contains azimuths rather than directions (requires -A).
-ccopies (more ...)
Specify number of plot copies [Default is 1].
-f[i|o]colinfo (more ...)
Specify data types of input and/or output columns.
-p[x|y|z]azim/elev[/zlevel][+wlon0/lat0[/z0]][+vx0/y0] (more ...)
Select perspective view.
-t[transp] (more ...)
Set PDF transparency level in percent.
-^ 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.
Print GMT version and exit.
Print full path to GMT share directory and exit.


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.


Several modifiers may be appended to the vector-producing options to specify the placement of vector heads, their shapes, and the justification of the vector. Below, left and right refers to the side of the vector line when viewed from the start point to the end point of the segment: +aangle sets the angle of the vector head apex [30].

+b places a vector head at the beginning of the vector path [none]. Optionally, append t for a terminal line, c for a circle, or a for arrow [Default]. Further append l|r to only draw the left or right side of this head [both sides].

+e places a vector head at the end of the vector path [none]. Optionally, append t for a terminal line, c for a circle, or a for arrow [Default]. Further append l|r to only draw the left or right side of this head [both sides].

+g-|fill turns off vector head fill (if -) or sets the vector head fill [Default fill is used, which may be no fill].

+l draws half-arrows, using only the left side of specified heads [both sides].

+m places a vector head at the mid-point the vector path [none]. Append f or r for forward or reverse direction of the vector [forward]. Optionally, append t for a terminal line, c for a circle, or a for arrow head [Default]. Further append l|r to only draw the left or right side of this head [both sides]. Cannot be combined with +b or +e.

+nnorm scales down vector attributes (pen thickness, head size) with decreasing length, where vectors shorter than norm will have their attributes scaled by length/norm [arrow attributes remains invariant to length].

+oplon/plat specifies the oblique pole for the great or small circles. Only needed for great circles if +q is given.

+p[-][pen] sets the vector pen attributes. If pen has a leading - then the head outline is not drawn. [Default pen is used, and head outline is drawn]

+q means the input angle, length data instead represent the start and stop opening angles of the arc segment relative to the given point.

+r draws half-arrows, using only the right side of specified heads [both sides].

t[b|e]trim will shift the beginning or end point (or both) along the vector segment by the given trim; append suitable unit. If the modifiers b|e are not used then trim may be two values separated by a slash, which is used to specify different trims for the two ends. Positive trims will shorted the vector while negative trims will lengthen it [no trim].

In addition, all but circular vectors may take these modifiers: +jjust determines how the input x,y point relates to the vector. Choose from beginning [default], end, or center.

+s means the input angle, length is instead the x, y coordinates of the vector end point.

Finally, Cartesian vectors may take these modifiers: +zscale[unit] expects input dx,dy vector components and uses the scale to convert to polar coordinates with length in given unit.


To draw the vector field given by the files and on a linear plot with scale 5 cm per data unit, using vector rather than stick plot, scale vector magnitudes so that 10 units equal 1 inch, and center vectors on the node locations, run

gmt grdvector -Jx5c -A -Q0.1i+e+jc -S10i >

To plot a geographic data sets given the files and, using a scale of 200 km per data unit and only plot every 3rd node in either direction, try

gmt grdvector -Ix3 -JH0/20c -Q0.1i+e+jc -S200 >


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


gmt, gmtcolors, grdcontour, psxy