Computing Solar Eclipses — Research

Corrections that move contact times, Baily's beads, and public code

workingupdated 2026-09-15local-circumstanceslimb-correctionbailys-beadssolar-radiusdelta-trefractioncode
  • The lunar limb is the largest correction to C2 and C3. NASA states uncorrected times "may be in error by as much as 2 to 3 seconds (and more near the path limits)". Watts corrections bring agreement "to better than 0.5 seconds", and Kaguya (SELENE) and LRO data reach "the ~0.2 second level" 1. The Photographer's Ephemeris (Photo Ephemeris) puts the extreme at about 15 s 2.
  • The solar radius is the second. Raising the radius from Auwers' 959.63 arcseconds to about 960 arcseconds shortened predicted 2017 central line totality from 130 s to 128 s and near the southern edge from 34 s to 13 s 3. Flash-spectrum timing of 2013 November 3 found C2 about 1 s late and C3 about 1 s early against 959.63 arcsecond predictions 4.
  • The choice of kk is worth 4 s of totality. For 2017 August 21 in Illinois, k=0.272281k = 0.272281 gives 2m40.3s and the IAU k=0.2725076k = 0.2725076 gives 2m44.3s 5.
  • ΔT\Delta T error maps one-to-one into UT contact times, plus a longitude shift of 1.002738δT1.002738\,\delta T. Jubier states the extrapolated value "should be good to better than 0.5 seconds" for near-term eclipses 6.
  • Height and refraction matter only near the path edge and near the horizon. NASA: elevation "does not play a significant role in the predictions unless the location is near the umbral path limits and the Sun's altitude is relatively small" 7. The 1961 Supplement gives the derivative of contact time with respect to height in closed form 8.
  • Baily's beads at a site are the limb correction evaluated at every position angle. Move the solar limb radially against the profile until it is tangent to the lowest valley or highest peak, and the time offset is the bead event. This is Herald's 1983 procedure, which NASA says "may be used for predicting the formation and location of Baily's beads" 9. Solar Eclipse Maestro, Occult and The Photographer's Ephemeris implement it 10 11 12.
  • Only the closed programs apply any of these corrections. Jubier's calculator and Solar Eclipse Maestro, Occult, Eclipse Orchestrator, Bill Kramer's calculator and Photo Ephemeris do. NASA's JavaScript Solar Eclipse Explorer (JSEX), Stellarium, Swiss Ephemeris, Eclipse-Engine and the GitHub reimplementations compute a smooth Moon with no refraction 13 14 15.

The question. The smooth-Moon Besselian or topocentric reduction is exact for its inputs. Which physical effects left out of those inputs move the contact times at an observer, and by how many seconds each? How are the limb-profile correction and the resulting sequence of Baily's beads computed at one site? What do the publicly readable implementations actually do about each effect?

Corrections, one at a time

Lunar limb profile

Every reduction in contact-times-and-magnitude.md uses a mean lunar radius kk. The real limb at the contact position angle is higher or lower than that mean. NASA's bulletin text defines the correction: "For any given position angle, there will be a high mountain (annular eclipses) or a low valley (total eclipses) in the vicinity that ultimately determines the true instant of contact. The difference, in time, between the Sun's position when tangent to the contact point on the mean limb and tangent to the highest mountain (annular) or lowest valley (total) at actual contact is the desired correction to the predicted contact time" 9. The bulletins plot "curves of corrections to the times of second and third contact for most position angles". The observer reads them at the PP of each contact. The 1998 Maracaibo example is "C2 = -2.5 seconds" and "C3 = -1.0 seconds" 9.

Magnitudes: "The correction of eclipse predictions using Watts limb data results in agreement between predicted and observed contact times and durations to better than 0.5 seconds. Without the corrections, the times and durations may be in error by as much as 2 to 3 seconds (and more near the path limits where the geometry is far more critical)", and with Kaguya and LRO "these data can be used to improve the precision of eclipse contact times and durations to the ~0.2 second level of accuracy" 1 16. The Photographer's Ephemeris, which does not apply the correction, states the range as "typically affects the timing of C2 and C3 by a few seconds, but up to ~15 s in extreme cases" 2. Jubier's calculator says the correction "can produce a few seconds time difference on the start and end of totality or annularity" 6. A repository that reports both corrected and uncorrected values for 2027 gives 1 to 3 s in duration and 1 to 2 km in path position 17. The 2013 November 3 timing paper notes a sampling effect inside the correction itself: a limb profile at 0.2 degree spacing "could produce errors up to 0.25 seconds" in a contact time, against 0.03 s at 0.02 degrees 4.

