Computing Solar Eclipses — Research

Canons and data products

workingupdated 2026-09-15canoncataloguenasa-gsfcimccehmnaojubieroccultdata-productsopen-source
  • NASA GSFC is the machine-readable reference. One ASCII catalogue of 11,898 rows and one CSV of Besselian polynomial elements for the same eclipses, both derived from the Five Millennium Canon with VSOP87D and ELP-2000/82, are downloadable without registration and reproducible with the credit line "Eclipse Predictions by Fred Espenak, NASA's GSFC" 1 2 3.
  • IMCCE has its own six-millennium canon. 14,155 solar eclipses from 2999-2999 to +3000+3000 computed with ELP2000, VSOP82, Chebyshev ephemerides SLP98, Stephenson 1984 for TT−UT, k=0.2725076k = 0.2725076 and a solar semidiameter of 15′59.63″ at 1 au 4 5 6.
  • EclipseWise extends the count to 14,261. Espenak's later six-millennium catalogue lists 5,042 partial, 4,761 annular, 3,820 total and 638 hybrid eclipses. Van Gent reports it was computed from JPL DE406 7 8.
  • Only two mainstream libraries enumerate solar eclipses. Astronomy Engine and the Swiss Ephemeris. Skyfield has lunar eclipses only, libnova has no eclipse header at all, and no astropy eclipse finder was found 9 10 11 12.
  • The older canons set the numbering and the baselines. Oppolzer 1887 covers 8,000 solar eclipses from 1207-1207 to +2161+2161 with hand-computed circular-arc paths. Mucke and Meeus 1983 covers 10,774 eclipses from 2003-2003 to +2526+2526 with Besselian elements. Meeus 1989 gives elements for 570 eclipses from 1951 to 2200 13 14.

The question. Where should a developer obtain a trustworthy list of eclipses with their elements, what does each product state about its ephemeris, ΔT\Delta T model and lunar radius, which code can regenerate such a list, and what are the older canons that the modern ones cite? Method and type rules are in Enumerating eclipses and Types and classification.

NASA GSFC eclipse site

The site publishes the Five Millennium Canon (NASA/TP-2006-214141) and the revised Five Millennium Catalog (NASA/TP-2009-214174) and everything derived from them. The catalogue itself says the tables are "available via the Web at http://eclipse.gsfc.nasa.gov/SEcat5/catalog.html. Organized into 100-year intervals, the tables have individual links to eclipse maps and Saros series tables" 13 15. The site was intermittently unreachable on 2026-09-15; unless a reference note says otherwise, every page cited from it is as of that date.

Publications. The canon text is 5MCSE/5MCSE-Text11.pdf (the Text10 link on the publication page returns 404) with twelve map PDFs of 19.5 to 21.8 MB each. The catalogue is 5MCSE/TP2009-214174.pdf, 13.2 MB 16 17.

ASCII catalogue. https://eclipse.gsfc.nasa.gov/5MCSE/5MKSEcatalog.txt, 1.38 MB, 11,908 lines, dated 2008 Oct 07 and headed "NASA Technical Publication NASA/TP-2008-214170". Fixed-width columns: catalogue number, canon plate, calendar date, TDTerrestrial Time (TT)The uniform time scale of the ephemerides and of the Besselian elements, equal to TAI + 32.184 s. Older eclipse tables call it TDT, TD or Ephemeris Time (ET). Elements are computed in TT and converted to UT1 with ΔT before any Earth rotation is applied. of greatest eclipse, ΔT in seconds, lunation number, Saros number, type code, QLE, gamma, magnitude, latitude, longitude, Sun altitude, Sun azimuth, path width in km, central duration. Row 1 reads 1 001 -1999 Jun 12 03:14:51 46438 -49456 5 T -n -0.2701 1.0733 6.0N 33.3W 74 344 247 06m37s 1. A regular expression over the type field and the numeric columns parses all 11,898 rows. TD, TDT and TT are one scale, printed as TDT or TD in NASA tables and called ET before 1984.

