Computing Solar Eclipses — Research

Types and classification

workingupdated 2026-09-15eclipse-typesgammahybridnon-centralmagnitudegreatest-eclipse
  • Four types, one geometric rule. Partial: the penumbra touches Earth but the umbra and antumbra miss. Annular: the antumbra crosses Earth. Total: the umbra crosses Earth. Hybrid: both do along different parts of one path 1.
  • Central means |γ|<0.997|\gamma| < 0.997. "If gamma is between +0.997 and −0.997, the eclipse is a central one. ... The limiting value 0.997 differs from unity because of the flattening of Earth." Meeus's series uses 0.9972 1 2.
  • Total versus annular is the sign of the umbral radius. In Meeus's units u<0u < 0 is total and u>0.0047u > 0.0047 is annular. Between, ω=0.004641γ2\omega = 0.00464\sqrt{1-\gamma^2} decides hybrid. In Astronomy Engine the umbral radius at the geoid must exceed 0.014 km for total 2 3.
  • Non-central umbral eclipses exist and are rare. 94 of 7,698 umbral and antumbral eclipses in the 5000-year catalogue have an axis that misses Earth while one edge of the umbra or antumbra grazes it. Their |γ||\gamma| runs from 0.9972 to 1.0242 in the catalogue 1 4.
  • Hybrids come in three classes. 519 of 569 begin annular, become total and end annular. 24 begin total and end annular (H2). 26 begin annular and end total (H3). No non-central hybrid occurs in five millennia 1.
  • Every catalogue column is defined at one instant. Greatest eclipse is the minimum distance between shadow axis and geocentre. Magnitude, latitude, longitude, altitude, path width and duration are all evaluated there, and for partial eclipses at the surface point nearest the axis, where the Sun's altitude is 0° 1.

The question. What exact inequalities turn a γ\gamma and an umbral radius into "partial", "annular", "total", "hybrid", "central" or "non-central", how often each type occurs, and what does every number in a catalogue row mean and how is it computed? This note collects the definitions from the NASA catalogue, the thresholds from Meeus and from two open implementations, and observed ranges from the catalogue file itself. Enumeration is in Enumerating eclipses.

The four types and the shadow cones

The catalogue's definitions, Section 1.2.8 1:

  1. "P = Partial Solar Eclipse (Moon's penumbral shadow traverses Earth; Moon's umbral and antumbral shadows completely miss Earth)"
  2. "A = Annular Solar Eclipse (Moon's antumbral shadow traverses Earth; Moon is too far from Earth to completely cover the Sun)"
  3. "T = Total Solar Eclipse (Moon's umbral shadow traverses Earth (Moon is close enough to Earth to completely cover the Sun)"
  4. "H = Hybrid Solar Eclipse (Moon's umbral and antumbral shadows traverse different parts of Earth; eclipse appears either total or annular along different sections of its path. Hybrid eclipses are also known as annular-total eclipses.)" This is the hybrid eclipsehybrid eclipseAn eclipse whose central path is total along some sections and annular along others because the umbral vertex lies close to the Earth's surface. Also called annular-total. Most begin and end annular with a total middle. and the catalogue's non-centralnon-central eclipseAn annular or total eclipse in which the shadow axis misses the Earth while one edge of the umbra or antumbra grazes the polar region, producing a track with one limit and no central line. class is defined below.
Partial, annular, total and hybrid eclipsesFour cross-sections side by side, each with the Moon above and the curved surface of the Earth below. In the first the shadow axis passes clear of the Earth and only the penumbra lands, giving a partial eclipse. In the second the Moon is far away, the umbral cone closes to a vertex above the surface, and the widening antumbra reaches the ground, giving an annular eclipse. In the third the Moon is close, the vertex falls below the surface, and the umbra itself reaches the ground, giving a total eclipse. In the fourth a dashed arc marks every point as far from the Moon as the vertex is. The curved surface of the Earth crosses that arc twice. The middle of the surface lies inside the arc, nearer the Moon than the vertex, so the umbra reaches it and the eclipse is total there; beyond the two crossings the surface falls outside the arc, the vertex is short of the ground, and the eclipse is annular.Partialthe axis misses the Earthonly the penumbra landsvertexAnnularvertex short of the surfaceantumbra reaches the groundvertexTotalvertex beyond the surfacethe umbra reaches the groundvertexTAAHybridthe surface crosses thevertex distance: total (T) inside,annular (A) beyondSchematic. The cone angle, the Moon's size and the spread of its distance are exaggerated; the real vertex falls near the surface.