The local computation, once the topocentric libration and the profile h(ψ)h(\psi) in arcseconds relative to the datum are in hand, is this. At the contact position angle ψc\psi_c the solar limb approaches the mean lunar limb radially at the rate ṙ(ψ)=nrelcos(ψψn)\dot r(\psi) = n_\mathrm{rel}\cos(\psi - \psi_n). Here nreln_\mathrm{rel} is the relative angular speed of the two centres in arcseconds per second and ψn\psi_n the position angle of the relative motion. The time correction at any limb point is then Δt(ψ)=h(ψ)/ṙ(ψ)\Delta t(\psi) = h(\psi)/\dot r(\psi) with the sign that brings the true limb earlier for a valley at C2 and later at C3. The corrected contact is the extreme of tmean(ψ)+Δt(ψ)t_\mathrm{mean}(\psi) + \Delta t(\psi) over a neighbourhood of ψc\psi_c: the last point of the photosphere to disappear at C2 sits in the deepest valley near ψc\psi_c, not exactly at ψc\psi_c. That is the analytical form of the graphical overlay procedure and is the author's restatement, not a quotation. The sources describe the procedure in words and pictures 9 10. The datum matters. Watts heights refer to a slightly elliptical reference "with center displacement from the Moon's center of mass" 9. Solar Eclipse Maestro plots LRO heights against the IAU mean radius k=0.2725076k = 0.2725076 (1738.091 km) and draws the reduced radius k2k_2 used for the uncorrected contacts as a separate line 10. The profile datasets themselves are the subject of Datasets: Watts, Kaguya, LOLA.

Solar radius

The measured values and their provenance are in Solar radius values and their provenance. This section keeps the sizes the local stage owns.

L1L_1 and L2L_2 contain the solar radius through f1f_1 and f2f_2. NASA's elements use 696,000 km, "calculated from arctan of IAU 1976 solar radius (959.63 arcsec at 1 au)" in Stellarium's paraphrase of the convention 18. The Besselian Elements team's test on the 2017 path: "On a location on the centreline, the duration of totality drops from 130s to 128s" and "for a location very near the southern edge of the eclipse path, the duration of totality goes from 34s to 13s" when the radius goes from 959.63 to about 960 arcseconds 3. That southern-edge case is the Vale, Oregon site of the 2017 eclipse, given more precisely as 32.6 s falling to 13.3 s in observed against predicted, which is the home page for the observed cases. Their 2013 November 3 flash-spectrum timing found "the measured time of second contact is around 1 second later than predicted" and "third contact is around 1 second earlier", with a compatible radius "in the range 959.90 to 960.00 arcsec" 4. At Stephenville, Texas, on 2024 April 8, near the edge, the observed totality was 13.7 s, John Irwin's prediction gave 12.9 s, and other published sources "often" differed by "several tens of seconds" 19. Pasachoff, Jubier and Wright add that the IAU 2015 conversion factor of 959.22 arcseconds "would be even longer, up to two seconds longer, than with the IAU 1976 value, which gives a duration that is already far too long", and propose 959.98 plus or minus 0.02 arcseconds 20. The Photo Ephemeris bead simulator defaults to 959.95 arcseconds and found 960.01 arcseconds the best match to a 2023 annular video 12. Every one of these numbers moves the interior contacts by about one second per 0.3 arcseconds on the central line and by much more near the edge.

The lunar radius kk

The full history of the two values is in Besselian elements. This section keeps what the choice costs at one observer.

Espenak's history: k=0.2724880k = 0.2724880 (USNO 1968 to 1980) for penumbral contacts and annular eclipses, k=0.272281k = 0.272281 "reserved exclusively for umbral (i.e., interior) contact calculations of total eclipses", and k=0.2725076k = 0.2725076 adopted by the IAU in 1982 and "currently used by USNO for all solar eclipse predictions" (the Astronomical Almanac; the USNO online computer uses 1737.4 km, as the direct topocentric method records). The smaller value "produces shorter central durations and narrower paths for total eclipses" and the 2017 Illinois example ranges from 2m40.3s to 2m44.3s 5. The Five Millennium Canon, NASA/TP-2006-214141, and the NASA element pages use 0.272281 for all umbral and antumbral contacts and 0.2724880 for penumbral contacts. The 1998 bulletin uses 0.272281 and 0.2725076, as do EclipseWise and the later bulletins 21 22. The reduced kk is an empirical stand-in for the limb valleys. Once a real limb profile is applied, the mean IAU radius is the right datum, and Solar Eclipse Maestro displays both for that reason 10.

ΔT\Delta T