Besselian elements CSV. https://eclipse.gsfc.nasa.gov/eclipse_besselian_from_mysqldump2.csv, 5.95 MB, 11,899 lines including the header. Columns: year, month, day, td_ge, dt, luna_num, saros, eclipse_type, gamma, magnitude, lat_ge, lng_ge, lat_dd_ge, lng_dd_ge, sun_alt, sun_azm, path_width, central_duration, duration_secs, cat_no, canon_plate, julian_date, t0, x0, x1, x2, x3, y0, y1, y2, y3, d0, d1, d2, mu0, mu1, mu2, l10, l11, l12, l20, l21, l22, tan_f1, tan_f2, tmin, tmax, etype, PNS, UNS, NCN, nSer, nSeq, nJLE. The elements are cubic in xx and yy, quadratic in dd, μ\mu, l1l_1 and l2l_2, referred to t0 in TDT hours and valid for tmin −3 to tmax +3 hours. The last six columns are undocumented on the site 2. The publication page links this file next to the ASCII catalogue 16. The same data are mirrored as CSV, JSON and JavaScript in a GitHub repository whose README quotes NASA's permission: "Permission is freely granted to reproduce this data when accompanied by an acknowledgment: 'Eclipse Predictions by Fred Espenak, NASA's GSFC'" 3.

Per-eclipse pages. SEsearch/SEdata.php?Ecl=YYYYMMDD returns the polynomial elements, the circumstances at greatest eclipse and the statement that the predictions use "VSOP87/ELP2000-82 solar and lunar ephemerides". The 2024 Apr 08 page gives t0=18.000t_0 = 18.000 TDT, γ=0.3431\gamma = 0.3431, magnitude 1.0566, Saros 139, ΔT 74.0 s, path width 197.5 km and central duration 04m28s 18. The explanatory page for the elements defines the eight parameters and their tabulation "often at hourly intervals" 19.

Saros products. A catalogue of Saros series 0 to 180 with the count, span and first and last date of each, the per-series tables, and the Quaglia and Tilley Saros-Inex panorama as an Excel file of 61,775 eclipses 20 21 22.

ΔT pages. The polynomial page, the historical-values page and the uncertainty page reproduce Sections 2.6 to 2.8 of the catalogue, including the σ=0.8t2\sigma = 0.8t^2 and Huber formulas and the table of longitude uncertainties from 2.65° at 1000-1000 to 0.0004° at +1900+1900 23 24 25.

EclipseWise

Espenak's own site carries a six-millennium catalogue, 2999-2999 to +3000+3000, with 14,261 eclipses: 5,042 partial, 4,761 annular, 3,820 total, 638 hybrid. The page states that "some of the data presented in the Catalog of Solar Eclipses were previously published in the Five Millennium Canon" and carries the credit "Eclipse Predictions by Fred Espenak, www.EclipseWise.com", but the pages read do not name the ephemeris, the ΔT\Delta T model or kk 7 26. Van Gent's bibliography states the six-millennium catalogues were "calculated by Fred Espenak and Jean Meeus from the DE406 solar system ephemeris"; this is a third-party statement and was not confirmed on EclipseWise 8. The EclipseWise catalogue key adds a "ΔT Sigma" column absent from the NASA catalogue 26. Its ΔT\Delta T polynomial page, last updated 2020 Jan 27, replaces the NASA 2005-to-2050 expression with one covering "Between years 2015 and 3000" described as "an extrapolation based on recent values of ΔT combined with the long term trend obtained by fitting a quadratic function to the values of ΔT from the historic records" 27. The second edition of the canon is sold as two volumes, 1999-1999 to 0 and 1 to 3000, and the sales page does not list technical changes 28.

IMCCE