The NASA glossary defines the cones: the umbraumbraThe cone of the Moon's shadow within which the Sun is completely hidden. Where the umbra reaches the ground the eclipse is total. is "the darkest part of the Moon's shadow. From within the umbra, the Sun is completely blocked by the Moon"; the antumbraantumbraThe extension of the Moon's shadow cone beyond its vertex, within which the Moon appears smaller than the Sun. Where the antumbra reaches the ground the eclipse is annular. is "that part of the Moon's shadow that extends beyond the umbra"; the penumbrapenumbraThe outer part of the Moon's shadow within which the Sun is only partly hidden. Any place inside the penumbra sees at least a partial eclipse. is "the weak or pale part of the Moon's shadow" 5. In Besselian elementsBesselian elementsThe time-dependent quantities xx, yy, dd, μ, l1l_1, l2l_2 and the constants tanf1f_1, tanf2f_2 that describe the Moon's shadow relative to the fundamental plane, from which any eclipse circumstance can be computed. the umbral radius on the fundamental planefundamental planeThe plane through the Earth's centre perpendicular to the axis of the Moon's shadow. Its x axis lies in the equator pointing east, its y axis points north, and the shadow's cross-section on it is an exact circle. is l2l_2, negative when the umbral vertex lies above the plane, and the penumbral radius is l1l_1. Whether a given surface point sees the umbra or the antumbra is the sign of the umbral radius projected to that point.

Central and non-central

The catalogue's footnotes to the type codes define the central eclipsecentral eclipseAn annular, total or hybrid eclipse in which the axis of the Moon's shadow crosses the Earth's surface, producing a central line. Most have two path limits, a few grazing cases have only one. and its one-limitone-limit eclipseA central eclipse whose umbral or antumbral shadow partly misses the Earth throughout, so the path has only a northern or only a southern limit. Catalog codes n and s mark these. variant: "A central eclipse is an annular, total or hybrid eclipse in which the central axis of the Moon's shadow traverses Earth, thereby producing a central line in the eclipse track. The paths of most central eclipses have both a northern and southern limit. On rare occasions when the umbral or antumbral shadow grazes Earth, the resulting eclipse track may have only one limit." And: "A non-central eclipse is an annular, total or hybrid eclipse in which the central axis of the Moon's shadow misses Earth, while one edge of the umbra or antumbra grazes Earth producing a ground track with one limit and no central line" 1.

Section 3.1 turns this into three categories for umbral and antumbral eclipses: central with two limits, central with one limit, non-central with one limit. The statistics 1:

Class Annular Total Hybrid
All 3,956 3,173 569
Central, two limits 3,827 (96.7%) 3,121 (98.4%) 569 (100%)
Central, one limit 61 (1.5%) 26 (0.8%) 0
Non-central, one limit 68 (1.7%) 26 (0.8%) 0

"An estimate of the mean frequency of non-central hybrid eclipses is one out of every 600 million eclipses or once every 250 million years (Meeus, 2002a)" 1.

The inequalities

Three sources give the inequalities in three different units. They agree on the geometry.

Meeus, units of Earth's equatorial radius 2. With γ\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. the least distance of the axis from the geocentre and uu the umbral radius in the fundamental plane:

  • central: |γ|<0.9972|\gamma| < 0.9972
  • non-central total or annular: 0.9972<|γ|<0.9972+|u|0.9972 < |\gamma| < 0.9972 + |u| (always inside |γ|<1.0260|\gamma| < 1.0260)
  • partial: 0.9972+|u||γ|1.5433+u0.9972 + |u| \le |\gamma| \le 1.5433 + u
  • no eclipse: |γ|>1.5433+u|\gamma| > 1.5433 + u