Times computed in Terrestrial Time (TT)Terrestrial 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. are converted to UT by subtracting ΔT\Delta T, and the observer's longitude is shifted to the ephemeris longitude by 1.002738ΔT1.002738\,\Delta T 8. An error δT\delta T in ΔT\Delta T therefore shifts every reported UT by δT\delta T directly and moves the site by 1.002738δT1.002738\,\delta T in longitude, which changes the contacts by a second-order amount through ξ\xi and η\eta. The 1961 Supplement handles the second part with its differential corrections: set "δλ=1.002738δT\delta\lambda = 1.002738\,\delta T, δϕ=δH=0\delta\phi = \delta H = 0" and apply the t/λ\partial t/\partial\lambda coefficients 8. The Five Millennium Canon states that the ephemeris truncation error in eclipse phase times is "of the order of 1/40 s, which is considerably smaller than the uncertainties in predicted values of ΔT\Delta T" 21. Jubier: "It is not possible to predict the exact value of ΔT\Delta T in advance, although the extrapolated value should be good to better than 0.5 seconds" 6. The Photographer's Ephemeris updates the ΔT\Delta T inside NASA's element files case by case from USNO deltat.data and deltat.preds 2. Stellarium's export notes that "Local circumstances for eclipses during thousands of years in the past and future are not reliable due to uncertainty in ΔT\Delta T" 14.

Observer height

Height enters through ρsinϕ\rho\sin\phi' and ρcosϕ\rho\cos\phi'. The 1961 Supplement gives the derivative of an exterior contact time with respect to height as

r=uA3+vB3Da,A3=ξ,B3=η (sufficient approximations),r = \frac{u A_3 + v B_3}{D\,a}, \qquad A_3 = \xi, \quad B_3 = \eta \text{ (sufficient approximations)},

in hours per metre with aa the equatorial radius in metres, and the corresponding coefficients rmr_m for maximum and rsr_s for the semi-duration 8. NASA's tables state that "the elevation does not play a significant role in the predictions unless the location is near the umbral path limits and the Sun's altitude is relatively small (<10°)" 7. Geometrically the effect is a displacement of the observer by hh along the vertical, whose component across the shadow axis is hsinzh\sin z with zz the zenith distance of the Sun. The 2017 poster describes the ground-level consequence: "accounting for Earth terrain tends to shift the shape toward the Sun's azimuth by approximately hcot(a)h\cot(a)" 20. For a central line observer the duration change is second order. For an observer near the edge, where the umbral polygon side is only tens of metres away, a kilometre of height at a 30 degree Sun is a 1.7 km shift. That can make the difference between a short totality and none, the case the Stephenville comparison illustrates 19. Bill Kramer's calculator adds horizon dip above 100 m to the altitude 23. Solar Eclipse Maestro asks for the site to about 200 m 24.

Refraction

Refraction raises both discs and, near the horizon, flattens them differently because the differential refraction across the two discs differs with their altitudes. NASA's local circumstances exclude it: "The effects of refraction have not been included in these calculations" 7. Jubier's calculator "does not account for atmospheric refraction, which makes a difference if the eclipse occurs close to sunrise or sunset (a good example of this was the midnight Sun eclipse in Antarctica on November 23, 2003)" 6. Solar Eclipse Maestro lists refraction as supported 24. The Photographer's Ephemeris corrects the altitude "using the US Standard Atmosphere model, but the apparent limb shape of each body remains circular" 2. Bill Kramer's calculator applies refraction "using averaged temperatures and barometric pressures" with altitude-dependent approximations 23. Swiss Ephemeris and USNO refract only the reported altitude 15 25. The JSEX authors left a note on what a correct treatment requires: a different virtual observer position for each contact 13. No source read for this note quantifies the contact-time effect of refraction in seconds. That is a negative finding: the searches on refraction and eclipse contact timing returned only qualitative statements and the sunrise-eclipse examples. A derived bound, for the exterior contacts at low Sun altitudes and for the interior contacts, is in Refraction, light-time and frames.

Centre of figure versus centre of mass

The Five Millennium Canon: "The center of figure of the Moon does not coincide exactly with its center of mass. To compensate for this property in their eclipse predictions, many of the national institutes employ an empirical correction to the center of mass position of the Moon. This correction is typically +0.50 arcsec in longitude and -0.25 arcsec in latitude. Unfortunately, the large variation in lunar libration from one eclipse to the next minimizes the effectiveness of the empirical correction. The authors have chosen to ignore this convention and have performed all calculations using the Moon's center of mass position" 21. The NASA bulletins say the same 26. Bill Kramer's calculator applies it only implicitly, "when the lunar limb corrections are incorporated the actual observed center of figure is determined and used" 23. Since the Sun and Moon separate at about 0.5 arcseconds per second of time during an eclipse, a 0.5 arcsecond offset along the direction of motion is about 1 s in a contact time. That rate and conversion are the author's arithmetic from the synodic motion, not a quotation. A limb profile referenced to the centre of mass, as the LOLA-based profiles are, absorbs the offset, so the empirical correction and a modern limb correction must not both be applied.

Ephemeris

