grd2cpt − Make a color palette table from grid files


grd2cpt grdfiles [ −Ccptmaster ] [ −D ] [ −Enlevels ] [ −I ] [ −Lminlimit/maxlimit ] [ −M ] [ −N ] [ −Q[i|o] ] [ −Rwest/east/south/north[r] ] [ −Szstart/zstop/zinc ] [ −T-|+|_|= ] [ −V ] [ −Z ]


grd2cpt reads one or more grid files and writes a color palette (cpt) file to standard output. The cpt file is based on an existing master cpt file of your choice, and the mapping from data value to colors is through the data’s cumulative distribution function (CDF), so that the colors are histogram equalized. Thus if the grid(s) and the resulting cpt file are used in grdimage with a linear projection, the colors will be uniformly distributed in area on the plot. Let z be the data values in the grid. Define CDF(Z) = (# of z < Z) / (# of z in grid). (NaNs are ignored). These z-values are then normalized to the master cpt file and colors are sampled at the desired intervals.
The color palette includes three additional colors beyond the range of z-values. These are the background color (B) assigned to values lower than the lowest z-value, the foreground color (F) assigned to values higher than the highest z-value, and the NaN color (N) painted whereever values are undefined.
If the master cpt file includes B, F, and N entries, these will be copied into the new master file. If not, the parameters COLOR_BACKGROUND, COLOR_FOREGROUND, and COLOR_NAN from the .gmtdefaults4 file or the command line will be used. This default behavior can be overruled using the options −D, −M or −N.
The color model (RGB, HSV or CMYK) of the palette created by makecpt will be the same as specified in the header of the master cpt file. When there is no COLOR_MODEL entry in the master cpt file, the COLOR_MODEL specified in the .gmtdefaults4 file or on the command line will be used.

Names of one or more 2-D binary grid files used to derive the color palette table. All grids need to have the same size and dimensions. (See GRID FILE FORMATS below).



Selects the master color table to use in the interpolation. Choose among the built-in tables (type grd2cpt to see the list) or give the name of an existing cpt file [Default gives a rainbow cpt file].


Select the colors for lowest and highest z-values in the output cpt file as the back- and foreground colors that will be written to the cpt file [Default uses the colors specified in the master file, or those defined by the parameters COLOR_BACKGROUND, COLOR_FOREGROUND, and COLOR_NAN].


Create a linear color table by dividing the grid z-range into nlevels equidistant slices.


Reverses the sense of color progression in the master cpt file. Also exchanges the foreground and background colors, including those specified by the parameters COLOR_BACKGROUND and COLOR_FOREGROUND.


Limit range of cpt file to minlimit/maxlimit, and don’t count data outside range when estimating CDF(Z). [Default uses min and max of data.]


Overrule background, foreground, and NaN colors specified in the master cpt file with the values of the parameters COLOR_BACKGROUND, COLOR_FOREGROUND, and COLOR_NAN specified in the .gmtdefaults4 file or on the command line. When combined with −D, only COLOR_NAN is considered.


Do not write out the background, foreground, and NaN-color fields [Default will write them].


Selects a logarithmic interpolation scheme [Default is linear]. −Qi expects input z-values to be log10(z), assigns colors, and writes out z [Default]. −Qo takes log10(z) first, assigns colors, and writes out z.


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[][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. For calendar time coordinates you may either give (a) relative time (relative to the selected TIME_EPOCH and in the selected TIME_UNIT; append t to −JX|x), or (b) 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 exactly as indicated (however, input, output and plot formats are customizable; see gmtdefaults).


Set steps in cpt file. Calculate entries in cpt file from zstart to zstop in steps of (zinc). [Default chooses arbitrary values by a crazy scheme.]


Force the color table to be symmetric about zero (from -R to +R). Append flag to set the range R: - for R =|zmin|, + for R = |zmax|, _ for R = min(|zmin|, |zmax|), or = for R = max(|zmin|, |zmax|).


Verbose operation. This will write CDF(Z) estimates to stderr. [Default is silent.]


Will create a continuous color palette. [Default is discontinuous, i.e., constant color intervals]


GMT is able to recognize many of the commonly used grid file formats, as well as the precision, scale and offset of the values contained in the grid file. When GMT needs a little help with that, you can 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. See grdreformat(1) and Section 4.17 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. See grdreformat(1) and Section 4.18 of the GMT Technical Reference and Cookbook for more information, particularly on how to read splices of 3-, 4-, or 5-dimensional grids.


Sometimes you don’t want to make a cpt file (yet) but would find it helpful to know that 90% of your data lie between z1 and z2, something you cannot learn from grdinfo. So you can do this to see some points on the CDF(Z) curve (use −V option to see more):

grd2cpt mydata.grd −V > /dev/null

To make a cpt file with entries from 0 to 200 in steps of 20, and ignore data below zero in computing CDF(Z), and use the built-in master cpt file relief, run

grd2cpt mydata.grd −Crelief -L0/10000 -S0/200/20 > mydata.cpt


gmtdefaults(1), GMT(1), grdhisteq(1), grdinfo(1), makecpt(1)