Here 0.99720.9972 is the semi-minor axis of the Earth's cross-section for a shadow axis inclined to the equator, expressed in equatorial radii, and 0.5461=(1.54330.9972)0.5461 = (1.5433 - 0.9972) is the mean difference between the penumbral and umbral radii in the fundamental plane. The penumbral radius is u+0.5461u + 0.5461, so the no-eclipse condition is |γ|>0.9972+l1|\gamma| > 0.9972 + l_1: the axis is farther than an Earth radius plus a penumbral radius.

Eclipse classification in the gamma-u planeA plot of the absolute value of gamma against the umbral radius u, both in Earth equatorial radii. A nearly horizontal line at gamma = 1.5433 + u divides no eclipse above from partial below. A horizontal line at gamma = 0.9972 divides partial above from central below, with a very thin wedge between 0.9972 and 0.9972 + the absolute value of u holding the non-central umbral eclipses. The central region is cut vertically at u = 0, with total to the left and annular to the right, and a narrow wedge beside u = 0 bounded by the curve u = 0.00464 times the square root of one minus gamma squared holds the hybrid eclipses. A second, smaller panel on the right repeats the non-central wedge on a stretched gamma axis running from 0.990 to 1.030.0.00.51.01.5-0.02-0.010+0.01+0.02no eclipse|γ| = 1.5433 + upartial|γ| = 0.9972totalu < 0annularu = 0.0047hybridu < 0.00464√(1 − γ²)|γ|u, the umbral radius on the fundamental plane (Earth equatorial radii)Detail: the non-central band0.9972 < |γ| < 0.9972 + |u|0.99721.0172-0.020+0.02upartialnon-centralumbralcentralEvery boundary is one of Meeus's inequalities; nothing else is plotted. u is the umbral radius on the fundamental plane, the same quantity as l₂.

Swiss Ephemeris, astronomical units 6. With r0r_0 the axis distance from the geocentre, ded_e the equatorial radius, cosf1\cos f_1 and cosf2\cos f_2 the cosines of the umbral and penumbral cone half-angles, d0d_0 the umbral diameter and D0D_0 the penumbral diameter on the fundamental plane:

  • central: decosf1r0d_e \cos f_1 \ge r_0
  • non-central: r0decosf1+|d0|/2r_0 \le d_e \cos f_1 + |d_0|/2
  • partial: r0decosf2+D0/2r_0 \le d_e \cos f_2 + D_0/2
  • otherwise no eclipse

The factor cosf1\cos f_1 plays the role of Meeus's 0.9972 and the code omits flattening in this test, though it applies earthobl = 1 - EARTH_OBLATENESS when it intersects the axis with the surface.

Astronomy Engine, kilometres 3. An eclipse exists when shadow.r < shadow.p + EARTH_MEAN_RADIUS_KM with the mean radius 6371.0 km. It is central when the axis intersects the oblate geoid, which GeoidIntersect tests directly. There is no non-central class.

The observed catalogue ranges confirm the thresholds. Parsing the 11,898 rows of the NASA ASCII catalogue: central eclipses (codes without + or −) reach a maximum |γ||\gamma| of 0.9972, non-central eclipses span 0.9972 to 1.0242, the 87 one-limit central eclipses (codes n and s) span 0.9719 to 0.9972, and partial eclipses span 0.9985 to 1.5706 4. The partial minimum 0.9985 exceeding 0.9972 shows the umbra-graze band in practice: between 0.9972 and about 1.024 an eclipse can be either partial or non-central umbral depending on |u||u|.

Total, annular and hybrid

For a central eclipse Meeus's rule is: "if u<0u < 0, the eclipse is total; if u>+0.0047u > +0.0047, the eclipse is annular; if uu is between 0 and +0.0047, the eclipse is either annular or annular-total." The tie-break: compute ω=0.004641γ2\omega = 0.00464\sqrt{1 - \gamma^2} and "if u<ωu < \omega, the eclipse is annular-total; otherwise it is an annular one" 2. The reasoning is that uu is the umbral radius on the fundamental plane through the geocentre, while the surface at the sub-shadow point lies 1γ2\sqrt{1-\gamma^2} Earth radii closer to the Moon, where the umbral radius is smaller by that height times tanf2\tan f_2. The constant 0.00464 is tanf2\tan f_2 for a mean geometry, so ω\omega is the amount by which the umbral radius shrinks between the fundamental plane and the surface. If the umbra is annular at the geocentre plane but total at the surface, the eclipse is hybrid.