The Canon's truncated ELP series introduces "about 0.0006 s of time in right ascension, and about 0.006 arcsec in declination", hence 1/40 s in phase times 21. NASA's older bulletins used DE200/LE200 22 26. sunpy warns that astropy's built-in Moon is "appreciably inaccurate" without a JPL ephemeris 27. Between modern JPL ephemerides the difference is below 0.1 s in contact times. The 2024 Stephenville comparison nevertheless shows published predictions spread by tens of seconds at an edge site. The authors attribute the spread to the radius and limb treatment rather than the ephemeris 19.

Summary of magnitudes

The full ranked budget is in error budget and validation protocol. This table keeps the rows the local-circumstances stage owns.

Effect Where it enters Typical size at an observer Source
Lunar limb profile kk replaced by h(ψ)h(\psi) at the contact 2 to 3 s uncorrected, more near limits; 0.5 s with Watts; 0.2 s with Kaguya/LRO; up to 15 s extreme 1 2
Solar radius f1f_1, f2f_2, hence L1L_1, L2L_2 about 1 s per contact on the central line for 0.3 arcseconds, 2 s of duration, 21 s near the edge 3 4
kk choice L2L_2 4 s of duration (2017 Illinois) 5
ΔT\Delta T UT conversion and θ\theta equal to the ΔT\Delta T error; below 0.5 s for near-term extrapolation 6 8
Observer height ρsinϕ\rho\sin\phi', ρcosϕ\rho\cos\phi' negligible on the central line; seconds near the edge at low Sun 7 8
Refraction Apparent positions of both discs unquantified in the sources read for this note, and bounded by derivation in Refraction, light-time and frames 6 2
Centre of figure Moon's position 0.5 arcseconds, about 1 s if applied along the motion, absorbed by a centre-of-mass limb profile 21
Ephemeris truncation xx, yy 1/40 s 21

Baily's beads at the observer

The bead sequence at a site is the limb correction computed at every position angle rather than only at ψc\psi_c. Herald's 1983 procedure, as NASA describes it: "For a given position angle, the solar limb overlay is moved radially from the mean lunar limb contact point until it is tangent to the lowest lunar profile feature in the vicinity ... This operation may be used for predicting the formation and location of Baily's beads" 9. Around second contact each valley near ψc\psi_c admits photospheric light until the solar limb, which is receding behind the Moon at rate ṙ(ψ)\dot r(\psi), drops below the valley floor. The disappearance time of the bead in valley ii is ti=tmean(ψi)+h(ψi)/ṙ(ψi)t_i = t_\mathrm{mean}(\psi_i) + h(\psi_i)/\dot r(\psi_i) and the beads vanish in order of increasing tit_i, the last one being the corrected C2. Around third contact the sequence runs in reverse. The photosphere's own limb-darkening profile and the chosen solar radius shift every tit_i together. That common shift is what makes bead timings a measurement of the solar radius, as Effect of the radius on eclipse products sets out 4 12.

The 2017 DPS poster gives the global picture of the same computation: "The limb of the Moon produces a polygonal umbra shape on the Earth's surface. Each side of the polygon corresponds to a single valley on the lunar limb, either the last valley admitting photospheric light prior to second contact, or the first valley admitting sunlight just after third contact. Here, with 18,000 points equally spaced in position angle around the limb, the umbra is determined by just 49 points ... Observers at a particular edge, where two umbra polygon sides meet, see a first or last Baily's bead in the corresponding valley on the lunar limb" 20. Zeiler's double diamond ring page uses the same polygon: "each of these chords represent the influence of a single Baily's Bead", and an observer at a vertex between two chords sees two last beads at once 28.

