SolarEclipse

SolarEclipse[]

gives the date of the next solar eclipse.

SolarEclipse[date]

gives the date of the next solar eclipse after the specified date.

SolarEclipse[prop]

gives the value of property prop for the next solar eclipse.

SolarEclipse[date,prop]

gives the value of property prop for the next solar eclipse after date.

Details and Options

  • A solar eclipse occurs when the shadow projected by the Moon passes over the surface of the Earth.
  • There are 2 to 5 solar eclipses every year, always near a new moon.
  • The shadow of the Moon has three parts: the umbra, the penumbra and the antumbra.
  • In SolarEclipse[date,], date can be any DateObject expression or date string.
  • SolarEclipse[{date1,date2,},prop] returns an EventSeries object of values of the given property at the instant of maximum eclipse after each datei.
  • SolarEclipse[{start,end,All}] returns the list of eclipses between the start and end dates.
  • SolarEclipse[{"Saros",s}] returns the list of eclipses with Saros number s.
  • In SolarEclipse[date,prop], prop can be a named property "prop" or a parametrized property of the form {"prop",param1,param2,}, where typical parameters are the date or the location of the observer.
  • General properties of solar eclipses include:
  • "Type"type of solar eclipse (partial, total, annular or hybrid)
    "MeeusType"type in Meeus' classification of seven types
    "Gamma"minimum Earth-Moon center distance, in Earth's equatorial radii
    "Magnitude"magnitude observed at the instant of maximum eclipse
    "NewMoon"date of the new moon of the solar eclipse
    "LunationNumber"lunation number of the new moon of the eclipse
    "LunarNode"lunar node (ascending or descending) of the eclipse
    "Central"whether the shadow axis intersects the Earth or not
    "Umbral"whether the umbra cone intersects the Earth or not
    "ContactCount"number of contacts, between 2 and 10, of the shadow axis and cones with the Earth
  • Properties describing the geographical structure of the eclipse include:
  • "EclipseMap"GeoGraphics map of the key geographical elements
    {"EclipseMap",opts}add options opts to GeoGraphics
    "GraphicsData"graphics directives for all phases of the eclipse
  • Two of the observed periodicities of eclipses are the Saros and Inex cycles. Related properties include:
  • "SarosSeries"integer Saros number of the eclipse
    "InexSeries"integer Inex number of the eclipse
    "IndexInSaros"position of the eclipse in its Saros series
    "SarosInex"pair {saros,inex} of integer numbers
  • Maximum eclipse happens at the closest approach between the shadow axis and the center of the Earth. Maximum eclipse properties include:
  • "MaximumEclipseDate"instant at which maximum eclipse happens
    "MaximumEclipsePosition"geo position of the shadow axis at maximum eclipse
    "MaximumEclipseMagnitude"magnitude (fraction of Sun's diameter covered)
    "MaximumEclipseObscuration"obscuration (fraction of Sun's area covered)
    "MaximumEclipseUmbraDuration"duration of centrality phase at the maximum eclipse position
    "MaximumEclipsePenumbraDuration"duration of partiality phase at the maximum eclipse position
  • Points at which the shadow cones or their axes first or last touch the Earth are known as contact points.
  • Penumbral cone contacts are denoted Pi, and there are 2 or 4 in an eclipse. Related properties include:
  • "ContactPointP1Date"instant of first external penumbral contact, at sunrise
    "ContactPointP2Date"instant of first internal penumbral contact, at sunrise
    "ContactPointP3Date"instant of last internal penumbral contact, at sunset
    "ContactPointP4Date"instant of last external penumbral contact, at sunset
    "ContactPointP1Position"geo position of contact P1
    "ContactPointP2Position"geo position of contact P2
    "ContactPointP3Position"geo position of contact P3
    "ContactPointP4Position"geo position of contact P4
  • Umbral cone contacts are denoted Ui, and there are 0, 2 or 4 in an eclipse. Related properties include:
  • "ContactPointU1Date"instant of first external umbral contact, at sunrise
    "ContactPointU2Date"instant of first internal umbral contact, at sunrise
    "ContactPointU3Date"instant of last internal umbral contact, at sunset
    "ContactPointU4Date"instant of last external umbral contact, at sunset
    "ContactPointU1Position"geo position of contact U1
    "ContactPointU2Position"geo position of contact U2
    "ContactPointU3Position"geo position of contact U3
    "ContactPointU4Position"geo position of contact U4
  • Shadow axis contacts are denoted Ci, and there are 0 or 2 in an eclipse. Related properties include:
  • "ContactPointC1Date"instant of first contact of the shadow axis with the Earth
    "ContactPointC2Date"instant of last contact of the shadow axis with the Earth
    "ContactPointC1Position"geo position of contact C1
    "ContactPointC2Position"geo position of contact C2
  • Properties "TotalPhaseStartDate" and "TotalPhaseEndDate" are equivalent to "ContactPointC1Date" and "ContactPointC2Date".
  • Properties related to the shadow axis include:
  • {"ShadowAxisPosition",date}geo position of the shadow axis at the given date
    {"ShadowAxisVelocity",date}velocity geo vector of the shadow axis at the given date
    {"ShadowAxisSpeed",date}speed (norm of the velocity vector) of the shadow axis
    {"ShadowAxisDirection",date}bearing angle of the shadow axis velocity vector
    {"ShadowAxisDeclination",date}declination of the shadow axis in the TETE equatorial frame
    {"ShadowAxisHourAngle",date}Greenwich hour angle of the shadow axis
    "ShadowAxisLine"geo path of the shadow axis for the whole eclipse
  • The property "TotalPhaseCenterLine" is equivalent to "ShadowAxisLine".
  • Properties related to the umbra cone include:
  • {"UmbraPolygon",date}polygon of the umbra shadow at the given date
    {"UmbraBoundaryLine",date}geo path of the boundary of the umbra at the given date
    "UmbraEnvelopePolygon"polygon including all locations in the umbra during the eclipse
    "UmbraRiseSetLine"rising and setting curve for the umbra
    {"UmbraPathWidth",date}width of the umbra envelope at the given date
  • The property "TotalPhasePolygon" is equivalent to "UmbraEnvelopePolygon".
  • Properties related to the penumbra cone include:
  • {"PenumbraPolygon",date}polygon of the penumbra shadow at the given date
    {"PenumbraBoundaryLine",date}geo path of the boundary of the penumbra at the given date
    "PenumbraEnvelopePolygon"polygon including all locations in the penumbra in the eclipse
    "PenumbraRiseSetLine"rising and setting curve for the penumbra
    "PenumbraRiseSetNode"node of self-intersecting rising and setting curve
    "MaximumEclipseInHorizonLine"curve of maximum eclipse in the horizon
  • The property "PartialPhasePolygon" is equivalent to "PenumbraEnvelopePolygon".
  • The local maximum eclipse for the position loc happens when this position is closest to the shadow axis. Local maximum eclipse properties include:
  • {"LocalMaximumEclipseDate",loc}the date at which the maximum eclipse is observed from loc
    {"LocalMaximumEclipseMagnitude",loc}magnitude observed from loc at local maximum eclipse
    {"LocalMaximumEclipseObscuration",loc}obscuration observed from loc at local maximum eclipse
  • Local contact properties include:
  • {"LocalPenumbraContact1Date",loc}instant of first penumbral contact with position loc
    {"LocalPenumbraContact2Date",loc}instant of last penumbral contact with position loc
    {"LocalPenumbraDuration",loc}duration between first and last penumbral contacts
    {"LocalUmbraContact1Date",loc}instant of first umbral contact with position loc
    {"LocalUmbraContact2Date",loc}instant of last umbral contact with position loc
    {"LocalUmbraDuration",loc}duration between first and last umbral contacts
  • Time- and location-dependent properties include:
  • {"LocalMagnitude",date,loc}magnitude observed from loc at date
    {"LocalObscuration",date,loc}obscuration observed from loc at date
    {"SunApparentRadius",date,loc}angular apparent radius of the Sun
    {"MoonApparentRadius",date,loc}angular apparent radius of the Moon
    {"SunMoonSeparation",date,loc}angular separation between Sun and Moon
  • Properties related to Besselian elements include:
  • {"BesselianElementsCoefficients",date0}polynomial coefficients for the eight main Besselian elements with respect to the time origin date0
    "BesselianElementsCoefficients"polynomial coefficients for the automatically selected time origin
    {"BesselianElementsFunctions",date0}Besselian element functions of time in hours from date0
    "BesselianElementsFunctions"Besselian element functions for the automatic time origin
    {"BesselianElements",date}values of the eight main Besselian elements at date
    {"BesselianRotationMatrix",date}rotation matrix between the geodetic and Besselian frames
    {"SunXYZ",date}Besselian coordinates of the center of the Sun
    {"MoonXYZ",date}Besselian coordinates of the center of the Moon
    {"PenumbraVertexXYZ",date}Besselian coordinates of the penumbra vertex
    {"UmbraVertexXYZ",date}Besselian coordinates of the umbra vertex
    {"AngularVelocityXYZ",date}Besselian coordinates of Earth's angular velocity vector
    {"ObserverXYZ",date,loc}Besselian coordinates of the observer at position loc
  • SolarEclipse[] is equivalent to SolarEclipse["MaximumEclipseDate"].
  • SolarEclipse can accept the following options:
  • TimeDirection 1whether to return the next or last solar eclipse
    EclipseType Automaticused to specify the type of solar eclipse
    TimeSystem Automatictime system to be used for output dates
    TimeZone $TimeZonetime zone to be used for output dates
  • Possible settings for TimeDirection include:
  • 1returns the next solar eclipse from the specified date
    -1returns the last solar eclipse from the specified date
  • Possible settings for EclipseType include:
  • Automaticreturns the next eclipse of any type
    "Annular"returns the next annular eclipse
    "Hybrid"returns the next hybrid eclipse
    "Partial"returns the next partial eclipse
    "Total"returns the next total eclipse
  • To compute the positions of the Earth, the Sun and the Moon, SolarEclipse uses the DE440 ephemerides from NASA, spanning a period of more than 30 millennia, between the years 13200 and 17200 approximately. There are about 72200 solar eclipses in this period.

Examples

open allclose all

Basic Examples  (4)

Find the date of the next solar eclipse:

Find its magnitude at maximum eclipse:

Find the date of the next solar eclipse after a specified date:

Find the type of the next solar eclipse:

Show a map illustrating the geographical elements of the eclipse on April 8, 2024:

Scope  (23)

Dates as Eclipse Identifiers  (3)

An eclipse is identified in output by the DateObject expression of its maximum eclipse instant:

Dates in input can be given as DateObject expressions or date strings:

Find all solar eclipses between two given dates:

Plot their magnitudes:

Global Properties of an Eclipse  (2)

Find the general properties, or circumstances, of the eclipse used by Eddington to confirm gravitational bending:

It was a total eclipse:

It had a magnitude of 1.0728, so that the Moon's apparent diameter was 7.28% larger than that of the Sun at maximum eclipse:

It had obscuration 1, meaning that the full disk of the Sun was covered by the Moon:

It belonged to Saros series 136:

It was eclipse number 32 in that Saros series:

Find general properties of a partial eclipse:

A total of 62.87% of the diameter of the Sun was covered by the Moon as observed at maximum eclipse:

A total of 52.47% of the area of the Sun's apparent disk was covered by the disk of the Moon:

This eclipse will happen in lunation 447:

The eclipse will happen around 14 minutes before the instant of the new moon:

Find the date and position of maximum eclipse:

Find the dates of penumbral contact with that location:

Simulate the eclipse as observed from the location of maximum eclipse between those two instants:

Eclipse Types  (4)

Eclipses can be classified in different ways. An eclipse is central if the shadow axis touches the Earth:

A central eclipse can be total, annular or hybrid (i.e. change between annular and total):

This is a partial eclipse, so the shadow axis will not intersect the Earth:

Therefore, this property cannot be computed:

There can be total or annular solar eclipses that are not central. The last one happened in 2014:

The shadow axis does not intersect the Earth:

But the umbra cone (actually the antumbra part) does intersect the Earth:

It was an annular eclipse:

Show the evolution of the eclipse near the instant of maximal eclipse, zooming in on the umbra on the right:

Jean Meeus proposed a classification for seven types of eclipse. Find out the Meeus types of eclipses in the next four years:

Maximum Eclipse  (1)

In a partial eclipse, no Earth observer sees totality. The location and instant observing highest magnitude is called the maximum eclipse:

The eclipse identifier uses precisely the instant of maximum eclipse:

This is the location observing maximum eclipse:

This is the magnitude observed from that location:

It coincides with the computation of magnitude from that location at that instant:

For a partial eclipse, maximum eclipse always happens near the horizon:

This map shows the location of maximum eclipse at the center, in white, on the yellow line of maximum eclipse in horizon:

Contact Points  (1)

Find the next annular eclipse:

Compute the dates and locations of some of the four umbral contact points for this eclipse:

Evolution of the Shadow Axis and the Umbra  (3)

Find the first total eclipse after the beginning of the year 2030:

Compute the instantaneous position of the shadow axis at any given instant:

Compute the path of the shadow axis for this whole eclipse:

Compute the envelope polygon for the umbra:

Represent those elements on a map:

Zoom in around the selected instantaneous position:

Take the first solar eclipse of the year 2024 and compute the dates of its first and last shadow axis contacts:

Compute the speed of the shadow axis as a function of the number of hours from maximum eclipse:

This is the speed at the instant of maximum eclipse:

The speed diverges near the contact points of the shadow axis with the Earth:

Compute the width of the central path at any time during an eclipse:

Only eclipses with all four umbral contact points have a well-defined central path. For example, partial eclipses do not have a central path:

Rising and Setting Curve  (2)

Find the rise/set curve for the next eclipse, describing the positions that see the beginning or end of the eclipse at sunrise or sunset:

This eclipse has all four penumbral contact points, so the penumbra shadow is interior to the Earth at some point. Therefore, the rise/set line has two separate lobes:

Find the rise/set curve for an eclipse in which contact points P2 and P3 do not exist:

Then the rise/set line self-intersects at a node point:

Maximum Eclipse in Horizon Curve  (1)

Find the locus of the observers that see maximum eclipse with the Sun on the horizon:

Note the relation with the rise/set line of the eclipse:

Local Circumstances  (2)

Find the date of the total solar eclipse of April 2024, which will be visible from the US:

Select a location in the US:

It will not be possible to observe totality from this location. This is the magnitude at the instant of local maximum eclipse, and it is smaller than 1:

It will happen at this instant:

Plot the evolution of the magnitude at this location:

The magnitude is zero outside of this date interval:

That is the duration of the contact with the penumbra:

For the eclipse of April 2024, select a location that will observe totality:

It will observe totality because the magnitude at the local maximum eclipse is larger than 1:

Plot the evolution of the magnitude at this location. The totality phase is clear:

Compute the penumbra and umbra contacts:

Therefore, these are the durations of partiality and totality:

Eclipse Cycles  (3)

Find the Inex and Saros numbers of an eclipse:

Find both properties together:

Highlight an eclipse in a 3000-year SarosInex panorama, with each eclipse being a point {saros,inex}:

Use 30,000 years of eclipses:

Other possible eclipse cycles include:

Besselian Elements  (1)

Compute the Besselian element coefficients for the first solar eclipse of the year 2024:

This is the time selected as the origin of time:

Construct the standard Besselian functions as functions of time in hours from T0:

From these functions, compute all circumstances of the eclipse. For example, find the instant of maximum eclipse:

Compare to the reported value after changing to the "TT" time system:

Options  (6)

EclipseType  (1)

By default, SolarEclipse finds the next eclipse of any type:

Find the next eclipse of a different type:

Check that the intermediate eclipses are not partial:

TimeDirection  (2)

By default, SolarEclipse finds the next eclipse:

Find the previous eclipse instead:

Find the first eclipse after a given date:

Find the first eclipse before the same date:

TimeSystem  (2)

By default, SolarEclipse returns dates in the default Wolfram Language time system, an implementation of UTC extended to follow UT1 in the far past and future:

Specify that the result should be given in a different time system:

Find an eclipse in the far past. Note that DateObject uses by default a proleptic Gregorian calendar without year zero:

Changing to the "TT" time system shifts the date representation by several days:

It is still the same date:

TimeZone  (1)

By default, SolarEclipse returns dates in your local time zone:

Return the same date in a different time zone:

Properties & Relations  (5)

A solar eclipse is always very close to a new moon. Take a random date in the last 1000 years:

Find the first eclipse after that date:

Find the new moon in the vicinity of that solar eclipse:

They are less than 20 minutes apart:

Both the eclipse and the new moon can be identified by the same lunation number:

Solar eclipses correspond to minima of angular separation between the sky positions of the Sun and Moon:

For a total eclipse, the angular separation has its minimum at zero:

SolarEclipse finds and describes solar eclipses, in which the Moon passes between the Earth and the Sun:

LunarEclipse finds and describes lunar eclipses, in which the Earth passes between the Sun and the Moon:

They are frequently about two weeks from each other:

Compute all eclipses of a given Saros series:

They are all separated by approximately one Saros:

There are 2 to 5 solar eclipses each year:

There are very few years with 5 solar eclipses:

These were their types:

Interactive Examples  (2)

Simulate the progression of the Moon's shadow over the Earth for the eclipse of April 8, 2024:

Explore the geometric intersection of a tilted ellipsoid and a cone in the Besselian framework:

Neat Examples  (2)

Construct a map of the totality paths of the total eclipses between years 2010 and 2030:

Take all eclipses of a Saros series:

Show the evolution of the centrality polygons in the series:

Wolfram Research (2014), SolarEclipse, Wolfram Language function, https://reference.wolfram.com/language/ref/SolarEclipse.html (updated 2023).

Text

Wolfram Research (2014), SolarEclipse, Wolfram Language function, https://reference.wolfram.com/language/ref/SolarEclipse.html (updated 2023).

CMS

Wolfram Language. 2014. "SolarEclipse." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/SolarEclipse.html.

APA

Wolfram Language. (2014). SolarEclipse. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SolarEclipse.html

BibTeX

@misc{reference.wolfram_2024_solareclipse, author="Wolfram Research", title="{SolarEclipse}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/SolarEclipse.html}", note=[Accessed: 24-April-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_solareclipse, organization={Wolfram Research}, title={SolarEclipse}, year={2023}, url={https://reference.wolfram.com/language/ref/SolarEclipse.html}, note=[Accessed: 24-April-2024 ]}