
How I built a 30,000-year eclipse database
About a month ago, I sat down and built an eclipse database. Not a small one. 30,000 years of solar eclipses and 30,000 years of lunar eclipses. About 145,000 eclipses in total. and live at eclipsedb.org.

Now before you say "NASA already has this" — they don't. Not quite. Let me explain.
The gap that shouldn't exist
NASA maintains what is arguably the most well-known eclipse catalog in the world, put together by Fred Espenak over many years. It covers roughly 5,000 years. For most purposes, that is more than enough. If you want to know when the next total solar eclipse is, or when the last one was, NASA has you covered.
But here's the thing. NASA's Jet Propulsion Laboratory also maintains something called the DE441 ephemeris — a mathematical model of where the Sun, Moon, and planets are (and were, and will be) over a span of 30,000 years. 15,000 years into the past, 15,000 into the future. This is the most accurate long-range ephemeris they have. It is freely available for anyone to download and use.
NASA's own public eclipse catalog does NOT use the full range of DE441. (There is a thing called Delta T. We wont talk about Delta T here but suffice to say, the lattitude of an eclipse can be known to a good approximation even for 13000 BCE. What we cant tell for sure is the longitude). They used an older, shorter-range ephemeris. Which means the accuracy of their catalog degrades as you go further back in time. And the catalog simply stops existing beyond a few thousand years.
This bothered me.
Why it bothered me specifically
I run RiSa Astronomy out of Bangalore. We do stargazing camps, school workshops, the usual. But I also have a deep interest in computational astronomy. The kind where you sit with ephemeris data and code and try to figure things out from first principles.
And I'm Indian. This matters here, and I'll tell you why.
Indian civilisation has astronomical references going back thousands of years. The Rig Veda contains a hymn about the sage Atri witnessing a solar eclipse. Puranic texts reference eclipses. Post-Vedic Indian astronomy developed sophisticated systems - Rasis (the zodiac signs), Nakshatras (the 27 lunar mansions), detailed eclipse prediction methods. Scholars have been trying to date these ancient references for decades, publishing papers in respected journals, trying to pin historical events to specific eclipses.
But here's the problem. There was no single, searchable, validated eclipse database that actually covered the timeframes relevant to Indian historical astronomy. If you're trying to identify an eclipse mentioned in a text that could be 4,000 or 5,000 years old, NASA's 5,000-year catalog barely covers it. And the further back you go in their catalog, the less accurate it gets because of the older ephemeris.
Our civilisational memory goes deeper than their catalog. That felt like a gap worth filling.
How I actually built it
The tools are not exotic. Python for the computation. JPL's SPICE toolkit for reading the DE441 and DE440 ephemeris kernels. Jean Meeus' algorithms for the coarse eclipse geometry . One 2018 model laptop. No cloud. No academic backing. No funding.
The basic idea is straightforward even if the implementation is tedious. You step through time, compute the positions of the Sun and Moon at each new moon (for solar eclipses) or full moon (for lunar eclipses), check whether the geometry produces an eclipse, and if it does, compute everything about it - type, magnitude, gamma, duration, path, which Rasi the Sun was in, which Nakshatra the Moon was near.
Repeat it.
For 30,000 years.
To be honest, the first version was riddled with bugs. Timezone issues. Coordinate system confusion. Edge cases where eclipses near the boundary of penumbral and partial classifications would flip depending on floating point precision. The usual. I spent more time debugging than building.
Validation
This is the part I care about most, because anyone can generate a bunch of dates and say an eclipse happened on this date. The question is whether the dates are right.
Where NASA's catalog overlaps with mine, I validated everything. Saros series numbers - 100% agreement across nearly 12,000 paired eclipses. That's not a typo. Every single one matches. Gamma values (which describe how centrally the Moon's shadow hits the Earth) the agreement is to a standard deviation of 0.0006. Eclipse type classification - 99%+ agreement. The few disagreements are in due to superior math used in my catalog.
No, Seriously.
So where the catalogs overlap, they agree. Where they don't overlap, mine keeps going.
Another 25,000 years in both directions.
The Indian astronomy bit
One thing I deliberately built into the database is Rasi and Nakshatra references for every eclipse. If you're an Indian astronomy researcher trying to cross-reference an eclipse mentioned in a Sanskrit text that says "the Sun was in Magha", you can now search for that directly. Try doing that on NASA's website. *wink wink*
This is not astrology, by the way. Dont let the Indian terminology fool you. Rasis and Nakshatras are coordinate systems. They tell you where in the sky something happened. The fact that the same words got co-opted by astrology is unfortunate but not my problem.
What's next
A framework paper is in the works. The preprint is already on Zenodo
https://zenodo.org/records/19319453 . The database itself is already live and will be maintained. If you are a researcher working on historical eclipses — Indian or otherwise — I hope this is useful.
And if you find bugs, please tell me. I would genuinely like to know.
The database is at eclipsedb.org.
-Anish
Comments
No comments yet. Be the first!