Global maps and contours
- Five curve families make the classic map. Penumbral limits, the rising and setting curve, the curve of maximum eclipse at sunrise and sunset, curves of maximum eclipse at stated times, and outline curves of the penumbra at stated times. The 1961 and 1992 Explanatory Supplements give a closed procedure for each 1 2.
- The rising and setting curve is the terminator condition. Set and intersect the penumbral circle with the unit circle: , two points per instant, traced over time from P1 to P4 1.
- Maximum eclipse is a dynamic condition, not a geometric one. It fixes the position angle by and then sweeps as the parameter. At it gives the maximum-at-horizon curve 1.
- Equal magnitude and equal obscuration are not computed directly. The Supplements obtain them "by inverse interpolation on the curves of maximum eclipse". SVS and Eclipse-Engine instead rasterise the maximum obscuration on a latitude–longitude grid and contour it 1 3 4.
- Obscuration is a two-circle overlap. With Sun radius 1, Moon radius and separation for magnitude , the covered fraction is 5.
- Jubier and NASA draw the same set. Jubier's map: limits in pink, central line blue, maximum eclipse lines at 10-minute steps orange, penumbral limits and equal-magnitude curves green, maximum at sunrise and sunset yellow, 30-minute maximum curves violet 6.
The question. How are the curves of a partial-eclipse world map computed from Besselian elements, in particular the rise and set loops, the curve of maximum eclipse at sunrise and sunset, the curves of maximum eclipse at stated times, the contact-time (outline) curves, and the contours of equal magnitude and equal obscuration that NASA, Jubier, timeanddate and SVS draw?
What is on the map
NASA's explanation of its eclipse maps lists the elements 7:
- The northern and southern limits of the penumbra, which "define the region of visibility of the partial eclipse".
- The umbral path, which "bisects the penumbral path from west to east".
- P1 and P4, where the penumbra first and last touches the Earth, and P2 and P3, the interior tangencies when the penumbra "falls completely within Earth's disk".
- The rise and set loops at the eastern and western extremes.
- The curves of maximum eclipse at sunrise and sunset that bisect those loops.
- Curves of maximum eclipse "at half-hour intervals", which for central eclipses cross umbral outlines "at ten-minute intervals".
- "The curves of constant eclipse magnitude" at 0.2, 0.4, 0.6 and 0.8, which "parallel the penumbral and umbral limits".
The Five Millennium Canon, NASA/TP-2006-214141, shows only the 0.5 magnitude curve and adds the subsolar point and with its standard error expressed as a longitude shift 8 9. The Canon's text notes that Oppolzer's 1887 canon computed each central line "for only three positions: sunrise, mid-point, and sunset" and fitted a circular arc, so its lines "often differ by hundreds of miles" from rigorous predictions 9.
The 1992 Supplement says the Almanac map "is a plot of the curves described in Section 8.355, except that outline curves are limited to those of the penumbra every half hour", drawn with the leading edge in short dash and the trailing edge in long dash so that first and last contact "may be estimated from the map to within a few minutes" 2. Those outline curves are the contact-time contours.
Rising and setting curve
The rising and setting curverising and setting curveThe locus of points where the partial eclipse begins or ends exactly at sunrise or sunset: the end points of the outline curves, forming two loops or a distorted figure eight on the map. By almanac convention it is drawn for a geometric horizon, Sun's centre at zero altitude, no refraction. is "the locus of the end points of the outline curves". If the penumbra has both a northern and a southern limit the curve "forms two separate loops". Otherwise it "assumes the shape of a distorted figure eight", and the Supplement warns that the break into loops "does not occur at the node of the figure eight, but at a short distance from it" 1. Neglecting flattening and refraction, points on the curve at each time satisfy and
With , and , , eliminating gives
with two roots per instant. With flattening, and
and "two approximations are necessary" because depends on the unknown latitude 1. The 1992 edition supplies the iteration: assume , compute , , then and , "three or more times, until convergence". Afterwards , 2. The 1992 text also states the topology rule: "if both the northern and southern limits exist for an interval of time (i.e., the central path is in equatorial regions), then during that interval the rising and setting curve does not exist", which produces the two teardrop loops 2.
Stellarium takes a different route. It parametrises the Earth's border in the fundamental plane as the ellipse , with semi-minor axis , substitutes into , and solves the single equation in by Newton's method with root deflation, up to two roots. The author notes "the computation of the intersection is my own derivation, I haven't found it in the book" 10. The curve is traced at one-minute steps from P1 to P2 and from P3 to P4 when both interior contacts exist, and from P1 to P4 otherwise 10.
The first and last contacts of the penumbra are the extreme times of the curve, where , , and the cone is tangent to the Earth: , solved by Newton's method in time from 1. The 1992 edition uses discriminants for the exterior and interior contacts of each cone and finds the times by inverse interpolation 2.
Curve of maximum eclipse at sunrise and sunset
This curve is the locus of points on the curves of maximum eclipse for which . Ignoring flattening,
with the requirement . With flattening, and , iterated as for the rise and set curve. The curve "has two sections if the rising and setting curve has two separate loops; it is one continuous curve if the rising and setting curve has the shape of a distorted figure eight", in which case it "passes between the node and nearer pole" 1. The 1992 edition writes the condition as its 8.3552-1, , and 8.3552-2, , with the existence tests and 2. Stellarium's getMaximumEclipseAtRiseSet sets , adds for the second branch, and runs three iterations "as described in equations (11.89) and (11.94)" of the 2013 edition, computing from each time, then rejects the point if 10 11.
Curves of maximum eclipse at stated times
A curve of maximum eclipsecurve of maximum eclipseThe locus of points at which the eclipse reaches its maximum at a stated instant. Drawn at half-hour steps on world maps and at minute steps inside the umbral path. is "the locus of all points at which the eclipse is at maximum at a given time". The Supplement prefers it to the curve of middle eclipse because it "corresponds to a definite geometric condition" and "may be obtained by a simple computation". The observer is written , with fixed by the maximum condition, which neglecting flattening and the small term is
The parameter of the curve is rather than . With , , ,
taking positive. For each there are two values of differing by 180 degrees, and the one outside the penumbra is discarded by . The starting is zero if the curve has a point on the horizon, otherwise the smaller of the two penumbral-limit values, and it is increased "until becomes imaginary". Flattening is restored by with , "two approximations" being needed 1. The Supplement records that the difference between maximising and minimising "can be significant for precise calculations", citing Gossner's 1955 correction to the time of maximum obscuration 1.
At each point the semi-duration of the partial phase and the magnitude follow:
with , , and replaceable by (0.5464 from 1963) 1. The 1992 edition defines magnitude as "the fraction of the linear diameter of the Sun covered by the Moon" and obscuration as "the fraction of the area of the solar disk obscured by the Moon" and warns that the two are "commonly confused" 2.
NASA draws these curves every 30 minutes. Inside the path the 2001 bulletin's detailed maps show them at two-minute steps as "lines of maximum eclipse", each representing "the projection diameter of the umbral shadow at the given time", so that "any point on one of these lines will witness maximum eclipse (i.e., mid-totality) at the same instant" 7 12. Jubier's map draws the in-path lines at 10-minute steps in orange and the global curves at 30-minute steps in violet 6.
Outline curves as contact-time contours
The outline curves of the penumbra at stated times, computed as in Path and limits with as the independent variable, are the loci where the partial phase begins (leading edge) or ends (trailing edge) at that time 1 2. They are the "eclipse begins at" and "eclipse ends at" contours of a contact-time map. SVS publishes the equivalent as penum17_1m, "a time sequence of penumbra outlines at 1-minute intervals from 17:00 to 19:15 UTC, for 95% to 75% obscuration in 5% steps", which are outline curves of nested cones rather than of the penumbral edge alone 13. The 1961 Supplement says the Almanac replaced outline curves after 1960 by "curves giving the times of middle and the semi-duration of the eclipse", and that those were "constructed graphically from the intersections of a network of outline curves", extending the outlines below the horizon "by using the negative solutions for " 1. The 1992 edition confirms that for 1960 to 1980 such curves existed and that "there is no way to calculate them directly" 2.
Contours of equal magnitude and equal obscuration
The Supplements do not compute curve of equal magnitudecurve of equal magnitudeThe contour of points where the magnitude at maximum eclipse has a fixed value, such as 0.5. Obtained by interpolation across the curves of maximum eclipse or by contouring a raster of maximum magnitude. contours directly. "A direct computation of the curves of equal semi-duration is extremely laborious because both and are unknown, and successive approximations based on the above relations do not always converge." The curves of equal magnitude "may also be obtained by inverse interpolation on the curves of maximum eclipse" once the magnitude has been evaluated at enough points along each curve 1. The Canon calls the penumbral limits "curves of eclipse magnitude of 0.0" and the umbral limits "curves of eclipse magnitude of 1.0", and states that the 0.5 curves "run exclusively between the curves of maximum eclipse at sunrise and sunset" 9.
Two modern methods replace the interpolation with a raster. Wright's SVS maps show "contours of obscuration, or percentage of the Sun's area covered by the Moon" at 5 per cent and 1 per cent steps (ppath.shp, ppath01.shp for 2024; penum17 at 90, 75, 50, 25 and 0 per cent for 2017), produced by the raster method of Wright and Young 2024, which renders "eclipse maps one pixel at a time, the same way 3D animation software creates images" 3 13 14. Eclipse-Engine's obscurationGrid evaluates the maximum obscuration on a 640 by 320 latitude–longitude grid over 121 time steps spanning the eclipse, stores the time of each cell's maximum so that contour vertices can be refined by looking "at a few instants around it rather than sweeping the six hours again", and keeps a second field, the visibility margin, from which the dashed outer limit is drawn. contours then traces levels on a lattice padded with real values at the map edge and refines rings to a 0.5 km tolerance over up to ten passes 4. The Radiant Drift API offers "lines of equal magnitude (configurable count)" as GeoJSON but does not state its method 15.
The obscuration at a point with magnitude and Moon/Sun apparent diameter ratio follows from the overlap of two circles. In the 2027 visualiser's obscuration(m, rho), with the Sun of radius 1, the centre separation, the covered area is
and the obscuration is , with the special cases (annular, and ), 1 (total) and 0 () 5. The timeanddate magnitude page distinguishes the same two quantities, which the search index summarised as "magnitude relates to diameter ratios while obscuration relates to area coverage". Its map page itself could not be fetched, returning HTTP 403, and the archive copy returned only navigation, so its contouring method is unrecorded here 16. The Swiss Ephemeris returns both quantities per location in attr[0] (fraction of diameter) and attr[2] (obscuration) 17.
The magnitude and obscuration contours are computed for maximum eclipse at each point, so a contour map must hold the time free per cell. That is why SVS's penum17_1m product, which fixes the time, and penum17, which fixes the level, are different datasets 13. NASA's remark that the magnitude curves "parallel the penumbral and umbral limits" is the geometric reason the raster approach works well: the field is smooth away from the terminator 7.
Time and on the map
All curves are computed in ephemeris time and labelled in Universal Time through 1. NASA's rotation page explains that predicted paths for ancient eclipses "were shifted with respect to the historical records" until was applied, and gives the longitude shift per epoch as a table with no formula. The Canon adds the standard error of "both in seconds, and in the equivalent shift in longitude east or west" to each map page 18 9. For a modern eclipse the uncertainty is small: Jubier says the extrapolated value "should be good to better than 0.5 seconds" 6.
Sources compared
| Source | Curves it computes | Method for magnitude or obscuration contours | Grade |
|---|---|---|---|
| Explanatory Supplement 1961 1 | Rise/set, max at horizon, max at stated times, outlines, semi-duration, magnitude at points | Inverse interpolation on maximum-eclipse curves; equal semi-duration graphically from outlines | peer-reviewed |
| Explanatory Supplement 1992 2 | Same set with iteration for flattening and discriminants for contacts | None direct; "no way to calculate them directly" for equal semi-duration | peer-reviewed |
| NASA maps and Canon 7 9 | All classic curves; magnitude 0.2–0.8 or 0.5 | Not stated | primary |
| Stellarium 10 | Limits, rise/set by ellipse–circle Newton solve, max at rise/set, outlines, central line, greatest eclipse; no magnitude contours | None | company |
| SVS / Wright 3 19 | Obscuration contours 1% and 5%, penumbra outlines per minute, duration contours 30 s | Raster per pixel with terrain and limb | primary |
| Eclipse-Engine 4 | Obscuration bands and outer limit | 640×320 grid × 121 times, refined contours to 0.5 km | unsourced |
| Jubier 6 | Full classic set in colour code, equal magnitude in green | Not stated | company |
What a developer should do
- Compute the classic curves from the Supplement formulas, using as the sweep parameter for the maximum-eclipse curves and for the outlines. Keep the below-horizon roots when the map needs closed contours.
- For magnitude and obscuration contours, rasterise: for each grid cell find the time of maximum by bracketing the derivative condition or by direct minimisation of , evaluate and the two-circle obscuration, and contour with marching squares. Follow Eclipse-Engine's practice of padding the grid edge with real values and refining vertices near the time of maximum 4.
- Compute obscuration with the exact two-circle formula and the annular special case, never from magnitude alone 5.
- Label every curve with the time system used and the adopted.
What this changes
Nothing in the architecture beyond confirming that the partial-eclipse map is a separate product from the path: it needs a per-cell maximisation in time and a contouring step, while the path curves are per-time root finds. The two share only the observer transformation.
Open questions
- The NASA method for the magnitude curves on the SEmono maps: no page read states whether they are interpolated or rasterised 7.
- Gossner, S. D., "A correction to the time of maximum obscuration in solar eclipses", AJ 60, 383 (1955), cited by the 1961 Supplement for the difference between the two maximum conditions 1.
- The timeanddate map methodology page, blocked at fetch time. A copy is needed to say how its magnitude animation is computed 16.
- The Explanatory Supplement 2013 equations 11.89 and 11.94, to confirm Stellarium's three-pass iteration for the maximum-at-horizon curve 11.
References
- 1peer-reviewed Explanatory Supplement to the Astronomical Ephemeris and the American Ephemeris and Nautical Almanac (1961), chapter 9 Eclipses and Transits, section B Solar eclipses fundamental equations and section C predicted data The primary algebra for Besselian elements, the observer in the fundamental frame, the auxiliary elements a' b' c', central line, limits, outline, maximum-eclipse, rise/set and greatest-eclipse curves, with worked examples for 1961 Feb 15. Read the OCR full text on archive.org (djvu text); OCR errors were resolved against the 1992 edition and the Stellarium code.
- 2peer-reviewed Explanatory Supplement to the Astronomical Almanac (1992), chapter 8 Eclipses of the Sun and Moon, by Alan D. Fiala and John A. Bangert Sections 8.353 to 8.3565 and 8.361: the conditional equation with tan^2 f, the flattening iteration in gamma, the Q-scan and 1e-5 tolerance for limits, Mikhailov's path-width formula (8.3553-5), discriminants for contacts, eclipse-map conventions. Read the OCR full text; equation 8.3553-5 is scan-damaged and was reconstructed from Stellarium's transcription.
- 3primary NASA SVS 5123, The 2024 Total Solar Eclipse (map and shapefiles), Ernie Wright and Michala Garrison Read from the Wayback Machine snapshot of 2025-12-09 (svs.gsfc.nasa.gov refused connections). Lists 2024eclipse_shapefiles.zip contents (center, duration 30 s, ppath 5%, ppath01 1%, umbra_hi 1 s, umbra_lo 10 s, upath_hi, upath_lo), and the SRTM, LRO, DE421 inputs.
- 4company RHerAle/Eclipse-Engine, js/besselian.js and README (eclipseradar.com, AGPL-3.0) Read the README summary and the source file (var/downloads/rherale_besselian.js). WGS84 flattening, Delta T shift at 1.002738*15 arcsec/s, central line at 6-s steps, limits perpendicular to ground-relative motion with 5 iterations and the 5 km low-latitude remark, outlines at 181 angles to convergence, obscuration grid 640x320x121 and contour refinement to 0.5 km, antimeridian and pole handling. Validation only against the project's own Python chain.
- 5company enrique7mc/solar-eclipse-2027, src/eclipse.js and README Read the README summary and the source (var/downloads/enrique_eclipse.js). NASA elements, f=1/298.257, k2=0.272281, Delta T=71.7 s, mu shift 0.00417807 deg/s, line-ellipsoid quadratic, sweep-envelope limits, 90-point outline, two-circle obscuration formula, bisected central duration; check script agrees with the NASA path table to ~1 km and 0.1 s.
- 6company Jubier, X., Solar Eclipse Google Map Help Read via curl. Full curve colour code, tooltip fields (umbral depth, path width, obscuration, magnitude, ratio, umbral velocity), LC limb correction fetched online, IAU 1976 solar radius 959.63 arcsec versus ~959.98 photospheric, no refraction, elevation tool, Delta T extrapolation good to 0.5 s. Last updated July 2, 2017.
- 7primary Explanation of Eclipse Maps (NASA GSFC eclipse web site, Espenak) Read. Defines the curve families on NASA maps: penumbral limits, umbral path, P1-P4, rise/set loops, maximum-eclipse curves at 30 min and umbra outlines at 10 min, constant magnitude curves at 0.2-0.8, greatest eclipse asterisk.
- 8primary Key to Solar Eclipse Maps, Five Millennium Canon (NASA GSFC eclipse web site) Read. Orthographic projection, rise/set loops, maximum at sunrise/sunset, magnitude 0.5 curve, greatest-eclipse asterisk, gamma, subsolar point, TD and Delta T.
- 9primary Espenak, F. and Meeus, J., Five Millennium Canon of Solar Eclipses: -1999 to +3000, NASA/TP-2006-214141, introductory text Read the PDF (var/downloads/5MCSE-Text11.txt). History of canons (Oppolzer's three-point arcs), VSOP87D and ELP-2000/82 truncation, centre-of-mass positions, the k history (0.2724880 and 0.272281 in 1968-1980, IAU 0.2725076 in 1982) and the 1986 Oct 03 misclassification, map key including the magnitude 0.5 curve and Delta T standard error.
- 10company Stellarium, src/core/SolarEclipseComputer.cpp (master) Read the source (var/downloads/stellarium_SolarEclipseComputer.cpp). Besselian elements at run time with 6378.1366 km, 696,000 km, k=0.2725076 and s=0.272281; zetaFromQ from ES 2013 eq. 11.81; Newton solve of the limit polynomial; central line, duration, Mikhailov path width, outlines, rise/set by ellipse-circle Newton solve, maximum at rise/set; PNG and KML output. Cites ES 1961, 1992, 2013 and IERS 2003.
- 11peer-reviewed Urban, S. E. and Seidelmann, P. K. (eds), Explanatory Supplement to the Astronomical Almanac, 3rd edition (2013), chapter 11 Eclipses of the Sun and Moon Not read. Known through Stellarium's citations of equations 11.56, 11.60, 11.65, 11.78, 11.81, 11.82, 11.89 and 11.94 for the zeta(Q) closed form and the maximum-at-horizon iteration.
- 12primary Espenak, F. and Anderson, J., Total Solar Eclipse of 2001 June 21, NASA/TP-1999-209484 Read the PDF (extracted with pdftotext, var/downloads/TP209484_2001.txt). Gives the polynomial evaluation, Table 2-8 definitions, k values, DE200/LE200, the off-axis duration formula d = D(1-(2a/W)2)1/2, the graze-zone algorithm, Elev Fact, the limb time-correction formula, and narrative umbra speeds.
- 13primary NASA SVS 4518, 2017 Total Solar Eclipse Map and Shapefiles, Ernie Wright Read from the Wayback Machine snapshot of 2025-12-20. Lists the nine 2017 shapefiles and the 1-second set (6000 umbra shapes 17:12-18:52 UTC at ~100 m precision, path at 250 m, centre polyline, durations at 30 s), WGS84 lat-lon projection, LRO/Kaguya limb, DE421.
- 14company USRA newsroom, A New Process Brings Precision to Eclipse Mapping (2024-09-26) Read from the Wayback Machine snapshot (direct fetch returned 403). Press release naming the paper, its DOI and the LRO input; describes the per-pixel rendering approach.
- 15vendor Radiant Drift API documentation, Eclipse Paths Read. GeoJSON for central path, totality limits, partial limits, lines of equal magnitude and totality polygon; spacing factor to 0.025 degrees; beta issues at high latitude and the antimeridian; no algorithm stated.
- 16company timeanddate.com, What Does the Magnitude of an Eclipse Mean? Not read directly; known from a search-index summary that distinguishes magnitude (diameter fraction) from obscuration (area fraction) and states centre-of-mass lunar positions without limb effects. The 2024 map page returned HTTP 403 and its archive copy contained only navigation.
- 17company Swiss Ephemeris Programmer's Documentation, eclipse functions (Astrodienst) Read the eclipse sections. Return arrays of swe_sol_eclipse_where, _when_glob, _how, _when_loc; eclipse type flags; attr indices for magnitude, ratio, obscuration and core-shadow diameter.
- 18primary Eclipse Predictions and Earth's Rotation (NASA GSFC eclipse web site) Read. Explains Delta T and gives a table of longitude shifts per epoch (e.g. 9,848 s at 1 BCE gives 41.0 degrees); no formula.
- 19peer-reviewed Wright, E. and Young, C. A., A Raster-oriented Method for Creating Eclipse Maps, The Astronomical Journal 168:163 (2024), doi:10.3847/1538-3881/ad6b23 Abstract read via the Crossref API (IOPscience blocked the fetch). States that ignoring the terrain of both bodies introduces errors of order kilometres in the ground track and seconds in duration and contact times, and that the raster method has been used since December 2016. Full text not read.