Rigorous implementations replace the constant with the actual value along the path. The Swiss Ephemeris evaluates the umbral core diameter at the surface at three instants, maximum, central-line start and central-line end, and flags SE_ECL_ANNULAR_TOTAL when the sign differs between the maximum and either end 6. This also yields the catalogue's three hybrid classes: "Most hybrid eclipses are of class 1 in which the central path begins annular, changes to total, and then reverts back to annular (ATA). In class 2 hybrids, the eclipse begins as total and end as annular (TA). Finally, class 3 hybrid eclipses begin as annular and end as total (AT). ... Asymmetric hybrids always occur when the vertex of the Moon's umbral shadow passes through Earth's fundamental plane during the eclipse." Class 1 occurs in 519 of 569, class 2 in 24 and class 3 in 26. The catalogue lists class 1 as H and the others as H2 and H3 1. Recent examples: ATA 2005 Apr 08 and 2023 Apr 20, AT 2013 Nov 03, TA 1825 Dec 09 1.

Hybrid frequency is not uniform. "Their frequency is modulated by a sinusoidal cycle lasting approximately seventeen centuries. During some periods (e.g., 1001 to 1800 CE), there are 15 to 24 hybrid eclipses per century. At other epochs (e.g., 2201 to 2800 CE), the number of hybrids can drop below 5 eclipses per century" 1.

Astronomy Engine collapses all of this to one test at greatest eclipse, EclipseKindFromUmbra(k) returning total when the umbral radius at the geoid exceeds 0.014 km and annular otherwise, "to match Espenak test data" 3. A hybrid that is total at greatest eclipse therefore reports as total, one that is annular there as annular.

The catalogue codes

The second character of the type field 1 7:

Code Meaning Count in catalogue
m Middle eclipse of Saros series Am 72, Tm 72, Hm 17
n Central eclipse with no northern limit An 36, Tn 14
s Central eclipse with no southern limit As 25, Ts 12
+ Non-central eclipse with no northern limit A+ 34, T+ 9
Non-central eclipse with no southern limit A− 34, T− 17
2 Hybrid path begins total and ends annular H2 24
3 Hybrid path begins annular and ends total H3 26
b Saros series begins Pb 163
e Saros series ends Pe 162

The counts were tallied from the ASCII file 4. "Qualifiers 1 through 5 are used with annular, total or hybrid eclipses but not partial eclipses. Qualifiers 6 and 7 apply only to special classes of hybrid eclipses while qualifiers 8 and 9 are used exclusively with partial eclipses" 1.

Numbers per century

From the catalogue's Table 3-5 and text: 222 to 255 eclipses per century, mean 238.0, mean 238.9 over 1501 to 2500, with the 20th century at 228 and the 21st at 224. From the ASCII file: 1901 to 2000 has 78 P, 73 A, 71 T, 6 H with 5 non-central; 2001 to 2100 has 77 P, 72 A, 68 T, 7 H with 3 non-central; 2101 to 2200 has 79 P, 87 A, 65 T, 4 H with 5 non-central 1 4. Over five millennia the shares are 35.3% partial, 33.2% annular, 26.7% total and 4.8% hybrid 8.

The quantities catalogued per eclipse

Each row of the catalogue holds the following. Definitions are quoted from Section 1.2 of the catalogue and from the catalogue key 1 7. The derivation column says how the number follows from the Besselian elements x,y,d,μ,l1,l2,tanf1,tanf2x, y, d, \mu, l_1, l_2, \tan f_1, \tan f_2 as functions of time.