The Observatoire de Paris teaching pages describe the IMCCE canon: "une période de 6000 ans (de l'an −2999 à 3000)", built "avec les dernières théories planétaires et lunaire élaborées à l'IMCCE" 29. The theories: "Théorie de la Lune : ELP2000 de Michèle Chapront-Touzé et J. Chapront", "Théorie du barycentre Terre-Lune : VSOP82 de P. Bretagnon", "Éphémérides sous forme de polynômes de Tchebycheff : SLP98 de G. Francou", "TT-TU : valeurs de R. Stephenson (1984) modifiées et adaptées à la théorie de la Lune utilisée", precession of Lieske 1977, nutation of Wahr 1981, sidereal time of Aoki 1992 4. The physical parameters: "le demi-diamètre solaire = 15′ 59.63″", "le rapport du rayon lunaire sur le rayon équatorial terrestre : k = 0,2725076", "le rayon équatorial terrestre = 6 378 140 m", "le carré de l'ellipticité de l'ellipsoïde terrestre = 0,00669438 ; 1/f = 1/298.257 IERS (1992)" 5. The result: "Nous avons trouvé sur cette période de 6000 ans, 14 155 éclipses de Soleil" with the remark that annular eclipses outnumber total ones; the per-type table did not render in the page as fetched 6. The IMCCE canon therefore uses the single IAU kk that Espenak and Meeus rejected, and 14,155 versus EclipseWise's 14,261 for the same span is the difference to investigate.

The live IMCCE service at ssp.imcce.fr/forms/solar-eclipses is a JavaScript application that serves no content in its document body, so its parameters cannot be read from the page. It is an online calculator for general and local circumstances, with a page per eclipse such as /forms/solar-eclipses/2026-08-12 30. Its ephemeris version is unestablished.

HMNAO

The portal at astro.ukho.gov.uk/eclipse/ returned HTTP 503 on every attempt on 2026-09-15 and no archive snapshot was retrievable. Search summaries state it covers "1501 CE to 2100 CE inclusive, with a total of 2,881 eclipses made up of 1,421 solar and 1,460 lunar eclipses" and that "the mapping information is based on data derived from solar and lunar eclipse software used in the production of The Astronomical Almanac". This is search-summary provenance only 31.

Xavier Jubier

The Five Millennium Canon database page states: "All the data accessed through this interface is provided by Fred Espenak and Jean Meeus (NASA Technical Publication TP-2006-214141)." It offers on-the-fly Google Maps and Google Earth kmz files for each of the 11,898 eclipses, filters by year, type, duration and Saros (13-13 to 194), and warns that "the uncertainty in Earth's rotational period expressed in the parameter ΔT has an impact on the geographic visibility of eclipses in the past and future", linking to a page on the 5MCSE ΔT model. The page footer reads "Powered by eEclipser ©2006-2024" and "Last page update on February 2, 2007" 32. The page requires JavaScript, so nothing beyond the header text is present in the document itself.

Occult 4

Dave Herald's page lists among Occult's capabilities "Solar and lunar eclipses, transits of Mercury and Venus", states it "has been written in the language C#, and runs in the .NET framework V4.5", and describes installation via OccultInstaller.zip with data downloads 33. That eclipse paths from Occult version 4.2023.11.30 used JPL DE441 is reported on a third-party map page and is not confirmed in Occult's own documentation 33. Occult's eclipse listing, and its use of a lunar limb profile in eclipse predictions, fall outside the scope of this note.

timeanddate

The site blocked all automated fetches. Search summaries of its help pages state that its eclipse calculations "account for changes in the speed of Earth's rotation using a value called Delta T", quote ΔT values near 69 to 75 s for current eclipses, and describe magnitude as computed from Besselian elements 34. No ephemeris or kk statement was found. Search-summary provenance only.

Open-source code that enumerates eclipses

The full repository inventory and its comparison matrix are in GitHub repositories. This section keeps only what each project does about enumeration.

