Celestial Programming : Solar Eclipse Predictions Using Besselian Elements

This article is a work in progress. I'm putting up what I can for those looking for info for the 2024 eclipse in the hopes that it may be somewhat useful. The article will be finished later. For now, see the examples which contains implementations of the examples from Meeus' Elements of Solar Eclipses, and from the Explanatory Supplement. Full source code implementing most of this is already available in the Eclipse Map. Further information is available in any edition of the Explanatory Supplement to the Astronomical Almanac, William Chauvenet's Manual of Spherical and Practical Astronomy, Robin Green's Spherical Astronomy, and W.M. Smart's Textbook on Spherical Astronomy.

Alternative 3D Modeling method

This article covers using Besselian Elements and the centuries old equations to use them. With modern computing power, it is also possible to skip all of that, and just using existing 3D modeling software. The biggest hurdle being that at astronomical distances, light takes significant time to travel to the observer, so it is necessary to compute the Apparent position based on the observer's location accounting for all necessary effects such as light time, and abberation.


Description of the elements

Below is an example set of elements for the April 8, 2024 total solar eclipse from the Five Millennium Canon of Solar Eclipses.

    n        x          y         d          l1         l2          μ

    0  -0.3182440  0.2197640  7.5862002  0.5358140 -0.0102720  89.591217 
    1   0.5117116  0.2709589  0.0148440  0.0000618  0.0000615  15.004080 
    2   0.0000326 -0.0000595 -0.0000020 -0.0000128 -0.0000127   0.000000 
    3  -0.0000084 -0.0000047  0.0000000  0.0000000  0.0000000   0.000000

    tan f1 = 0.0046683        tan f2 = 0.0046450 
    "Eclipse Predictions by Fred Espenak, NASA's GSFC"


Technically speaking, the values \(x, y, d, l_1, l_2, \mu, \tan f_1, \tan f_2 \) computed for a specific instant in time are the Besselian Elements. And the table above is a set of coefficients which will be used to compute those elements. But, more often than not, the table of coefficients is referred to as the Besselian Elements. This terminology is used nearly every place I have seen the coefficent table published (the next most common term is "Polynomial Besselian Elements"). That means there is some ambiguity as to what someone is referring to when they say Besselian Elements. And, for lack of better terminology, this article will not try to eliminate that problem. It should be quite obvious from the context as to whether someone is referring to a table of coefficents, or to the elements for a specific instant in time. And, for the sake of brevity, I will often refer to them as just "elements", or "coefficents".

Obtaining Besselian Elements

Computing the Elements for a given time

Local circumstances


Shadow Outlines