Calendar date and 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. TD, TDT and TT are one scale, printed as TDT or TD in NASA tables and called ET before 1984. "The instant of greatest eclipse occurs when the distance between the axis of the Moon's shadow cone and the center of Earth reaches a minimum. For partial eclipses, the instant of greatest eclipse differs slightly from the instant of greatest magnitude primarily because of Earth's flattening. For total eclipses, the instant of greatest eclipse differs slightly from the instant of greatest duration." Julian calendar before 1582 Oct 04, Gregorian from 1582 Oct 15, astronomical year numbering with a year 0. Derivation: minimise m(t)=x(t)2+y(t)2m(t) = \sqrt{x(t)^2 + y(t)^2}. With cubic polynomials in tt this is a one-dimensional root of xx+yy=0x x' + y y' = 0. The catalogue states greatest eclipse "does not coincide with that of apparent ecliptic conjunction (i.e., New Moon), nor with the time of conjunction in Right Ascension" because the Moon crosses the ecliptic at about 5° 1.

ΔT. "The arithmetic difference, in seconds, between Terrestrial Dynamical Time and Universal Time." UT of greatest eclipse is TD minus ΔT. The catalogue lists the adopted value, from the polynomials of its Section 2.7 with correction cc 1.

Lunation number. "The number of synodic months or lunations since New Moon on 2000 Jan 06. The Brown Lunation Number can be calculated from it by adding 953." Derivation: the integer kk of the mean new moon 1.

Saros number. Van den Bergh numbering, odd at the ascending node, even at the descending node. Derivation: Kluepfel's formula from the lunation number, verified on all rows 1 9 4.

Type and qualifier. As above.

QLE. A two-character code for the lunar eclipse preceding and succeeding the solar eclipse within about 15 days: n penumbral, p partial, t total, − none 1.

Gamma. "The minimum distance from the axis of the lunar shadow cone to the center of Earth, in units of Earth's equatorial radius. This distance is positive or negative, depending on whether the axis of the shadow cone passes north or south of Earth's center." Derivation: γ=±minm(t)\gamma = \pm\min m(t) with the sign of yy at that instant. Table 1-1 of the catalogue shows the Saros-to-Saros change in γ\gamma is larger near aphelion (June and July, steps of about 0.074) than near perihelion (December and January, steps of about 0.008) 1.

