During development and testing of the Druidcraft Calendar, it became important to know exactly where the blue moons fell, but the only data I could find available online only lists blue moons for 200 years.

Instead I decided that I would have to find a way to calculate them myself, so I went looking for scripts to calculate exact Full Moon and Solstice/Equinox times. I then found these two scripts and combined them together to calculate Blue Moons.

https://stellafane.org/observing/moon_phase.html

https://stellafane.org/misc/equinox.html

These calculations use Terrestrial Dynamical Time (TDT) which is a replacement for Ephemeris Times (ET). TDT is a uniform time used for astronomical calculations. Civil time, such as UTC (popularly known as GMT) or your local time, is corrected for the non-linear changes in the rotation of the earth. This is done accurately only through observations. This calculator corrects the the calculated TDT to civil time using a table of observations from 1620 thru 2002. The sun algorithms and correction tables for this computation come directly from the book Astronomical Algorithms Second Edition by Jean Meeus. Credit for coding them in Javascript goes to Ken Slater of stellafane.org. Jean Meeus claims that algorithms are accurate to within one minuet for dates between 1951-2050, with the error increasing as the calculations move many hundreds of years form the current date. The code for the moon phase computation appeared in Astronomical Computing, Sky & Telescope, March, 1985, while the code for Julian Day to Calendar Dates appeared in the same column in May 1984. In both cases, the Basic code by Roger W. Sinnott was based on algorithms by Jean Meeus in the book Astronomical Formulae for Calculators* **,* and was converted into javascript by Ken Slater.