Plot day-light terminators and other sunlight parameters


gmt solar [ -B[p|s]parameters ] [ -C ] [ -G[fill] ] [ -I[lon/lat][+ddate][+zTZ] ] [ -Jparameters ] [ -M ] [ -N ] [ -Rregion ] [ -Tdcna[+ddate][+zTZ]] [ -U[stamp] ] [ -V[level] ] [ -Wpen ] [ -X[a|c|f|r][xshift] ] [ -Y[a|c|f|r][yshift] ] [ -bobinary ] [ -oflags ] [ -pflags ] [ -ttransp ] [ --PAR=value ]

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


solar calculates closed polygons for the day-night terminator and the civil, nautical and astronomical twilights and either writes them to standard output or uses them for clipping or filling on maps.

Required Arguments


Optional Arguments


Set map boundary frame and axes attributes. (See full description) (See cookbook information).


Formats the report selected by -I using tab-separated fields on a single line. The output is Sun Lon Lat Azimuth Elevation in degrees, Sunrise Sunset Noon in decimal days, day length in minutes, SolarElevationCorrected corrected for the effect of refraction index and Equation of time in minutes. Note that if no position is provided in -Ilon/lat the data after Elevation refers to the point (0,0).

-G[fill] (more …)

Select color or pattern for filling of terminators, or give no argument for clipping [Default is no fill or clipping]. Deactivate clipping by appending the output of gmt clip -C.


Print current sun position as well as Azimuth and Elevation. Append lon/lat to print also the times of Sunrise, Sunset, Noon and length of the day. Add +ddate in ISO 8601 format, e.g, +d2000-04-25T04:52, to compute sun parameters for this date and time. If necessary, append time zone via +zTZ. The time zone is given as an offset from UTC. Negative UTC offsets look like −03:00 or −03. Positive UTC offsets look like 02:00 or 02.


Specify the projection. (See full description) (See cookbook summary) (See projections table).


Write terminator(s) as a multisegment ASCII (or binary, see -bo) polygons to standard output. No plotting occurs.


Invert the sense of what is inside and outside the terminator. Only used with clipping (-G) and cannot be used together with -B.


Specify the region of interest. (See full description) (See cookbook information).


Plot (or dump; see -M) one or more terminators defined via the dcna flags. Where: d means day/night terminator; c means civil twilight; n means nautical twilight; a means astronomical twilight. Add +ddate in ISO format, e.g, +d2000-04-25T12:15:00 to know where the day-night was at that date. If necessary, append time zone via +zTZ.

Refer to for definitions of different twilights.


Draw GMT time stamp logo on plot. (See full description) (See cookbook information).


Select verbosity level [w]. (See full description) (See cookbook information).

-W[pen] (more …)

Set pen attributes for lines or the outline of symbols [Defaults: width = default, color = black, style = solid].


Shift plot origin. (See full description) (See cookbook information).


Shift plot origin. (See full description) (See cookbook information).

-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).

-p[x|y|z]azim[/elev[/zlevel]][+wlon0/lat0[/z0]][+vx0/y0] (more …)

Select perspective view.

-ttransp[/transp2] (more …)

Set transparency level(s) in percent.

-^ 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.


Note: Below are some examples of valid syntax for this module. The examples that use remote files (file names starting with @) can be cut and pasted into your terminal for testing. Other commands requiring input files are just dummy examples of the types of uses that are common but cannot be run verbatim as written.

Print current Sun position and Sunrise, Sunset times at given date, time and time zone:

gmt solar -I-7.93/37.079+d2016-02-04T10:01:00+z02:00

Plot the day-night and civil twilight:

gmt begin
  gmt coast -Rd -W0.1p -JQ0/14c -B -BWSen -Dl -A1000
  gmt solar -W1p -Tdc
gmt end show

Set up a clip path overlay based on the day/night terminator:

gmt solar -G -Tc


Code from the Excel Spreadsheets in


Taken from the NOAA site Data for Litigation note.

The NOAA Solar Calculator is for research and recreational use only. NOAA cannot certify or authenticate sunrise, sunset or solar position data. The U.S. Government does not collect observations of astronomical data, and due to atmospheric conditions our calculated results may vary significantly from actual observed values.

For further information, please see the U.S. Naval Observatory’s page Astronomical Data Used for Litigation

See Also

gmt, clip, coast, plot