Eclipse magnitude. "The fraction of the Sun's diameter occulted by the Moon. For partial eclipses, the eclipse magnitude at the instant of greatest eclipse is given for the geographic position closest to the axis of the Moon's shadow cone. For central eclipses (total, annular, and hybrid), the eclipse magnitude listed is actually the ratio of the topocentric apparent diameters of the Moon and Sun at greatest eclipse." Partial and annular magnitudes are below 1.0, total and hybrid at or above 1.0 1. Derivation for a partial eclipse: with Δ\Delta the distance from the axis to the nearest surface point in the fundamental plane, the magnitudeeclipse magnitudeThe fraction of the solar diameter covered by the Moon at maximum eclipse. In the partial phase it is (L1m)/(L1+L2)(L_1' - m)/(L_1' + L_2'). Inside the umbra or antumbra NASA reports instead the ratio of the apparent lunar to solar diameters, (L1L2)/(L1+L2)(L_1' - L_2')/(L_1' + L_2'). is (l1Δ)/(l1+l2)(l_1 - \Delta)/(l_1 + l_2), the standard Besselian expression for the fraction of the diameter covered at a point at distance Δ\Delta inside the penumbra. Meeus's approximate equation is the same expression in mean units, (1.5433+u|γ|)/(0.5461+2u)(1.5433 + u - |\gamma|)/(0.5461 + 2u), because 1.5433+u|γ|=l1(|γ|0.9972)1.5433 + u - |\gamma| = l_1 - (|\gamma| - 0.9972) and 0.5461+2u=l1+l20.5461 + 2u = l_1 + l_2 when l1=u+0.5461l_1 = u + 0.5461 and l2=ul_2 = u 2. For central eclipses the ratio of topocentric semidiameters is computed at the surface point on the axis. The Swiss Ephemeris returns both in swe_sol_eclipse_where: "attr[0] fraction of solar diameter covered by the moon" and "attr[2] fraction of solar disc covered by moon (obscuration)", with attr[1] = rmoon / rsun the diameter ratio 10 6.

Latitude and longitude. "The position of greatest eclipse." For central eclipses this is where the axis meets the surface at that instant. "For both partial and non-central umbral/antumbral eclipses, the latitude and longitude correspond to the point closest to the shadow cone axis at greatest eclipse. The Sun's altitude is always 0° at this location." Derivation: intersect the line (x,y)(x, y) parallel to the zz axis with the ellipsoid, using dd and μ\mu minus the Greenwich hour angle offset from ΔT to rotate into geographic coordinates. Longitude therefore carries the full ΔT uncertainty 1.

Sun altitude and azimuth. "The Sun's altitude at the geographic position intersected by the axis of the lunar shadow cone is given at the instant of greatest eclipse. For partial eclipses, the Sun's altitude is always 0° because the shadow axis misses Earth." Azimuth is 0° north, 90° east 1. Derivation: the altitude is arcsin\arcsin of the zz component of the surface point in the fundamental frame, since the axis direction is the direction to the Sun.

Path width. "For central eclipses (total, annular, or hybrid), the width of the path of totality or annularity (kilometers) is given at the geographic position intersected by the axis of the lunar shadow cone at the instant of greatest eclipse." Derivation: the umbral radius at the surface, L2=l2ζtanf2L_2 = l_2 - \zeta \tan f_2 with ζ\zeta the height of the surface point above the fundamental plane, doubled and divided by the cosine of the angle between the axis and the local vertical. The Swiss Ephemeris computes the core diameter at the surface as *dcore = (s/dsmt*(drad*2 - dmoon) - dmoon)*cosf1 and the outline width from it 1 6. The catalogue's two kk values make the umbral width narrower for total and wider for annular eclipses than the IAU value would.

Central line duration. "The central line duration of the total or annular phase (in minutes and seconds) is given at the geographic position intersected by the axis ... at the instant of greatest eclipse. In the case of a total or hybrid eclipse, this duration is very nearly, but not exactly, the maximum duration of the total phase along the entire umbral path. For an annular eclipse, the duration at greatest eclipse may be near either the minimum or maximum duration of the annular phase along the path. If the annular phase duration exceeds approximately 2.3 min, then it corresponds to the near maximum duration along the central line track. If the annular phase duration is less, however, then it corresponds to a near minimum and the annular duration increases towards the ends of the central path" 1. Derivation: twice the surface umbral radius divided by the speed of the shadow across the surface, which is the derivative of (x,y)(x, y) minus the rotational velocity of the surface point projected on the fundamental plane. The 2.3 min rule follows from the shadow speed being lowest near greatest eclipse while the antumbral radius is largest at the path ends where the surface is farther from the Moon.

Catalogue and plate number. Sequence 1 to 11,898 and the canon plate, 20 maps per plate on 595 plates 1.

The Besselian CSV that NASA publishes adds t0, the polynomial coefficients x0..x3, y0..y3, d0..d2, mu0..mu2, l10..l12, l20..l22, tan_f1, tan_f2, the validity window tmin and tmax of −3 to +3 hours, and a julian_date column 11. The per-eclipse NASA page for 2024 Apr 08 shows the format: t0=18.000t_0 = 18.000 TDT, x=0.3182440+0.5117116t+0.0000326t2x = -0.3182440 + 0.5117116t + 0.0000326t^2, y=0.2197640+0.2709589t0.0000595t2y = 0.2197640 + 0.2709589t - 0.0000595t^2, d=7.5862002+0.0148440t0.0000020t2d = 7.5862002 + 0.0148440t - 0.0000020t^2, l1=0.5358140+0.0000618t0.0000128t2l_1 = 0.5358140 + 0.0000618t - 0.0000128t^2, l2=0.0102720+0.0000615t0.0000127t2l_2 = -0.0102720 + 0.0000615t - 0.0000127t^2, μ=89.591217+15.004080t\mu = 89.591217 + 15.004080t, tanf1=0.0046683\tan f_1 = 0.0046683, tanf2=0.0046450\tan f_2 = 0.0046450, with greatest eclipse 18:18:29 TDT, γ=0.3431\gamma = 0.3431, magnitude 1.0566, Saros 139, ΔT 74.0 s 12.

Sources compared

Source Central test Total versus annular Hybrid Non-central Units
Meeus 1991 2 |γ|<0.9972|\gamma| < 0.9972 u<0u < 0, u>0.0047u > 0.0047 u<0.004641γ2u < 0.00464\sqrt{1-\gamma^2} 0.9972<|γ|<0.9972+|u|0.9972 < |\gamma| < 0.9972 + |u| Earth equatorial radii
NASA catalogue 1 |γ|<0.997|\gamma| < 0.997 sign of umbral radius at surface with k=0.272281k = 0.272281 path changes sign along track, classes ATA, TA, AT axis misses, edge grazes Earth equatorial radii, km
Swiss Ephemeris 6 decosf1r0d_e \cos f_1 \ge r_0 sign of core diameter at maximum sign change at maximum versus central-line ends r0decosf1+|d0|/2r_0 \le d_e\cos f_1 + |d_0|/2 AU internally, km out
Astronomy Engine 3 axis meets geoid umbral radius at geoid > 0.014 km not classified not classified km
Skyfield PR 1076 13 penumbra, umbra, antumbra versus Earth umbra versus antumbra grouped with total not stated km

What a developer should do

  1. Implement the type decision on the umbral radius at the surface point under the axis, not on the fundamental plane, and evaluate it at three instants at least, greatest eclipse and the two ends of the central line, so that hybrids and their classes fall out. The Swiss Ephemeris code is the reference pattern 6.
  2. Keep a non-central class. Ninety-four eclipses in five millennia, and three in the 21st century (2014 Apr 29, 2043 Apr 09, 2043 Oct 03), have a one-limit umbral or antumbral track with no central line. Products that only test "axis meets geoid" call them partial 1 4.
  3. Use the catalogue's kk pair if the target is agreement with NASA types. The catalogue documents 1986 Oct 03 as the case where k=0.2725076k = 0.2725076 gives the wrong type 1.
  4. Compute every catalogued quantity at the instant of minimum x2+y2\sqrt{x^2+y^2}, and for partial eclipses report the surface point nearest the axis with altitude 0°, exactly as the catalogue does, so that rows are comparable.
  5. Validate against the ASCII catalogue: types for all 11,898 rows, γ\gamma to 0.0005, magnitude to 0.001, and the type-code letters n, s, +, −, 2, 3 4.

What this changes

Classification is not a post-processing label. It depends on the kk constant and on where along the path the umbral radius is evaluated, so the type decision belongs inside the Besselian stage of the pipeline, after path limits are known, not in the enumeration stage. The enumeration stage should only carry a provisional Meeus type.

Open questions

  • Obtain the Explanatory Supplement to the Astronomical Almanac (1992 or 2013 edition), chapter on eclipses, to quote the standard formulas for path width and central duration from the elements. The derivations above are stated from the geometry and from the Swiss Ephemeris code, not from the almanac text.
  • Obtain Meeus 2002, cited as "Meeus, 2002a" in the catalogue, for the derivation of the one-in-600-million estimate for non-central hybrids.
  • Obtain the Astronomy Engine test fixtures that motivated the 0.014 km bias, to see which Espenak eclipses were the marginal cases 3.
  • Obtain the source or documentation for the NASA CSV columns PNS, UNS, NCN, nSer, nSeq, nJLE, which appear to encode limits and Saros sequence but are undocumented 11.

References

  1. 1primary 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).
  2. 2trade 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.
  3. 3company 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.
  4. 4primary 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.
  5. 5primary NASA GSFC, Glossary of Solar Eclipse Terms Read live 2026-09-15. Definitions of gamma, greatest eclipse, magnitude, obscuration, umbra, antumbra, penumbra, central and non-central, hybrid.
  6. 6company 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.
  7. 7primary NASA GSFC, Key to Catalog of Solar Eclipses Read live 2026-09-15. Column definitions and the two-character eclipse type codes m, n, s, +, -, 2, 3, b, e.
  8. 8primary NASA GSFC, Five Millennium Catalog of Solar Eclipses, web index and statistics page Read live 2026-09-15. Gives the ephemeris statement, the Delta T regimes, type statistics with percentages, central versus non-central counts and eclipses-per-year distribution.
  9. 9trade 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.
  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. 11primary 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.
  12. 12primary 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.
  13. 13unsourced 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.