Implementations:

  • Solar Eclipse Maestro (Jubier, macOS). The Baily's Beads Study window "displays a graph of the LRO lunar limb profile and the Sun in the background as seen from the observer's current location at either second or third contact and maximum eclipse", with a time slider. "The mauve limb is LRO. The brown dotted line charts the reduced mean lunar radius k2k_2, usually used to compute the uncorrected second and third contacts ... The blue dotted line is the mean radius used for the data of the LRO and Kaguya probes. The vertical axis unit is arc-seconds and the unit of the position angle of axis on the horizontal axis is degrees." Uncorrected contacts are labelled C2 and C3, corrected ones C2' and C3', the solar limb is drawn at each, and a click returns the position angle of axis and the height relative to k=0.2725076k = 0.2725076 (1738.091 km). The profile for the current topocentric libration can be exported as text 10. The program lists "refraction, lunar limb profile effects, and ΔT\Delta T correction supported", "UTC event times for subsecond accuracy" and "lunar limb corrections and Baily's beads simulation" 24. Its Google Maps front end gives durations "both with and without limb profiles incorporated" 20.
  • Occult (Herald, Windows, C#). The RASNZ software list states that Occult can "predict solar and lunar eclipses for any date (includes: plot maps and compute local circumstances for solar eclipses)" and "compute Baily's bead predictions (Windows version only)" 11. Herald reduced the Kaguya altimetry into the limb profiles that Zeiler and Jubier used for the 2017 double diamond ring predictions 28. The Occult program page itself lists eclipses among its phenomena without method detail 29. Occult's help text was not obtained. The Windows help is inside the installer.
  • Photo Ephemeris simulates beads with Kaguya (SELENE) and Herald profiles and a default solar radius of 959.95 arcseconds, and publishes frame-by-frame comparisons with eclipse video, for example beads captured "3.2 seconds before C2 and 2.7 seconds before C3" at Kirtland, New Mexico 12. Its contact times, by contrast, remain smooth-Moon 2.
  • Bill Kramer's calculator optionally applies "Watts Lunar Limb Profile data or Kaguya/Herald laser altimeter data" and claims "for the majority of eclipses the deviation is less than a second in totality duration time" 23.
  • Jubier's web calculator (2007) applies a limb correction "LC" to C2 and C3 when online, and otherwise refers the user to a per-eclipse correction diagram read at the contact's PP 6.

Public code that computes local circumstances

Code Language, licence Method Elements Observer kk, solar radius Corrections Read
NASA JSEX program.js 13 JavaScript, GPL Besselian, 1961 formulas, Newton iteration Five Millennium Canon files with ΔT\Delta T 0.996647190.99664719, 6378140 m, height in metres Inside elements (Canon: 0.2724880 / 0.272281, 696000 km) None, with a 0.3-0.3^{\circ} horizon threshold Full source
Xavier Jubier, Solar Eclipse Calculator 6 JavaScript (obfuscated on site) Meeus Elements algorithms Espenak's elements Lat, lon, altitude As NASA Limb correction LC from Espenak's data; no refraction Instructions page only; the host refuses automated fetches
Chris O'Byrne, Eclipse Calculator (2003) JavaScript Predecessor of JSEX Not retrievable; host is a parking page, Wayback snapshot holds assets only
Swiss Ephemeris swecl.c 15 C, AGPL/commercial Topocentric separation, parabolic bracketing JPL or Moshier ephemeris swe_set_topo with height 1738.15 km scaled by 0.99916 inside; 696000 km Refraction on altitude only; horizon dip Full source
Stellarium 18 14 C++, GPL Besselian elements computed on the fly, 1961 formulas Own ephemeris (DE or VSOP/ELP) Site rectangular coordinates with height 0.2725076 / 0.272281, 109.12278 Earth radii None Full source
Eclipse-Engine, js/besselian.js 30 JavaScript, AGPL-3.0, Node 22 Besselian, grid plus bisection, golden section NASA elements JSON NN, e2e^2, height / 6378.1366 km Inside elements None in contacts; terrain skyline and horizon separately Source read
aravpanwar/besselian 17 Python Besselian NASA elements, ΔT\Delta T = 76.0 s for 2027 k1k_1 = 0.272488, k2k_2 = 0.272281 Reports limb effect 1 to 3 s README only
SR123/eclipse-2026, eclipse.js 31 JavaScript Besselian, Meeus form NASA 2026 Aug 12 elements, ΔT\Delta T = 71.4 s 0.996647190.99664719, no height Inside elements None Source read
sPaMFouR/SolarEclipse 32 Python, astropy and astroplan Topocentric (inferred from dependencies) JPL via astropy EarthLocation Not stated Not stated README only
umbra-rs 33 Rust Besselian, planned README; local circumstances not implemented
sunpy eclipse_amount 27 Python, BSD Topocentric obscuration only JPL via astropy SkyCoord observer 0.2725076 or 0.272281 Light time Docs
libnova 34 C, LGPL No eclipse module Source tree listed: solar.c, lunar.c, parallax.c, refraction.c, no eclipse file
timeanddate 35 36 Closed Own engine; accuracy page cites ΔT\Delta T and 1 to 2 km limb-limited edges Accuracy page reported secondhand; engine paper abstract
The Photographer's Ephemeris 2 Closed Meeus Elements, Astronomical Almanac 2023, ES 2013 NASA elements, ΔT\Delta T updated from USNO SRTM3/ASTER elevation As NASA Refraction on altitude, smooth Moon for contacts, beads simulated separately Technical note
Bill Kramer, eclipse-chasers 23 Closed Besselian with DE200/LE200 elements Elevation with horizon dip Refraction, Watts or Kaguya limb, centre of figure via limb Details page

Negative findings from the GitHub searches run for this note: no Go implementation of local circumstances was found, and the single Rust project found has not implemented them 33. No general library applies a limb correction from a LOLA or Kaguya (SELENE) profile. Two single-eclipse repositories and one npm package do, and the inventory is in GitHub repositories. The limb-aware general-purpose programs are Occult, Solar Eclipse Maestro, Photo Ephemeris and Kramer's calculator, all closed, and the open codes stop at the smooth Moon.

Sources compared

Source Limb correction size Solar radius effect Height Refraction Centre of figure
NASA limb help and RP 1383 1 9 2 to 3 s uncorrected, 0.5 s Watts, 0.2 s Kaguya/LRO, example C2 -2.5 s, C3 -1.0 s Not treated Not treated Not applied Not applied
Explanatory Supplement 1961 8 Not treated Not treated Closed-form derivative per metre Not treated Not treated
Five Millennium Canon 21 "much smaller than" limb error is the ephemeris Fixed by kk pair Not treated Not treated +0.50″ / −0.25″ convention stated and rejected
Besselian Elements team 3 4 19 0.25 s from profile sampling 2 s central line, 21 s edge; 1 s per contact in 2013 Implicit in edge tests Not treated Not treated
Jubier calculator and Maestro 6 24 "a few seconds" 959.98″ proposed Site to 200 m Supported in Maestro, absent in calculator Not stated
Photo Ephemeris 2 12 "a few seconds, up to ~15 s" 959.95 default, 960.01 best fit DEM elevation Altitude only Not stated

What a developer should do

Treat the smooth-Moon contact times as the datum and apply corrections in this order, each as a separately reported term. First the solar radius, chosen explicitly: 959.63 arcseconds for NASA compatibility, 959.95 to 960.0 arcseconds for observational agreement, the two modes decided in Solar radius values and their provenance. Then k=0.2725076k = 0.2725076 as the datum for a real limb profile. Then the limb correction at C2 and C3 from the profile at the topocentric libration. Then ΔT\Delta T from USNO's current file rather than the value frozen in an element file. Then height. Do not apply the +0.50 / −0.25 arcsecond centre-of-figure convention together with a centre-of-mass limb profile. Report refraction as unmodelled unless the Sun is below 10 degrees, and then flag the result. For beads, evaluate the limb correction at every 0.02 degrees of position angle, following the 2013 analysis' finding that 0.2 degree sampling costs 0.25 s 4. Read first: NASA's limb help page, the RP 1383 limb section with the Maracaibo example, the Besselian Elements solar-radius post, and the Solar Eclipse Maestro beads window description.

What this changes

It fixes the interface between the local-circumstances stage and the limb-profile stage. For each interior contact the local stage must export the time, the position angle PP of the contact, the position angle and speed of the relative motion, and the topocentric libration. Those are exactly the inputs the limb correction and the bead sequence consume. It also settles that the solar radius must be a run-time parameter of the element generator, not a constant.

Open questions

  • Obtain a quantitative statement, or compute one, of the effect of standard refraction on C1 to C4 at Sun altitudes of 1, 3 and 10 degrees. No source read gives seconds.
  • Obtain Occult's help text on its Baily's beads and "limb-corrected predictions" features, which lives inside the Windows installer, and record the profile datum and solar radius it uses 11.
  • Obtain Herald (1983), the graphical procedure NASA cites, to confirm the tangent-overlay definition of the correction and its sign convention 9.
  • The "LC" column of Jubier's web calculator is answered by the client code read in commercial and institutional tools, which shows a server call that chooses Watts charts when the libration in latitude exceeds 1.6 degrees in absolute value and Kaguya (SELENE) otherwise. What remains to obtain is the server-side computation and the ephemeris behind it 6.
  • Confirm timeanddate's accuracy page against the page itself rather than a secondary report, and record the ΔT\Delta T source and the solar radius it names 35.

References

  1. 1primary Fred Espenak, NASA GSFC, "The Lunar Limb Profile and Eclipse Predictions" Read. Watts corrections bring predictions to better than 0.5 s, uncorrected times can be off by 2 to 3 s and more near the path limits, Kaguya and LRO data reach about 0.2 s.
  2. 2company Crookneck Consulting, "Technical Note: Solar Eclipse Functionality" (The Photographer's Ephemeris) Read. Method from Meeus Elements, the Astronomical Almanac 2023 and the 3rd edition Explanatory Supplement; Espenak's NASA elements; Delta T from Meeus Table 10.A, USNO deltat.data and deltat.preds and the NASA polynomial; smooth Moon with limb effects "typically a few seconds, up to about 15 s"; refraction applied to altitude with circular limbs; SRTM/ASTER elevation.
  3. 3trade Besselian Elements team (Luca Quaglia, John Irwin and others), "The solar radius and its impact on eclipse computations" Read. For 2017 August 21 at the Oregon/Idaho border, moving from 959.63 to about 960 arcsec shortens centreline totality from 130 s to 128 s and near the southern edge from 34 s to 13 s.
  4. 4trade Luca Quaglia, Konstantinos Emmanouilidis and John Irwin, "Timing of the internal contacts of the 2013 Nov 03 total solar eclipse by flash spectrum analysis" (Besselian Elements) Read. Observed C2 about 1 s later and C3 about 1 s earlier than predicted with 959.63 arcsec, duration about 2 s shorter; limb-profile sampling of 0.2 degrees can move a contact by 0.25 s; compatible radius 959.90 to 960.00 arcsec.
  5. 5company Fred Espenak, "Solar Eclipse Predictions and the Mean Lunar Radius" (EclipseWise) Read. Gives k = 0.2724880 (USNO 1968-1980, penumbral and annular), k = 0.272281 (umbral contacts of total eclipses), k = 0.2725076 (IAU 1982), and the 2017 Illinois example 2m40.3s versus 2m44.3s.
  6. 6company Xavier Jubier, "Solar Eclipse Calculator and Diagram Instructions" (v1.0.6, 2007) Read (curl, var/downloads/jubier_calc_instr.html; the host refused the fetch tool). Defines P, V as o'clock, LC limb correction applied to C2 and C3, umbral depth, says refraction is not modelled, limb corrections change C2/C3 by a few seconds, extrapolated Delta T good to better than 0.5 s, and credits Meeus (Elements, Astronomical Algorithms) and Espenak for elements and limb data.
  7. 7primary 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.
  8. 8peer-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.
  9. 9primary Fred Espenak and Jay Anderson, NASA RP 1383 "Total Solar Eclipse of 1998 February 26", section "Lunar Limb Profile" Read. Describes the contact-time correction as the time between the Sun tangent to the mean limb and tangent to the lowest valley (total) or highest peak (annular) at the contact position angle, gives the Maracaibo example C2 = -2.5 s and C3 = -1.0 s, cites Herald (1983) and says the same operation predicts Baily's beads.
  10. 10company Xavier Jubier, Solar Eclipse Maestro Help, "Baily's Beads Study Window" Read (curl). LRO limb profile against the Sun's limb at C2, C3 and maximum; horizontal axis position angle of axis in degrees, vertical axis arcseconds relative to k = 0.2725076 (1738.091 km); C2/C3 uncorrected and C2'/C3' corrected; the brown line is the reduced radius k2 used for uncorrected contacts.
  11. 11trade RASNZ Occultation Section, "Software" Read. States that Occult predicts solar eclipses, plots maps, computes local circumstances and computes Baily's bead predictions (Windows only).
  12. 12company Crookneck Consulting, "Verification of Baily's Beads Simulation" (The Photographer's Ephemeris) Read. Kaguya/Herald limb data; default solar radius 959.95 arcsec; 960.01 arcsec (Guhl 2023) gave the best match for the 2023 annular eclipse video beads.
  13. 13primary 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.
  14. 14company Stellarium, src/gui/AstroCalcDialog.cpp, function localSolarEclipse Read (var/downloads/stellarium_AstroCalcDialog.cpp, lines 3379-3445). Observer-level circumstances from the on-the-fly elements: xi, eta, zeta, u, v, the auxiliary angle, the time correction dt = L cos(psi)/n - (u u' + v v')/n^2, magnitude and altitude.
  15. 15company 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.
  16. 16company Fred Espenak, "Lunar Limb Profile and Eclipse Predictions" (EclipseWise) Read. Same correction magnitudes as the NASA help page, with Kaguya and LRO named as the newer sources.
  17. 17company aravpanwar, "besselian: Solar eclipse local circumstances from Besselian elements, intersected with populated places" README read. Python; k1 = 0.272488 and k2 = 0.272281; Delta T = 76.0 s for 2027; validated greatest-eclipse altitude 81.69 versus 81.7 degrees and duration 382.5 s; notes limb adjustments of 1 to 3 s and 1 to 2 km.
  18. 18company Stellarium, src/core/modules/SolarEclipseComputer.cpp Read (var/downloads/stellarium_SolarEclipseComputer.cpp). Computes Besselian elements on the fly from the geocentric apparent Sun and Moon with k = 0.2725076, s = 0.272281, Sun/Earth radius ratio 109.12278, and derivatives by +/-5 minute finite differences. Cites the 1961 Explanatory Supplement.
  19. 19trade Besselian Elements team, "Experimentally Testing Eclipse Maps Accuracy" (2024 April 8, Stephenville, Texas) Read. Observed C2 18:39:06.6 and C3 18:39:20.3 UTC, 13.7 s; Irwin's prediction 18:39:06.1 and 18:39:19.0 agreed within uncertainty while other published sources differed by tens of seconds at this near-edge site.
  20. 20preprint Jay M. Pasachoff, Xavier M. Jubier and Ernest T. Wright, "Syzygy Information: Lunar Limb Profiles at Total Solar Eclipses", DPS poster 417.17 (2017) Read (PDF via archive, var/downloads/jubier_poster.txt). States that the umbra outline is a polygon whose sides correspond to single limb valleys, that 18000 limb points reduce to 49 vertices for 2017 August 21 18:00 UTC, that terrain shifts the outline by about h cot(a), that the IAU 2015 radius would lengthen totality by up to 2 s, and proposes 959.98 +/- 0.02 arcsec as the photospheric radius.
  21. 21primary Fred Espenak and Jean Meeus, NASA TP 2009-214174 "Five Millennium Catalog of Solar Eclipses: -1999 to +3000", introductory text Read from the extracted PDF text (var/downloads/TP2009-214174.txt). Gives the centre-of-figure convention (+0.50 arcsec longitude, -0.25 arcsec latitude, not applied by the authors), the k history and the statement that ephemeris truncation errors are of order 1/40 s in eclipse phase times.
  22. 22primary Fred Espenak and Jay Anderson, NASA RP 1383 "Total Solar Eclipse of 1998 February 26", section "Algorithms, Ephemerides and Parameters" Read. States DE200/LE200, Delta T = 63.4 s, k = 0.2722810 for umbral contacts and k = 0.2725076 for penumbral contacts.
  23. 23trade Bill Kramer, "Calculator Details" (eclipse-chasers.com) Read. DE200/LE200 centre-of-mass elements, refraction from tabulated standard atmospheres, horizon dip above 100 m, optional Watts or Kaguya/Herald limb corrections, deviation under 1 s in duration for most eclipses.
  24. 24company Xavier Jubier, Solar Eclipse Maestro Help, "What Is Solar Eclipse Maestro?" Read (curl). Lists refraction, lunar limb profile effects and Delta T correction as supported, UTC event times to sub-second, limb corrections and Baily's beads simulation, and the requirement to know the site to about 200 m and the clock to 0.5 s.
  25. 25primary 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.
  26. 26primary Fred Espenak, NASA GSFC, "Explanation of Solar Eclipse Predictions" (NASA eclipse bulletins reference) Read. States DE200/LE200, centre-of-mass positions with no centre-of-figure, limb or refraction corrections, and the magnitude versus obscuration definitions.
  27. 27company sunpy documentation, sunpy.coordinates.sun.eclipse_amount Read. Obscuration from an observer SkyCoord with a constant lunar radius, moon_radius='IAU' (0.2725076) or 'minimum' (0.272281), light-time included, JPL ephemeris recommended.
  28. 28company Michael Zeiler, "Double Diamond Ring" (Great American Eclipse) Read. Kaguya-derived limb profiles from Herald, processed with Jubier's Solar Eclipse Maestro; each chord of the umbral polygon is one Baily's bead and a vertex between chords is where a double diamond ring is seen.
  29. 29company David Herald, "Occult v4" program page Read (curl). Lists solar and lunar eclipses among the phenomena Occult predicts and analyses. No method detail on the page.
  30. 30company R. Herrera Alegría, "Eclipse-Engine" (eclipseradar.com engine), js/besselian.js README and js/besselian.js read (var/downloads/eclipse_engine_besselian.js). Observer from the geodetic latitude with N = 1/sqrt(1 - e^2 sin^2), height in units of 6378.1366 km, hour angle mu + lambda - 1.002738 Delta T, two-circle lens obscuration, NASA two-branch magnitude, golden-section for maximum and bisection for contacts on m - L1 and m - |L2|.
  31. 31company SR123, "eclipse-2026" interactive simulator, eclipse.js README and eclipse.js read (var/downloads/sr123_eclipse.js). NASA elements for 2026 August 12 with Delta T = 71.4 s, rho sin/cos phi' with 0.99664719 and no height, lens-area obscuration, NASA two-branch magnitude. Cross-checked against NASA and timeanddate by its author.
  32. 32unsourced sPaMFouR, "SolarEclipse: Python script to aid with simulating local circumstances" README read. astropy and astroplan based. No method statement.
  33. 33unsourced RyuuNeko1107, "umbra-rs: experimental pure-Rust solar eclipse prediction engine" README read. Work in progress at milestone 1, crates unpublished, local circumstances not yet implemented.
  34. 34company libnova source tree, src/ (JohannesBuchner mirror) File list read through the GitHub API. Contains solar.c, lunar.c, parallax.c, refraction.c and angular_separation.c but no eclipse module.
  35. 35company timeanddate.com, "How accurate are our eclipse calculations?" Read via search summary. Delta T uncertainty dominates far from the present, path edges limited to 1 to 2 km by the lunar limb profile.
  36. 36preprint Graham Jones, Renate Mauland-Hus, Frank Thomas Tveter, Anne Buckle and others (timeanddate), "The Frequency of Solar Eclipses for a Given Place: A New Approach to a Classic Question", arXiv:2602.04797 Read the abstract only. The timeanddate team's own eclipse engine applied to site frequency statistics.