Solar Eclipse Computer
Skip navigation

You can obtain the circumstances of recent and upcoming solar eclipses for any location by following these simple steps:

For general information on eclipse circumstances and visibility, see Upcoming Eclipses of the Sun and Moon.

Form A - U.S. Cities or Towns




The place name you enter above must be a city or town in the U.S. The place's location will be retrieved from a file with over 22,000 places listed. Either upper- or lower-case letters or a combination can be used. Spell out place name prefixes, as in "East Orange", "Fort Lauderdale", "Mount Vernon", etc. The only exception is "St.", which is entered as an abbreviation with a period, as in "St. Louis". You need only enter as many characters as will unambiguously identify the place. The city or town name may be left blank if the State or Territory is District of Columbia.

  (-90 to 10999)  meters  

Form B - Locations Worldwide



The place name you enter above is merely a label for the table header; you can enter any identifier, or none (avoid using punctuation characters). The data will be calculated for the longitude and latitude you enter below.

Note: With the exception of the seconds components, coordinate components should be entered as integers (no decimals).

  (-90 to 10999)  meters  

Need coordinates?  Try NGA's GEOnet Names Server (GNS).
Need U.S. coordinates?  Try the USGS Geographic Names Information System (GNIS).


The table of local circumstances gives the UT1 time of each eclipse "event" that is visible from the location. The altitude and azimuth of the Sun at each of the events is given as well. The azimuth is reckoned eastward from North. The altitude is corrected for refraction assuming standard atmospheric conditions.

The computation of Eclipse Local Circumstances is started by iteratively computing topocentric positions of the Sun and Moon to find the time of Maximum Eclipse. Another series of position computations is performed going backwards and forwards from the time of Maximum Eclipse to find the times of contacts. The solar and lunar angular diameters are calculated at each position using radius values from DE405 (Sun 696000km; Moon 1737.4 km) to determine if contact conditions have occurred. Lunar limb profiles and center of mass/center of figure corrections are not used.

After contact times have been computed, a check is made to determine if Sunrise and/or Sunset occurred during the course of the eclipse. If so, the time of Sunrise and/or Sunset is computed.

The body of the table contains the time of each contact point, the Sun's topocentric position at that time, and its Position and Vertex Angles. The time of sunrise or sunset is also noted in the table if it occurs during the eclipse. The summary at the bottom contains the Duration, Magnitude, and Obscuration.

The Position Angle of a given contact point on the solar limb is measured eastward (counterclockwise) around the solar limb, from the point on the Sun that is farthest north.

Vertex Angle is similar to Position Angle, except that it is measured from the point on the Sun that has the highest local altitude.

Duration is the amount of time from the beginning of the eclipse to the end.

Duration of Totality is the amount of time from the beginning of the central phase eclipse to the end of the central phase. For an annular solar eclipse, it will read Duration of Annularity .

Magnitude of the eclipse is the fraction of the apparent diameter of the solar disk covered by the Moon at the time of greatest phase, expressed in units of solar diameter.

Obscuration is the percentage of the area of the apparent solar disk obscured by the Moon at maximum eclipse.

More information on eclipses can be found at the USNO Eclipse Portal.

For information on the definitions of terms used, see Rise, Set, and Twilight Definitions. If you need to check the times of sunrise and sunset around the time of the eclipse, see Complete Sun and Moon Data for One Day.

See Solar Eclipse Viewing Safety for information about how to safely watch solar eclipses.

Application Programming Interface

This data service uses one of our new Application Programming Interfaces (APIs). The API returns data in JavaScript Object Notation (JSON) format for users who wish to manipulate data into a customized format. For more information on the API, please see the documentation page.

Back to . . .     top     Form A     Form B