Pipeline design
- Nine stages, one configuration record. Ephemeris and time, enumeration, Besselian elements, global circumstances, partial-eclipse maps, local circumstances, terrain, lunar limb, and products with uncertainty. Every product carries the record of constants and data versions that produced it, set out before stage 1.
- Two computational paths from one ephemeris layer. An elements path for catalogues, maps and anything that must be reproducible from a published table, and a direct topocentric path for site-level work and limb tests. They must agree to 0.1 s on the same inputs 1 2.
- The smooth-Moon stages are textbook and have reference implementations. The 1961 Explanatory Supplement for the formulas, Stellarium for the global curves, NASA's
program.jsfor local circumstances 3 4 5. - The limb and terrain stages follow Wright and Young 2024 and have no open implementation. They replace the circular shadow with a per-pixel test against an 18,000-element profile 6.
- Each stage has a named validation case with a tolerance drawn from the error budget.
The configuration record
Every run starts by fixing, and every output ends by printing, the following. Predictors state some of these and none states all of them, and the differences between predictors reduce to differences here 7 8.
| Item | Almanac mode | Edge mode |
|---|---|---|
| Ephemeris | DE440 via de440s.bsp (or the ephemeris of the table being reproduced) |
DE440 |
| Lunar orientation | not needed | moon_pa_de440_200625.bpc with the current NAIF frame kernel, frame MOON_ME_DE440_ME421 |
| Earth figure | WGS84, km, | same, plus EGM96 or EGM2008 geoid |
| Solar radius | 959.63″ at 1 au | 959.95″ ± 0.05″, with 959.63″ as a preset |
| Lunar radius | penumbral to match the NASA GSFC tables, 0.2725076 to match EclipseWise and the bulletins; umbral | LOLA profile on a 1737.4 km datum; only for penumbral products |
| Terrain | sea level | SRTM GL1 or Copernicus GLO-30, converted to ellipsoidal height |
| ΔT | value printed with the table being matched | latest USNO deltat.data or deltat.preds, with its date |
| Refraction | none, stated | none, stated; optional flagged C1 and C4 adjustment below 5°, and a warning flag on any contact with the Sun below 10° |
| Time scale internal | TT | TT |
Sources for each choice are in the stage notes below and in
Earth model and time and
lunar and solar model.
The default solar radius is contested: the evidence from the solar radius and
from validation favours 959.95″, while the foundations, local-circumstances
and limb practice favour 959.63″ with the measured value available. The two
modes satisfy both. The frame kernel is named moon_de440_200625.tf in Wright and
Young's appendix; NAIF now serves the 2025 revision of the same frame as
moon_de440_250416.tf 6 9.
Stage 1: ephemeris, orientation and time
Inputs. de440s.bsp (1849 to 2150, 31 MB) for the Sun, Earth and Moon;
the DE440 lunar PCK and frame kernel; IERS finals.all or USNO deltat.data
and deltat.preds; a leap-second table 10
11 12 13.
Contract. The layer exposes, at a TT instant: apparent geocentric places of the Sun and Moon on the true equator and equinox of date, with light-time and aberration applied to both; apparent topocentric places for a site; Greenwich apparent sidereal time; the observer-to-Moon vector in the Moon mean-Earth frame. The Moon is read as body 301 relative to 399 and the Sun as body 10, never the barycentre, since the Sun wanders up to 1.6 solar radii from it 14. TT may stand in for TDB, the difference being under 2 m on the shadow 15.
The trap. Mixing a geometric Sun with an apparent Moon displaces the shadow axis by 20″, which is 38 km on the ground. Using TT where UT belongs displaces it by 32 km. These two errors dwarf everything else in the budget and are the first things to test 16 17.
ΔT. Three regimes: measured IERS or USNO values for 1962 onward,
deltat.preds with its error column for a few years ahead, and the
Stephenson, Morrison and Hohenkerk 2016 spline and parabola beyond that, with
the tidal-acceleration adjustment matched to the ephemeris
18 19. ΔT is stored as metadata and
applied once, when μ is converted to a longitude in stage 4 or to a local
hour angle in stage 6, at 15.041″ of rotation per second 3
20.
Stage 2: enumeration and provisional type
Method. Step through mean new moons. Reject a lunation when . Compute gammagammaThe distance of the shadow axis from the Earth's centre in Earth equatorial radii at greatest eclipse, positive when the axis passes north of the centre. Values of below about 0.9972 give a central eclipse. and from Meeus's short series. Classify: central if ; no eclipse if ; non-central umbral if ; total if ; annular if ; for , hybrid if and otherwise annular; partial magnitude 21.
Then refine. For each candidate, compute the elements of stage 3 and take γ as the minimum of . Decide the final type on the umbral radius at the surface point under the axis, at greatest eclipse and at both ends of the central line, so that hybrids and their three classes fall out. Keep a non-central class: 94 eclipses in five millennia have a one-limit track and no central line 22 23.
Saros. Kluepfel's closed form from the lunation number reproduces the Saros number of all 11,898 catalogued eclipses 24.
Validation. The 221 eclipses of 1951 to 2050 in NASA's ASCII catalogue: zero type disagreements, greatest-eclipse times within 1.2 min from the series, then within 0.1 s from the elements 25.
Stage 3: Besselian elements
Inputs. Apparent geocentric places from stage 1, , , , , , ΔT.
Equations, in order 3 26. With , both distances in the same unit, the shadow axis direction and scale come from and its two companions. The Moon's coordinates in the fundamental system are
The hour angle is with θ the apparent sidereal time evaluated at the TT instant as if it were UT, the ephemeris sidereal time of the 1961 Supplement. NASA's tables, its JavaScript calculator, Eclipse-Engine and the 2027 visualiser all tabulate μ this way, so a table's μ is free of ΔT and the shift is applied downstream 3 5 20. The cone half-angles are
the vertex heights and , and the shadow radii on the plane and . is total, annular. Publish with its sign.
Output. A function elements_at(t_tt) returning , and for export the NASA polynomial form: cubic
in and , quadratic in , , , linear in μ, fitted to five
samples over six hours about 27. Metadata:
ephemeris, , ΔT, , , , ellipsoid.
Validation. The 1961 Supplement's worked example for 1961 February 15 08h ET, and the NASA 2024 April 8 polynomial at , expecting agreement at Earth radii once ephemeris, and ΔT match. A difference above Earth radii in or , about 640 m, means a frame or aberration inconsistency 3 28.
Stage 4: global circumstances, smooth Moon
Frame. Bessel's substitution turns the ellipsoid into a unit sphere with , and a rotated declination . In that frame the central line at time is , , 29. Longitudes follow from with arcseconds, which is where ΔT enters the map 20.
Limits. A point is on a limit when the eclipse begins and ends at the same instant, which gives for the position angle of the shadow edge, iterated on ζ. Use the 1992 procedure for whole curves: scan by degrees, inverse-interpolate, iterate ζ to Earth radii, assign north or south by the sign of 29 30.
Duration and width. Central duration with ; path width by Mikhailov's formula as transcribed in Stellarium 30 31. Rise and set curves from at ; curves of maximum eclipse from sweeping ζ 29.
Output. Central line, limits, outlines at stated instants, rise and set curves, maximum-eclipse curves, greatest eclipse, greatest duration, ground speed, as GeoJSON with the time system and ΔT in the properties.
Validation. The 1961 examples 9.6 and 9.7 (, , duration 158.6 s at 08h ET). Then NASA's 2024 path table at three times, expecting 1 km and 0.1 s 29 32.
Stage 5: partial-eclipse maps
Equal-magnitude and equal-obscuration curves are not solved directly. The Supplements interpolate on the maximum-eclipse curves; SVS and the open Eclipse-Engine rasterise instead. For each grid cell find the time of maximum by minimising , evaluate magnitude and the two-circle obscuration with the exact lens formula, and contour with marching squares, padding the grid edge and refining vertices near the time of maximum 29 20 33.
Stage 6: local circumstances, smooth Moon
Observer. , with and , the ellipsoidal height. Hour angle with west longitude positive 16 34.
Reduction. Form and their rates, , , , and the observer's-plane radii , . Maximum eclipse iterates . Contacts are the roots of (C1, C4) and (C2, C3), found by the 1992 edition's direct inverse interpolation on rather than the auxiliary angle 34 35.
Magnitude and obscuration. Magnitude in the penumbra and inside the umbra or antumbra, switching at . Obscuration is the lens area with the ratio of the lunar to the solar radius, and the angles at the solar and lunar centres of the triangle formed with an intersection point, and ; never a function of magnitude alone. Position angle from with the sign reversal for interior contacts of a total eclipse; vertex angle with 34 36.
Second path. The direct topocentric method: root-find on apparent topocentric positions from stage 1, as USNO and the Swiss Ephemeris do. Agreement with the Besselian result within 0.1 s on the same inputs is the regression test for the element generator 2 37.
Validation. NASA's program.js output for any city, which is GPL and
self-contained, to the second; the Lusaka 2001 case (C2 13:09:19.3 UT,
C3 13:12:32.8 UT before limb correction) to 0.5 s 5
38.
Stage 7: terrain
Why. A limit shifts perpendicular to the path by about : 577 m per 1000 m of elevation at a 60° Sun, 1.7 km at 30°, 5.7 km at 10°. SVS measured up to 3 km over the 2017 western states. The umbra widens only by , 82 m at Everest 39 40 41.
Method. Look up orthometric height in SRTM GL1 (EGM96) or Copernicus GLO-30 (EGM2008) and add the geoid undulation to get ellipsoidal . The geoid sits between 106 m below and 85 m above WGS84 and is worth up to 170 m of path at a 30° Sun. Intersect the shadow with the terrain surface rather than shifting a sea-level limit by the elevation factor; keep the factor as a check 42 43 6.
Stage 8: lunar limb
Profile construction 6. For an observer at distance from the Moon's centre: convert each DEM pixel to rectangular coordinates on the 1737.4 km datum; rotate by the topocentric libration from stage 1; take polar of the transformed ; replace by the angular radius ; bin θ into 18,000 elements at 0.02°; keep the maximum α per bin. Rebuild when a libration angle moves by 0.01°. Only DEM longitudes between 75° and 105° east and west and a 450 km polar swath need processing. SLDEM2015 at 128 pixels per degree (240 m) pairs with this resolution. LDEM_128 is the one-file development dataset; the 33 MB LDEM_16 is fit only for a smoke test, since a 16 pixel-per-degree cell is about one arcsecond at the limb, 2 to 3 s of contact time 44 45.
Limb test. Symbols: the number of elements in , the observer-to-Moon distance at which was built, the current observer's distance, the position angle of the Moon's axis, the Sun-to-Moon apparent distance in solar radii, the position angle of the Sun with respect to the Moon, the Sun's apparent radius in radians. With , , , : the eclipse is not total if any . Trivial exclusions: outside the umbra if , inside if . Reverse the sense for annularity. Antialias with . The broken-annular locus is where both tests fail 6.
Contacts and beads. C2 and C3 at a site are the first and last time steps at which the test passes. Baily's beads are the same test per limb element: each event is the instant the solar limb, drawn with Herald's curve , clears a valley floor, reported with its position angle and depth. Keep Herald's tangency construction as a cross-check because the bulletins' examples are stated in its terms 46 47.
Path products. The umbra is emitted as the polygon the raster produces, not as an ellipse. A limit line becomes an interior and an exterior line with a graze zonegraze zoneThe narrow band, typically 5 to 10 km wide, along each umbral limit where the irregular lunar limb makes the eclipse neither wholly total nor wholly partial and Baily's beads persist. NASA bulletins tabulate its interior and exterior boundaries. between them, 5 to 10 km wide 47.
What the profile replaces. The centre-of-figure correction of the almanacs is retired: LOLA products are referenced to the centre of mass in the DE421 mean-Earth frame, which is the frame the ephemeris orients. The 0.69 km gap between the 1737.4 km datum and the 1738.09 km sphere of is a constant to add only when quoting heights against the almanac mean limb 44 9.
Validation. The Lusaka corrections of +4.0 s at C2 and −1.2 s at C3,
within 1 s allowing for Watts against LOLA. The SVS 2024 umbra_hi polygon at
one second, reproduced from SLDEM2015. The IOTA bead tables for 2017 at
Thermopolis and 2023 at Cape Range, each event within 1 s at the radius
correction each paper derived 38 48
49 50.
Stage 9: products and uncertainty
Every product carries the stage 0 record and a per-run error estimate that sums the error budget rows in quadrature for the configuration used. A smooth-Moon run reports about 2 km at a limit; a true-limb run with 959.95″ reports 100 to 200 m. Limits are drawn three times, at and . Products for dates before 1600 or after 2300 carry a longitude gore for the ΔT standard error. This is stricter than the Five Millennium Canon, which draws gores only where σ exceeds 265 s, before the year 1 and after 2300 7 51 52.
| Product | Stages | Reference to match |
|---|---|---|
| Eclipse list with type, γ, magnitude, Saros | 1, 2, 3 | NASA ASCII catalogue, 11,898 rows 25 |
| Besselian element tables | 1, 3 | NASA CSV 53 |
| Path map, smooth Moon | 3, 4 | NASA path tables 32 |
| Partial-eclipse magnitude and obscuration map | 3, 5 | SVS 1% and 5% obscuration contours 54 |
| Site table: contacts, magnitude, obscuration, P, V, altitude | 3, 6 | NASA JavaScript Explorer, USNO computer 5 55 |
| Limb-corrected contacts and beads | 1, 6, 8 | Jubier's LC column, IOTA bead tables 49 |
| Umbra polygons and true limits | 1, 4, 7, 8 | SVS umbra_hi and upath_hi 48 |
| City contact times at scale | 7, 8 | SVS cities JSON, 32,174 places 56 |
What this does not cover
Refraction is left out of contacts and limits by every predictor and by this design, with the reason stated in the output: it cancels to first order in a relative-angle condition and is unpredictable below 5° 39. Lunar eclipses, transits and occultations reuse stages 1 and 8 but are out of scope.
References
- 1peer-reviewed Quaglia, L., Irwin, J., Emmanouilidis, K., Pessi, A., Estimation of the Eclipse Solar Radius by Flash Spectrum Video Analysis, ApJS 256, 36 (2021), arXiv:2107.09416 Downloaded PDF and read the introduction and computational model sections. States 959.63 arcsec (Auwers 1891) is used in all published predictions, IAU 2015 nominal 959.23 arcsec, result 959.95 ± 0.05 arcsec; model uses DE430, LOLA SLDEM-256 and LDEM-128 in the ME frame, IAU 2006 Earth orientation, light time, deflection and planetary aberration, and no Besselian elements.
- 2primary USNO Astronomical Applications Department, "Solar Eclipse Computer" (data service description) Read. States the direct topocentric method: iterate topocentric Sun and Moon positions to find maximum eclipse, then search backwards and forwards for the contacts, with IAU radii Sun 696000 km and Moon 1737.4 km, and altitude corrected for standard refraction.
- 3peer-reviewed Explanatory Supplement to the Astronomical Ephemeris and the American Ephemeris and Nautical Almanac (1961), section 9B Eclipses and Transits Read in full (OCR text). Definitive almanac formulation: fundamental plane, point Z, x y z, mu from ephemeris sidereal time, sin f1 sin f2 with tabulated numerators for k = 0.272274, 0.2724807, 0.272281 and 0.2724880, c1 c2 l1 l2, sign convention, observer coordinates, ephemeris meridian 1.002738 ΔT, worked example 1961 Feb 15.
- 4company Stellarium src/core/SolarEclipseComputer.cpp Read from a sparse clone at commit 69888f4 (2026-09-14). 2,183 lines. Besselian elements, k and s constants, Explanatory Supplement references, KML and PNG map export.
- 5primary Chris O'Byrne and Fred Espenak, "Javascript Solar Eclipse Explorer", program.js (NASA GSFC, 2007, GPL) Read in full (var/downloads/jsex_program.js, 1200 lines). The reference implementation of the Explanatory Supplement local-circumstances method in code: observer constants, time-dependent and time-and-location-dependent circumstances, Newton iteration for mid eclipse and the four contacts, P, V, altitude, azimuth, magnitude, obscuration and sunrise/sunset handling.
- 6peer-reviewed Wright, E. and Young, C. A. 2024, A Raster-oriented Method for Creating Eclipse Maps, AJ 168, 163 The paper. Read in full from the Wayback capture of the IOP PDF dated 2024-11-19 (iopscience.iop.org/article/10.3847/1538-3881/ad6b23/pdf), extracted with pdftotext. CC BY 4.0. Sections 4 and 5 give the limb-profile construction and the limb test; Appendix A gives the SPICE calls.
- 7peer-reviewed Quaglia, Irwin, Emmanouilidis & Pessi (2021), Estimation of the Eclipse Solar Radius by Flash Spectrum Video Analysis, ApJS 256:36 Full PDF read (var/downloads/quaglia2021_flash_spectrum_ApJS.txt). Flash-spectrum video from a site a few hundred metres inside the 2017 southern limit near Vale, Oregon. S = 959.95 +/- 0.05 arcsec. Gives sensitivity of duration and limit distance to solar radius, and compares Irwin's model with Occult and Solar Eclipse Maestro.
- 8trade Irwin, J. and Quaglia, L. 2024, Technical Details of the true-limb Eclipse Path Determination, Besselian Elements Page text plus the parameter table image tech_parameters.png (DE440, IAU2006A with EOP, 959.95 arcsec, 1738.091 km, SLDEM2015/LDEM128, Earth2014, EGM96, proprietary EclipseView). Page read via fetch tool, image viewed directly.
- 9primary NAIF lunar frame kernel moon_de440_250416.tf Read. MOON_PA_DE440 and MOON_ME_DE440_ME421 definitions, TKFRAME angles (67.8526, 78.6944, 0.2785) arcsec about axes (3,2,1), 0.02886 deg = 875 m, DE440 ME vs DE421 ME at most 53.4 cm over 2000-2040.
- 10primary NAIF generic planetary SPK summaries (aa_summaries.txt) Read. Exact start and end epochs of de430, de431, de432s, de435, de438, de440, de440s, de441 parts, de442 and de442s.
- 11primary JPL planets/bsp README.txt Read in full (var/downloads/jpl_bsp_README.txt). TT-TDB as body 1000000001 relative to 1000000000 starting with DE430, TTmTDB.de430.19feb2015.bsp refit, Mars planet centre convention, KBOs in DE440/441.
- 12primary IERS Bulletin A, Vol. XXXIX No. 037 (10 September 2026) Read. UT1-UTC = 0.000946 s on MJD 61287, TAI-UTC = 37 s since 2017 Jan 1, no leap second in December 2026, DUT1 = 0.0 s from 2026 Apr 9, polar motion x = 0.20025 arcsec and y = 0.33395 arcsec, prediction accuracies for UT1-UTC of 1.4, 2.4, 3.2 and 4.0 ms at 10, 20, 30 and 40 days.
- 13primary deltat.preds: long-term predictions of TT - UT1 (USNO) Read on 2026-09-15. Columns MJD, year, TT-UT1, UT1-UTC, error. 2025.0: 69.04 +/- 0.088 s; 2026.0: 69.05 +/- 0.189 s; 2028.0: 69.34 +/- 0.486 s; 2030.0: 69.97 +/- 0.768 s.
- 14primary Folkner, Williams, Boggs, Park, Kuchynka (2014). The Planetary and Lunar Ephemerides DE430 and DE431. JPL IPN Progress Report 42-196 Read in full from the PDF (var/downloads/folkner2014_de430.txt). Frame ICRF2, TDB definition and integrated TT-TDB, lunar core-mantle damping and the 1550-2650 span, Euler angle definitions, LLR data table, mass table (Sun/Jupiter 1047.348625, Sun/Saturn 3497.901768), au = 149597870.700 km.
- 15primary The IAU Resolutions on Astronomical Reference Systems, Time Scales, and Earth Rotation Models, G. H. Kaplan, USNO Circular 179 (2005) Read from the PDF (var/downloads/circ179.txt). Equation 2.6 for TDB - TT (0.001657 s leading term), the statement that using TT for TDB errs by under 2 ms and under 1 mas for the Moon, the equation of the equinoxes with amplitude about 1 s, and the statement that the IAU 2000 resolutions change quantities only at the level of tens of milliarcseconds.
- 16peer-reviewed Explanatory Supplement to the Astronomical Almanac, P. K. Seidelmann ed. (University Science Books, 1992) Sections 2.553 (Stephenson and Morrison 1984 parabolas), 3.244 (terrestrial coordinates, MERIT 1983 ellipsoid), 3.283 (low-precision refraction, 34 arcmin horizontal refraction), 3.351 and 3.352 (IAU 1976 ellipsoid, GMST), 7.3 (apparent places include aberration), 8.12, 8.342, 8.353, 8.362 and 8.363 (eclipses: apparent places, shadow radius at height, height above the geoid, refraction as a refinement, the delta-T longitude correction). Read from the archive.org OCR text in var/downloads/es1992_djvu.txt.
- 17company Skyfield documentation: Positions Read. Definitions of barycentric, astrometric (light-time) and apparent (aberration and deflection) positions, ICRS and GCRS usage, ICRS axes within 0.02 arcsec of J2000.
- 18peer-reviewed Measurement of the Earth's rotation: 720 BC to AD 2015, F. R. Stephenson, L. V. Morrison and C. Y. Hohenkerk, Proc. R. Soc. A 472, 20160404 (2016) Full text read via the Europe PMC XML (PMC5247521), saved as var/downloads/smh2016.txt. Parabola -320.0 + (32.5 +/- 0.6)((year-1825)/100)^2 s, lod +1.78 +/- 0.03 ms/cy observed against +2.3 +/- 0.1 ms/cy tidal, DE430 tidal acceleration -25.82 arcsec/cy^2, spline knots at 5 and 3 year intervals after 1800, IERS TAI-UT1 used as control 1962 to 2015.
- 19company Swiss Ephemeris source, swephlib.c (delta-T and tidal acceleration), Astrodienst Read (downloaded 2026-09-15). Delta-T model selection (Stephenson, Morrison and Hohenkerk 2016 before 1955, Astronomical Almanac and IERS tables after, the Stephenson 1997 formula for the future with a 100-year transition) and the tidal-acceleration adjustment -0.000091 (ndot - ndot0)(Y-1955)^2 s.
- 20company 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.
- 21trade Meeus J. (1991) Astronomical Algorithms, first edition, Willmann-Bell, Chapter 52 Eclipses Read from the Internet Archive OCR text (chapter 52 in the 1991 edition, chapter 54 in the 1998 edition). Source of the |sin F| > 0.36 rule, the corrections to the time of maximum, P, Q, W, gamma, u, the thresholds 0.9972, 1.0260, 1.5433, 0.0047, 0.00464, the partial-magnitude formula and the stated accuracy of 0.36 min mean and 1.1 min maximum for 1951 to 2050. Graded trade as a recognised practitioner's own algorithm text.
- 22primary Espenak F., Meeus J. (2009) Five Millennium Catalog of Solar Eclipses: -1999 to +3000 (Revised), NASA/TP-2009-214174 Read in full as PDF text (20,579 lines). The main method source: column definitions (1.2), VSOP87D and truncated ELP-2000/82 (1.3), n-dot -25.858 and correction c (1.4), k = 0.2724880 and 0.272281 (1.5), Delta T polynomials (2.7), uncertainty (2.8), statistics (3), Saros and Inex (5).
- 23company Astrodienst, Swiss Ephemeris source swecl.c (AGPL or commercial) Source read via the GitHub API (6,428 lines). Quoted: constants DSUN, DMOON, DEARTH, the eclipse_where central and non-central tests, the K lunation seed, the dt bracketing search, and the annular-total detection by sign change of the core diameter.
- 24trade van Gent R. H., A Catalogue of Eclipse Cycles, list of eclipse cycles Read live 2026-09-15 via curl and text extraction. Source of the Kluepfel 1985 algorithm for the Saros number from the lunation number, the lunation-number offsets (Brown -953), the odd/even node rule, series lengths 1226 to 1550 years, and the k = m I + n S statement. Verified against all 11,898 NASA rows.
- 25primary NASA GSFC, Five Millennium Catalog of Solar Eclipses, ASCII table 5MKSEcatalog.txt (2008 Oct 07) Downloaded (1.38 MB, 11,908 lines) and parsed: all 11,898 rows, type counts 4200/3956/3173/569, type-code tallies, per-century counts, gamma ranges per class, and the Kluepfel Saros formula and the Meeus chapter 54 method were verified against it.
- 26peer-reviewed Seidelmann, P. K. (ed.), Explanatory Supplement to the Astronomical Almanac (1992), chapter 8 Eclipses of the Sun and Moon, sections 8.31 to 8.36 Read sections 8.31 to 8.333 in OCR text. Rotation-matrix form 8.322-3, unit vectors 8.322-5, mu = Greenwich apparent sidereal time minus a, cone equations 8.323-1 to 8.323-7, summary of elements 8.324, practical note 8.325, observer coordinates and flattening auxiliaries 8.331 to 8.333. Ellipsoid a = 6378.137 km, f = 1/298.257 from equation 3.244-1. Chapter author not shown in the scan.
- 27primary Espenak, F., NASA GSFC, Besselian Elements for the Total Solar Eclipse of 2024 Apr 08 Read. Polynomial coefficients, t0 = 18:00 TDT, ΔT = 70.6 s, VSOP87/ELP2000-85, k1 = 0.272488, k2 = 0.272281, tan f1 = 0.0046683, tan f2 = 0.0046450, validity 15.00 to 21.00 TDT, least-squares fit to five samples over six hours, centre-of-mass statement.
- 28primary Espenak, F., NASA GSFC, Catalog of Solar Eclipse Besselian Elements in CSV format (Five Millennium Canon) Downloaded and read (11 898 rows). Columns include dt, t0, x0..x3, y0..y3, d0..d2, mu0..mu2, l10..l12, l20..l22, tan_f1, tan_f2, tmin, tmax. Values for 2024 Apr 08 quoted in the note.
- 29peer-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.
- 30peer-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.
- 31company 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.
- 32primary Path of Total Solar Eclipse of 2024 Apr 08 (NASA GSFC eclipse web site, Espenak) Read. Column headers, 120-second rows, Limits row, footnote Delta T = 70.6 s. First rows quoted verbatim in the data-products note.
- 33company 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.
- 34peer-reviewed Explanatory Supplement to the Astronomical Ephemeris and the American Ephemeris and Nautical Almanac (1961), section 9D "Solar eclipses: local circumstances", pp. 241-249 Official almanac chapter. Read from the archive.org OCR text (var/downloads/es1961_djvu.txt, lines 40694-41460). Gives the observer coordinates, hourly variations, greatest phase, contact-time solution with the auxiliary angle psi, position angles Q and V, magnitude, degree of obscuration and the differential corrections for longitude, latitude, height and Delta T.
- 35peer-reviewed Explanatory Supplement to the Astronomical Almanac (Seidelmann ed., 1992), chapter 8, section 8.36 "Local circumstances" Official almanac chapter. Read from the archive.org OCR text (var/downloads/es1992_djvu.txt, lines 47555-47720). Restates the 1961 method in vector form, recommends inverse interpolation on u2+v2-L^2, and gives the magnitude and obscuration derivations (8.3621 to 8.3623).
- 36primary Fred Espenak and Jay Anderson, NASA TP 1999-209484 "Total Solar Eclipse of 2001 June 21", section "Local Circumstances Tables" Read. Defines P and V as measured counter-clockwise from the north and zenith points, states that for umbral eclipses the magnitude equals the topocentric ratio of diameters, that refraction, centre of figure and limb profile are not applied, and that elevation matters only near the umbral limits with the Sun below about 10 degrees.
- 37company Swiss Ephemeris, swecl.c (functions eclipse_how, eclipse_when_loc, swe_sol_eclipse_how, swe_sol_eclipse_when_loc) Read (var/downloads/swecl.c). Direct topocentric implementation: DSUN = 1392000 km, DMOON = 3476.3 km, angular separation from unit vectors, two-circle lens obscuration, rmoon scaled by 0.99916 for second and third contacts, bracketing search with find_zero.
- 38primary Espenak & Anderson (2001), Total Solar Eclipse of 2001 June 21, NASA TP-2001-209484 Local text read (var/downloads/TP209484_2001.txt). DE200/LE200, Watts corrections of 0.4 arcsec, graze-zone accuracy +/- 0.3 arcsec, advice to stay 1 km inside the interior limit, Elev Fact terrain factor, consumer GPS +/- 100 m, worked Lusaka limb-correction example.
- 39primary Total Solar Eclipse of 2001 June 21, F. Espenak and J. Anderson, NASA/TP-1999-209484 Read from the PDF text kept in var/downloads/TP209484_2001.txt. States that predictions use centre-of-mass positions with no refraction or limb corrections, that local circumstances are at sea level unless the elevation is known, and defines the elevation factor tan(90-A) sin(D) for shifting the path limits.
- 40primary NASA SVS 4517: Umbra Shapes (E. Wright) Read from the Wayback Machine snapshot of 2025-12-10. Explains the limb-profile point-cloud method, states that observer elevations come from SRTM, and that the western-US elevations in 2017 shift the umbra toward the Sun's azimuth by as much as 3 km.
- 41company How Accurate Are Eclipse Predictions? (Accuracy of Eclipse Times), K. Bikos, timeanddate.com Read from the Wayback Machine snapshot of 2025-12-24 (the live page returned HTTP 403). Calculations are at sea level, the umbra at Everest is only about 80 m wider, the path position may be off by up to 10 km at high altitude with a low Sun, rise and set times assume a flat horizon.
- 42primary SRTM Version 3.0 User Guide (NASA JPL and LP DAAC) Read from the PDF (var/downloads/srtm_guide.txt). Heights are metres referenced to the WGS84/EGM96 geoid; the true spatial resolution of the 1 arc-second data is 50 to 80 m; the LP DAAC 3 arc-second product averages 3x3 posts; voids are filled with ASTER GDEM2, GMTED2010 and NED.
- 43primary Copernicus DEM (COP-DEM) collection description, Copernicus Data Space Ecosystem Read. EEA-10, GLO-30 and GLO-90 from TanDEM-X 2011 to 2015 (WorldDEM), vertical reference EGM2008, absolute vertical accuracy under 4 m at 90 percent linear error, GLO-30 and GLO-90 free with attribution, DOI 10.5270/ESA-c5d3d65.
- 44primary PDS Geosciences Node. LRO LOLA GDR label ldem_128.lbl (LRO-L-LOLA-4-GDR-V1.0, V3.0) Read. 128 pix/deg, 236.901 m/pix, A_AXIS_RADIUS 1737.4 km, OFFSET 1737400, SCALING_FACTOR 0.5, 16-bit, MEAN EARTH/POLAR AXIS OF DE421, data 2009-07-13 to 2016-11-29.
- 45primary PDS Geosciences Node. SLDEM2015 label sldem2015_128_60s_60n_000_360_float.lbl (V2.0) Read. 128 pix/deg, 0.236901 km/pix, A_AXIS_RADIUS 1737.4 km, PC_REAL 32-bit in km, MEAN EARTH/POLAR AXIS OF DE421, GRGM900B gravity for geolocation, heights -8.717 to +10.778 km, coverage 60S to 60N.
- 46peer-reviewed Herald, D. (1983). Correcting predictions of solar eclipse contact times for the effects of lunar limb irregularities. Journal of the British Astronomical Association 93, 241-246 Read in full from the ADS scan (page images). The displacement-curve method: h = 960 (M-1)(1-cos P), r = 0.97 M n arcsec per second, radial rate r cos(PA-N), the path-limit factor 1.863 km per arcsec times sqrt(sin^2 D / sin^2 a + cos^2 D), the limiting magnitudes for total and annular eclipses, and the error budget.
- 47primary Espenak, F. and Anderson, J. (1999). Total Solar Eclipse of 2001 June 21. NASA/TP-1999-209484 Read from the local PDF text. Sections Mean Lunar Radius, Lunar Limb Profile and Limb Corrections to the Path Limits: Graze Zones. Source of the two k values, equations [8] and [9], the Lusaka worked example, Table 6 path corrections, the 5 to 10 km graze zone and the interior/exterior graze definitions.
- 48primary NASA SVS, 2024eclipse_shapefiles.zip (78.6 MB) Downloaded from Wayback capture 2025-02-12 and parsed: umbra_hi 6741 records at 1 s 17:56:00 to 19:48:20 UTC with 12 attributes; umbra_lo 1181 at 10 s; center, duration, ppath, ppath01, upath_hi, upath_lo; all .prj GCS_WGS_1984.
- 49trade Guhl & Tegtmeier (2018), Baily's Beads Observations during the Total Solar Eclipse 2017 August 21, Journal for Occultation Astronomy 2018-3, pp. 19-21 Full PDF read (var/downloads/JOA2018_3.txt). Two IOTA/ES stations, Thermopolis WY 700 m inside the northern limit and Cape Girardeau MO region. Bead-by-bead radius residuals reduced with Occult 4.5.3.0 using LOLA and Kaguya.
- 50trade Guhl (2023), Baily's Beads Observation during the Hybrid Solar Eclipse 2023 April 20, Journal for Occultation Astronomy 2023-4, pp. 12-15 Full PDF read (var/downloads/JOA2023_4.txt). Northern limit of the total segment, Cape Range, Western Australia. Sixteen bead timings, mean correction +0.38 arcsec, result 960.01 +/- 0.12 arcsec.
- 51primary Espenak, Uncertainty in Delta T, NASA GSFC eclipse site (2007), adapted from the Five Millennium Canon Full HTML read via curl. Morrison & Stephenson 2004 sigma = 0.8 t^2, tables of sigma and longitude uncertainty from -4000 to +5000, Huber 2000 model.
- 52primary Espenak F., Meeus J. (2006) Five Millennium Canon of Solar Eclipses: -1999 to +3000, NASA/TP-2006-214141 Read in full as PDF text (2,625 lines). Sections 1.3 to 1.6 give ephemerides, secular acceleration, k values and the map-accuracy statement with the reference-gore example for -1996 Oct 04. Note the Text10 link on the NASA publication page returns 404, Text11 is the live file.
- 53primary NASA GSFC, Besselian elements for all 11,898 eclipses of the Five Millennium Canon, CSV export Downloaded (5.95 MB, 11,899 lines). Header read: catalog columns plus t0, cubic x and y, quadratic d, mu, l1, l2, tan f1, tan f2, tmin -3 to tmax +3 h, and six undocumented trailing columns PNS, UNS, NCN, nSer, nSeq, nJLE.
- 54primary NASA SVS 5073: The 2023 and 2024 Solar Eclipses: Map and Data Read from a Wayback Machine snapshot (2025) because svs.gsfc.nasa.gov refused connections. Lists the shapefile and KML contents and the data sources (SRTM, LRO, DE421).
- 55primary USNO, 2024 April 8 Total Solar Eclipse, Astronomical Applications Department Read via WebFetch. IAU radii Sun 696,000 km and Moon 1737.4 km, no limb profile, no centre-of-figure correction, contacts found by iterating topocentric positions.
- 56primary NASA SVS, cities-eclipse-2024.json Downloaded from Wayback capture 2025-02-12: 32,174 objects with STATE, NAME, LAT, LON, ECLIPSE (5 or 6 UTC times); contacts to 1 s, partial phases to 10 s.