Astronomy Engine (MIT, C, C#, JavaScript, Python, Kotlin). SearchGlobalSolarEclipse and NextGlobalSolarEclipse return kind (partial, annular, total), obscuration, distance of the shadow axis from Earth's centre, and the latitude and longitude of the peak. The kind logic and constants are quoted in Enumerating eclipses. It uses truncated VSOP87 and claims ±1 arcmin 9.

Swiss Ephemeris (AGPL or commercial, C with many bindings). swe_sol_eclipse_when_glob with type flags, swe_sol_eclipse_where and swe_sol_eclipse_how. The DE-based or Moshier ephemeris is selected by flag. The type logic is quoted in the two companion notes 10 35.

Skyfield (MIT, Python). skyfield.eclipselib.lunar_eclipses only. New moons can be found with almanac.oppositions_conjunctions and find_discrete. Pull request 1076, still open, adds a solar routine tested against "the official data for the last ~400 years" 11 36 37.

Meeus ports. soniakeys/meeus (Go, MIT) implements Chapter 54 as eclipse.Solar(year) returning type, central flag, JDE of maximum, γ\gamma, uu, penumbral radius and partial magnitude, with the book's constants verbatim 38. A C# walkthrough of the same chapter exists on squarewidget.com 39.

Small projects found by GitHub search (queries "solar eclipse catalog", "eclipse finder", "saros", "besselian elements", "solar eclipse prediction", "eclipse calculator meeus" on 2026-09-15). "solar eclipse catalog" and "eclipse calculator meeus" returned no repositories. Others:

  • erikbern/eclipse-finder (Python): "Simple Modal script that uses Astropy to find eclipses in the 2020-2030 period" by brute-force separation search. That a user had to write it is the evidence that astropy itself has no eclipse function 40.
  • cjwinchester/full-moons-solstices-equinoxes-eclipses (Python): 23,289 events 1550 to 2649, lunar eclipses from Skyfield with DE440, and "Solar eclipse data comes from NASA's Five Millenium Catalog of Solar Eclipses", output as CSV 41.
  • i230010/sedategenerator_v2 (Python): generates a CSV with UT1 and TT datetimes, ΔT and the Besselian polynomial coefficients x0..x3x_0..x_3, y0..y3y_0..y_3, d0..d3d_0..d_3, l10..l13l_{10}..l_{13}, l20..l23l_{20}..l_{23}, μ0..μ3\mu_0..\mu_3, tanf1\tan f_1, tanf2\tan f_2 over a year range with a time step in seconds; no method or validation is documented 42.
  • RyuuNeko1107/umbra-rs (Rust): an AI-authored experiment with design documents targeting ±1 to 2 s in greatest-eclipse time and sub-km central lines, explicitly "not ready for use" and not validated against JPL DE 43.
  • RHerAle/Eclipse-Engine (JavaScript, AGPL-3.0): the engine behind eclipseradar.com, using "Besselian elements, fitted to the JPL DE440s ephemeris" for 2026 to 2050; it consumes elements rather than enumerating 44.
  • gmiller123456/FiveMillenniumCanonOfSolarEclipses-Besselian-Elements: the NASA CSV re-served as JSON and JavaScript 3.

libnova (LGPL, C). The src/libnova header directory contains solar.h, lunar.h, rise_set.h, parallax.h and thirty others, none for eclipses, and a code search for "eclipse" in the repository returned zero hits 12.

No Zenodo dataset of solar eclipse catalogues or Besselian elements was found in searches for "Zenodo solar eclipses catalog CSV JSON Besselian elements". The NASA CSV and its GitHub mirror are the only machine-readable element sets located.

The older canons

The catalogue's introduction is the best short history and is quoted here 13.

Oppolzer 1887, Canon der Finsternisse. "It stands as one of the greatest achievements in computational astronomy of the 19th century and contains the elements of all 8,000 solar eclipses (and 5,200 lunar eclipses) occurring between the years −1207 and +2161 ... together with maps showing the approximate positions of the central lines. To accomplish this remarkable feat, a number of approximations were used in the calculations and maps. Consequently, the eclipse paths often differ by hundreds of miles compared to rigorous predictions generated with modern ephemerides. Furthermore, the 1887 Canon took no account of the shifts imparted to ancient eclipse paths as a consequence of Earth's variable rotation rate and the secular acceleration of the Moon." Search coverage adds that ten human computers shared the work and that each path was drawn as a circular arc through three computed points, begin, middle and end 45. Gingerich's 1962 translation is on the Internet Archive 45.

Meeus, Grosjean and Vanderleen 1966, Canon of Solar Eclipses. "Contains the Besselian elements of all solar eclipses from +1898 to +2510, together with central line tables and maps. The aim of this work was to provide data on future eclipses." It is also the source of the Saros-number increments in Table 5-10 and of the statement that a total eclipse cannot occur "so long as any photospheric rays are visible through deep valleys along the Moon's limb" 13.

Mucke and Meeus 1983, Canon of Solar Eclipses −2003 to +2526. "Intended primarily for historical research, serving as the modern day successor of Oppolzer's great canon. The Mucke-Meeus publication included Besselian elements and maps of all 10,774 solar eclipses during this time interval. Each orthographic map was oriented to show the day-side hemisphere of Earth. In this projection, the path of the Moon's penumbra and the central axis of the shadow cone could be approximated by straight lines." Meeus 1991 refers readers to it for elements and formulas 13 46 47.

Meeus 1989, Elements of Solar Eclipses 1951-2200. Besselian elements for the 570 solar eclipses of 1951 to 2200 "calculated using highly accurate modern theories of the Sun and Moon developed at the Bureau des Longitudes of Paris", with formulas for local circumstances, central line and limits, and worked examples. Meeus 1991 calls these "accurate Besselian elements" 14 46. Not read directly.

Espenak 1987, Fifty Year Canon of Solar Eclipses 1986-2035. Individual maps and central path data. The five-millennium catalogue states its smaller kk "is consistent with predictions in Fifty Year Canon of Solar Eclipses" 13.

Stephenson and Houlden 1986, Atlas of Historical Eclipse Maps, East Asia 1500 BC to AD 1900. Path maps of total and annular eclipses visible from China, and the source of the telescopic-era ΔT uncertainties in the catalogue's Table 2-4 13.

Van den Bergh 1955, Periodicity and Variation of Solar (and Lunar) Eclipses. The source of the Saros and Inex numbering and of the panorama 48 13.

The catalogue notes that "Without exception, all solar eclipse canons produced during the latter half of the 20th century were based on Newcomb's tables of the Sun (1895) and Brown's lunar theory (1905), subject to later modifications in the Improved Lunar Ephemeris (1954)", and the 2006 canon was the first based on the Bureau des Longitudes theories with predictions in Terrestrial Dynamical Time 13.

Sources compared

Product Span Eclipses Ephemeris ΔT kk Machine-readable
NASA 5MCSE catalogue 1 1999-1999 to +3000+3000 11,898 VSOP87D, ELP-2000/82 M&S 2004 + polynomials + cc 0.2724880 / 0.272281 ASCII, CSV of elements
EclipseWise six millennium 7 2999-2999 to +3000+3000 14,261 DE406 per van Gent, unconfirmed 2020 polynomials not stated HTML tables
IMCCE canon 4 2999-2999 to +3000+3000 14,155 ELP2000, VSOP82, SLP98 Stephenson 1984 adapted 0.2725076 not found
HMNAO portal 31 1501 to 2100 1,421 solar Astronomical Almanac software not stated not stated unknown, site down
Jubier 5MCSE 32 1999-1999 to +3000+3000 11,898 NASA data NASA model NASA kmz, maps
Mucke and Meeus 1983 47 2003-2003 to +2526+2526 10,774 Newcomb, Brown ILE of its day not stated here print
Oppolzer 1887 45 1207-1207 to +2161+2161 8,000 19th-century tables none not applicable print, scanned

What a developer should do

  1. Download 5MKSEcatalog.txt and eclipse_besselian_from_mysqldump2.csv from NASA and treat them as the acceptance test set. Keep the credit line in any redistribution 1 2.
  2. Use the Swiss Ephemeris or Astronomy Engine as a second, independent enumerator and diff the three lists. Differences will concentrate in the non-central band and in near-hybrid events, which is where kk and the surface-versus-plane umbral radius matter 35 9.
  3. Record the ephemeris, the ΔT\Delta T model and the kk pair as metadata on every exported row. The NASA CSV does not carry them, and the IMCCE and EclipseWise products differ from NASA on all three.
  4. For historical work compare with IMCCE's 14,155 and EclipseWise's 14,261 for 2999-2999 to +3000+3000 and explain the 106-eclipse difference before trusting either at the margins.

What this changes

Nothing in the pipeline design. The NASA files are sufficient as a reference set and no product examined offers a documented improvement over them for enumeration. The data-products stage should add a provenance record, because the only widely mirrored element set carries no statement of its own constants.

Open questions

  • Obtain the IMCCE canon's per-type counts and its statement of the Earth-rotation series, from the pages stlp-canon-imcce-resultats.html whose table did not render, or from IMCCE's Le manuel des éclipses (2005) 6.
  • Obtain a confirmed statement of the ephemeris behind the EclipseWise six-millennium catalogue, either from EclipseWise or from Espenak's Thousand Year Canon of Solar Eclipses 1501 to 2500 7.
  • Obtain the HMNAO Eclipse Portal pages when the server is up, in particular whether Besselian elements are exported and which ephemeris the Astronomical Almanac software used for 1501 to 2100 31.
  • Obtain Occult 4's help topic on solar eclipses to record its ephemeris, kk and limb usage from the author's own text 33.
  • Obtain the Skyfield pull request 1076 test file to see which reference list it compares with 36.

References

  1. 1primary 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.
  2. 2primary 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.
  3. 3company Miller G., FiveMillenniumCanonOfSolarEclipses-Besselian-Elements (GitHub mirror of the NASA CSV as CSV, JSON, JavaScript) Read live 2026-09-15. Redistribution of NASA data with the NASA permission text; no processing documented.
  4. 4primary IMCCE and Observatoire de Paris, Le canon de l'IMCCE : les theories utilisees Read live 2026-09-15. ELP2000, VSOP82, SLP98 Chebyshev ephemerides, Stephenson 1984 TT-UT adapted to the lunar theory, Lieske 1977 precession, Wahr 1981 nutation, Aoki 1992 sidereal time.
  5. 5primary IMCCE and Observatoire de Paris, Le canon de l'IMCCE : les parametres physiques Read live 2026-09-15 via curl. Solar semidiameter 15'59.63", k = 0.2725076, equatorial radius 6,378,140 m, e^2 = 0.00669438, 1/f = 298.257.
  6. 6primary IMCCE and Observatoire de Paris, Le canon de l'IMCCE : les resultats Read live 2026-09-15. 14,155 solar eclipses over 6,000 years; the per-type table did not render in the fetched page.
  7. 7company Espenak F., EclipseWise Six Millennium Catalog of Solar Eclipses -2999 to +3000 Read live 2026-09-15. 14,261 eclipses: 5,042 P, 4,761 A, 3,820 T, 638 H. Ephemeris, Delta T and k not stated on the page.
  8. 8trade van Gent R. H., A Catalogue of Eclipse Cycles, solar and lunar eclipse catalogues page Read live 2026-09-15. States that the EclipseWise six-millennium catalogs were computed from DE406; third-party statement, not confirmed on EclipseWise.
  9. 9company Cross D., Astronomy Engine, source file source/c/astronomy.c (MIT) Source read in full via the GitHub API (13,061 lines). Quoted functions: CalcShadow, Astronomy_SearchGlobalSolarEclipse, GeoidIntersect, EclipseKindFromUmbra with the 0.014 km bias, PruneLatitude 1.8 degrees, constants EARTH_MEAN_RADIUS_KM 6371.0, MOON_MEAN_RADIUS_KM 1737.4, MOON_POLAR_RADIUS_KM 1736.0. README read for the accuracy claim and VSOP87 statement.
  10. 10company Astrodienst, Swiss Ephemeris Programming Interface, section on swe_sol_eclipse_when_glob and swe_sol_eclipse_where Read live 2026-09-15. Function signature, ifltype bits, tret[] slots, UT convention, attr[] contents; the Delta T model in use is not stated in the section read.
  11. 11company Rhodes B., Skyfield almanac documentation Read live 2026-09-15. Confirms lunar_eclipses is the only eclipse function and that oppositions_conjunctions plus find_discrete locate new moons.
  12. 12company libnova, src/libnova header directory (GitHub mirror) Directory listed via the GitHub API on 2026-09-15: 36 headers, none for eclipses, and a code search for "eclipse" in the repository returned zero results. Negative finding.
  13. 13primary 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).
  14. 14trade Meeus J. (1989) Elements of Solar Eclipses 1951-2200, Willmann-Bell Not read. Described from bookseller and search summaries and from Meeus 1991's own reference: Besselian elements for 570 eclipses with formulas for local circumstances, central line and limits.
  15. 15primary NASA GSFC, Five Millennium Catalog of Solar Eclipses, century table index Read live 2026-09-15. Lists the 50 century tables from -1999 to +3000 and the credit line for reproduction.
  16. 16primary NASA GSFC, Five Millennium Canon of Solar Eclipses publication page Read live 2026-09-15. Download links for text and twelve map PDFs, ASCII catalog and Besselian CSV.
  17. 17primary NASA GSFC, Five Millennium Catalog of Solar Eclipses publication page Read live 2026-09-15. Download link for TP2009-214174.pdf and the ASCII catalog; restates ephemeris, n-dot and Delta T regimes.
  18. 18primary NASA GSFC, Besselian Elements for the Total Solar Eclipse of 2024 April 08 Read live 2026-09-15. Example of the per-eclipse polynomial element format with t0, coefficients, tan f1, tan f2, gamma, magnitude, Saros, Delta T and the VSOP87/ELP2000-82 statement.
  19. 19primary NASA GSFC, Besselian Elements of Solar Eclipses, explanatory page Read live 2026-09-15. Defines the eight elements and links the CSV; gives no formulas for circumstances.
  20. 20primary NASA GSFC, Catalog of Solar Eclipse Saros Series 0 to 180 Read live 2026-09-15. Per-series counts (69 to 86 eclipses), spans, first eclipse -2955 May 23 for series 0, last 4004 May 02 for series 180.
  21. 21primary NASA GSFC, Key to Catalog of Solar Eclipse Saros Series Read live 2026-09-15. Column key for the per-series tables; does not state the odd/even node rule.
  22. 22primary NASA GSFC, Saros-Inex Panorama (Luca Quaglia and John Tilley) Read live 2026-09-15. Excel panorama of 61,775 solar eclipses from -11000 to +15000, 911 Saros columns, computed with Solex.
  23. 23primary NASA GSFC, Polynomial Expressions for Delta T (2004 model used by the Five Millennium Canon) Read live 2026-09-15. Twelve polynomials from -1999 to +3000, the -26 arcsec/cy^2 assumption and the correction c = -0.000012932 (y-1955)^2.
  24. 24primary NASA GSFC, Delta T explanatory page Read live 2026-09-15. Definition, the Morrison and Stephenson values with longitude shifts (71.6 degrees at -500), recent values 1970 to 2007.
  25. 25primary NASA GSFC, Uncertainty in Delta T Read live 2026-09-15. sigma = 0.8 t^2 for -1000 to +1200, Huber's formula with Q = 0.058 ms^2/yr and M = 2500 yr, tables of seconds and degrees of longitude.
  26. 26company Espenak F., EclipseWise Key to Catalog of Solar Eclipses Read live 2026-09-15. Same columns as NASA plus a Delta T Sigma column; type codes identical.
  27. 27company Espenak F., EclipseWise Polynomial Expressions for Delta T (updated 2020 Jan 27) Read live 2026-09-15. Revised polynomials with a 2015 to 3000 extrapolation replacing NASA's 2005 to 2050 and 2050 to 2150 expressions.
  28. 28company Espenak F., Five Millennium Canon of Solar Eclipses, second edition sales page Read live 2026-09-15. Two volumes, -1999 to 0 and 1 to 3000; no technical changes listed.
  29. 29primary IMCCE and Observatoire de Paris, Les canons d'eclipses de Soleil Read live 2026-09-15. Describes Oppolzer 1887 (8,000 eclipses, -1207 to 2161), Mucke and Meeus 1983 (-2003 to 2526) and the IMCCE canon (-2999 to 3000).
  30. 30primary IMCCE, Solar eclipses online calculation service (ssp.imcce.fr) Page body not readable (JavaScript application). Described only from search summaries: general and local circumstances with per-eclipse pages. Ephemeris version not established.
  31. 31primary HM Nautical Almanac Office, Eclipse Portal (Eclipses Online) Not read: HTTP 503 on every attempt and no archive snapshot retrievable. Search-summary provenance only for the 1501 to 2100 span, 1,421 solar eclipses and the Astronomical Almanac software statement.
  32. 32company Jubier X., Five Millennium Canon of Solar Eclipses Database, interactive maps Read 2026-09-15 by direct HTTP curl (the HTTPS fetch is refused). Header text read: data from NASA TP-2006-214141, on-the-fly Google Maps and kmz for 11,898 eclipses, Saros filter -13 to 194, Delta T warning; the interactive part needs JavaScript.
  33. 33company Herald D., Occult v4 Occultation Prediction Software, program page Read 2026-09-15 by curl. Lists solar and lunar eclipses among the phenomena, C# on .NET 4.5, installation files. The DE441 statement comes from a search summary of a third-party map page and is unverified.
  34. 34company timeanddate.com, How Accurate Are Eclipse Predictions and related help pages Not read: HTTP 403 and a JavaScript challenge on every attempt. Search-summary provenance only: Delta T is applied, magnitudes from Besselian elements, no ephemeris statement found.
  35. 35company 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.
  36. 36unsourced python-skyfield pull request 1076, Add routine and test for the solar eclipse calculation Read live 2026-09-15. Open at the time of reading. Method mirrors the lunar routine with a minimum search; author notes misidentifications for zero-duration and marginal partial eclipses.
  37. 37unsourced python-skyfield issue 1078, Solar Eclipse calculation routine (May 2025) Read live 2026-09-15 with a partial page load. Describes the penumbra, umbra, antumbra test and claims near-perfect agreement with published sources.
  38. 38company Keys S., meeus/v3/eclipse/eclipse.go, Go implementation of Astronomical Algorithms chapter 54 (MIT) Read in full via the GitHub API. Reproduces the second-edition coefficients for F, M, M', Omega, E, the 16-term time correction, P, Q, gamma, u and the classification switch verbatim from the book; used as the source for the second-edition polynomial constants.
  39. 39unsourced Still J., Calculate Future Solar Eclipses (C# walkthrough of Meeus chapter 54) Read live 2026-09-15. Blog post giving the second-edition mean new moon JDE and F expressions and the classification thresholds; used only to cross-check constants also present in the Go port.
  40. 40unsourced Bernhardsson E., eclipse-finder (Python, astropy, Modal) README read via the GitHub API. Brute-force astropy separation search for 2020 to 2030; evidence that astropy has no built-in eclipse finder.
  41. 41unsourced Winchester C., full-moons-solstices-equinoxes-eclipses (Python, Skyfield DE440, NASA 5MCSE for solar eclipses) README read via the GitHub API. Solar eclipses are copied from the NASA ASCII catalog, not computed.
  42. 42company i230010, sedategenerator_v2 (Python Besselian element CSV generator) README read via the GitHub API. Output columns listed; method and validation undocumented.
  43. 43unsourced RyuuNeko1107, umbra-rs (experimental pure-Rust eclipse engine) README read via the GitHub API. Design-first AI-authored project, explicitly not ready for use, targets stated but not validated.
  44. 44company RHerAle, Eclipse-Engine (JavaScript, AGPL-3.0, engine behind eclipseradar.com) README read live 2026-09-15. Besselian elements fitted to JPL DE440s for 2026 to 2050, local circumstances, radiometry; no enumeration and no NASA comparison stated.
  45. 45primary Oppolzer T. von (1887) Canon der Finsternisse, English translation by O. Gingerich (1962), Dover Not read. Described from NASA/TP-2009-214174 Section 1 (8,000 solar and 5,200 lunar eclipses, -1207 to +2161, hundreds of miles of path error, no Delta T) and from search coverage on the ten computers and circular-arc paths.
  46. 46trade 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.
  47. 47trade Mucke H., Meeus J. (1983) Canon of Solar Eclipses -2003 to +2526, Astronomisches Buero, Vienna Not read. Described from NASA/TP-2009-214174 Section 1 and the IMCCE canon page: Besselian elements and maps for 10,774 eclipses, day-side orthographic projection.
  48. 48trade van den Bergh G. (1955) Periodicity and Variation of Solar (and Lunar) Eclipses, Tjeenk Willink, Haarlem Not read. Its numbering scheme and Saros-Inex panorama are described from NASA/TP-2009-214174 Sections 5.6 to 5.8 and van Gent's catalogue.