Compute grids or time-series of solid Earth tides


gmt earthtide -T[min/max/]inc[+n] | -Tfile|list -Ggrdfile [ -Cx|e,y|n,z|v ] [ -Iincrement ] [ -Llon/lat ] [ -Rregion ] [ -S ] [ -V[level] ] [ -rreg ] [ --PAR=value ]

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


Compute the three components of solid Earth tides as time-series or grids. Optionally compute also Sun and Moon position in lon,lat. The output can be either in the form of a grid or as a table printed to stdout. The format of the table data is: time north east vertical in units of meters.

Required Arguments

Either -G, -S or -L


Write one or more tide component directly to grids; no table data are written to standard output. If more than one component are specified via -C then grdfile must contain the format flag %s so that we can embed the component code in the file names (n for north; e for east and v for vertical). If only one component is selected with -C than no code is appended to grid name (an no need to set the format flag %s). The grid(s) are computed at the time set by -T, if that option is used, or at the now time calculated in UTC from the computer clock.


Output position of Sun and Moon in geographical coordinates plus distance in meters. Output is a Mx7 matrix where M is the number of times (set by -T) and columns are time, sun_lon, sun_lat, sun_dist moon_lon, moon_lat, moon_dist


Geographical coordinate of the location where to compute a time-series. Coordinates are geodetic (ellipsoidal) latitude and longitude. GRS80 ellipsoid is used. (Which can be considered equivalent to the WGS84 ellipsoid at the sub-millimeter level.)

Optional Arguments


Select which component to write to individual grids. Requires -G. Append comma-separated codes for available components: x or e for the east component; y or n for the north component; and z or v for the vertical component. For example, -Ce,v, will write 2 grids. One with east and other with the vertical components. If -G is set but not -C then the default is to write the vertical component.


x_inc [and optionally y_inc] is the grid spacing. Optionally, append a suffix modifier. Geographical (degrees) coordinates: Append m to indicate arc minutes or s to indicate arc seconds. If one of the units e, f, k, M, n or u is appended instead, the increment is assumed to be given in meter, foot, km, Mile, nautical mile or US survey foot, respectively, and will be converted to the equivalent degrees longitude at the middle latitude of the region (the conversion depends on PROJ_ELLIPSOID). If y_inc is given but set to 0 it will be reset equal to x_inc; otherwise it will be converted to degrees latitude. All coordinates: If +e is appended then the corresponding max x (east) or y (north) may be slightly adjusted to fit exactly the given increment [by default the increment may be adjusted slightly to fit the given domain]. Finally, instead of giving an increment you may specify the number of nodes desired by appending +n to the supplied integer argument; the increment is then recalculated from the number of nodes and the domain. The resulting increment value depends on whether you have selected a gridline-registered or pixel-registered grid; see GMT File Formats for details. Note: If -Rgrdfile is used then the grid spacing (and registration) have already been initialized; use -I (and -r) to override the values.

-Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)

Specify the region of interest. Used only with -G. If not set, defaults to -Rd

-T[min/max/]inc[+n] | -Tfile|list

Make evenly spaced time-steps from min to max by inc. Append +n to indicate inc is the number of t-values to produce over the range instead. Append a valid time unit (d|h|m|s) to the increment. If only min is given then we use that date and time for the calculations. If no -T is provided get current time in UTC from the computer clock. If no -G or -S are provided then -T is interpreted to mean compute a time-series at the location specified by -L, thus then -L becomes mandatory. When -G and -T, only first time T series is considered. Finally, dates may range from 1901 through 2099. For details on array creation, see Generate 1D Array.

-bo[ncols][type] (more …)

Select native binary output.

-ocols[,…][,t[word]] (more …)

Select output columns (0 is first column; t is trailing text, append word to write one word only).

-r[g|p] (more …)

Set node registration [gridline].

-V[level] (more …)

Select verbosity level [w].

-^ or just -

Print a short message about the syntax of the command, then exit (NOTE: on Windows just use -).

-+ or just +

Print an extensive usage (help) message, including the explanation of any module-specific option (but not the GMT common options), then exit.

-? or no arguments

Print a complete usage (help) message, including the explanation of all options, then exit.


Temporarily override a GMT default setting; repeatable. See gmt.conf for parameters.

Generate 1D Array

We will demonstrate the use of options for creating 1-D arrays via gmtmath. Make an evenly spaced coordinate array from min to max in steps of inc, e.g.,:

gmt math -o0 -T3.1/4.2/0.1 T =

Append +b if we should take log2 of min and max, get their nearest integers, build an equidistant log2-array using inc integer increments in log2, then undo the log2 conversion. E.g., -T3/20/1+b will produce this sequence:

gmt math -o0 -T3/20/1+b T =

Append +l if we should take log10 of min and max and build an array where inc can be 1 (every magnitude), 2, (1, 2, 5 times magnitude) or 3 (1-9 times magnitude). E.g., -T7/135/2+l will produce this sequence:

gmt math -o0 -T7/135/2+l T =

For output values less frequently than every magnitude, use a negative integer inc:

gmt math -o0 -T1e-4/1e4/-2+l T =

Append +n if inc is meant to indicate the number of equidistant coordinates instead. To have exactly 5 equidistant values from 3.44 and 7.82, run:

gmt math -o0 -T3.44/7.82/5+n T =

Alternatively, give a file with output coordinates in the first column, or provide a comma-separated list of specific coordinates, such as the first 6 Fibonacci numbers:

gmt math -o0 -T0,1,1,2,3,5 T =

If you only want a single value then you must append a comma to distinguish the list from the setting of inc.

If the module allows you to set up an absolute time series, append a valid time unit from the list year, month, week, day, hour, minute, and second to the given increment; add +t to ensure time column (or use -f). Note: The internal time unit is still controlled independently by TIME_UNIT. The first 7 days of March 2020:

gmt math -o0 -T2020-03-01T/2020-03-07T/1d T =

A few modules allow for +a which will paste the coordinate array to the output table.

Likewise, if the module allows you to set up a spatial distance series (with distances computed from the first two data columns), specify a new increment as inc with a geospatial distance unit from the list degree (arc), minute (arc), second (arc), meter, foot, kilometer, Miles (statute), nautical miles, or survey foot; see -j for calculation mode. To interpolate Cartesian distances instead, you must use the special unit c.

Finally, if you are only providing an increment and will obtain min and max from the data, then it is possible (max - min)/inc is not an integer, as required. If so, then inc will be adjusted to fit the range. Alternatively, append +e to keep inc exact and adjust max instead (keeping min fixed).


To compute a global grid of the vertical component with a grid step of 30m at noon of 18 Jun 2018, (note: we are using the defaults for -R and -I) try

gmt earthtide -T2018-06-18T12:00:00 -Gsolid_tide_up.grd

To obtain a one day long time-series, starting at same date, at the -7 W, 37 N and 1 minute interval, try

gmt earthtide -T2018-06-18T/2018-06-19T/1m -L-7/37 > solid_tide.dat

The get the Sun and Moon position in geographical coordinates at the now time

gmt earthtide -S


  1. All times, both input and output, are in UTC.

See Also

gmt.conf, gmt,