How CycleCalcs Computes the Sky
Every position, phase, eclipse and cycle on this site is worked out from a precise astronomical model, never copied from someone else's table: almost all of it live in your browser, and the rest with the same engine when a page is built. This page explains the engine behind those numbers, how accurate they are, and the data and references they rest on.
On this page
Everything runs in your browser
There is no server doing the astronomy. When you open a page, a compact ephemeris library runs on your own device and computes the Sun, Moon and planet positions, the Moon's phase, rise and set times, conjunctions, eclipses, and the equinoxes and solstices for the exact date and time you are looking at.
The location you choose and anything you type are processed on your device and are not sent to us or stored; the result is simply drawn on the page. That is why the live pages are always current and never stale.
One family of numbers is prepared ahead of time instead: the multi-year event tables on the Sun, Moon and planet pages (oppositions, elongations, phases, eclipses, seasons) are computed with the same engine when those pages are built, and recomputed automatically every day so they never drift. The live "tonight from your location" panel on each of those pages still runs entirely in your browser.
The astronomy engine
The calculations use Astronomy Engine (version 2.1.19), an open-source ephemeris library written by Don Cross. It is the only calculation library the site ships, vendored as astronomy.browser.min.js; its licence and those of every other source travel with the code and are reproduced in NOTICE.md. Astronomy Engine implements the standard models used across professional ephemerides, VSOP87 for the planets, an abridged lunar theory for the Moon, and the IAU series for precession, nutation and Earth orientation, and it is tested against NASA JPL's Horizons ephemeris.
How accurate is it?
For dates from roughly 1700 to 2200, positions are good to well under a degree, typically to about an arcminute (a sixtieth of a degree) for the Sun, Moon and planets. Accuracy tapers gracefully for dates far outside that window, which is why the tools cap their date ranges there. The underlying models, VSOP87 for the planets and the IAU precession and nutation series, are the standard ones documented in Jean Meeus's Astronomical Algorithms, so the results match what an almanac or a planetarium program would give to within a fraction of a degree.
A few of the very longest cycles are quoted as round or approximate figures on purpose, and are flagged as such. The Great Year of precession is given as the traditional 25,920 years, a cultural round number that works out to exactly 72 years per degree; and the deep-time Milankovitch and galactic cycles (tens of thousands to hundreds of millions of years) are approximate averages that themselves drift over time.
The homepage's rotating solar-system view is deliberately schematic in two ways: every planet sits at its real heliocentric position, with its orbit drawn at its true inclination, but distances from the Sun are compressed on a square-root scale so the inner and outer planets share one frame, and the dots are sized by rank rather than true diameter.
A few calculators use published rules of thumb rather than the ephemeris engine, and say so on their pages. The Astrophotography Exposure Calculator implements two fixed-tripod exposure rules: the film-era 500 rule, and the NPF rule in its widely used simplified form, (35 × f-number + 30 × pixel pitch) / focal length, scaled by 1/cos(declination), published by Frederic Michaud of the Societe Astronomique du Havre. Star drift in both is computed at the sidereal rate of about 15.04 arcseconds per second of time at the celestial equator (1,296,000 arcseconds per 86,164.09-second sidereal day). The age, weight and Kepler calculators are exact arithmetic on the same NSSDCA-derived values the site's planet fact tables quote. The Local Sidereal Time clock reads Greenwich apparent sidereal time straight off the engine and adds your longitude, so it inherits the engine's nutation model rather than approximating it.
One page on this site computes nothing about nature at all. The Pythagorean Numerology Calculator sums letter values under a classical scheme, and it is listed here so the boundary is explicit: it is arithmetic on a cultural convention, presented as a tradition with a history, and it makes no claim about the physical world. Everything else on the site is a measurement or a computation from one.
Data sources
- Astronomy Engine (MIT, Don Cross): all Sun, Moon and planet positions, phases, rise and set times, eclipses, conjunctions and seasons. Repository and documentation.
- Yale Bright Star Catalog (Hoffleit and Warren 1991, via NASA HEASARC): the naked-eye star positions (with measured B-V colors) on the Live Sky Map and the constellation map, used at build time only. The Sky Map's optional binocular-depth layer (about 37,000 more stars to magnitude 8) comes from the SAO catalog (SAO Staff 1966, via NASA HEASARC), whose colors are estimated from spectral type rather than measured.
- IAU Catalog of Star Names: the official proper names on the Sky Map's star cards, matched to the star catalog by position at build time.
- World Magnetic Model (NOAA/BGS): the magnetic-declination grid that corrects the Sky Map's point-at-the-sky compass mode to true north, computed at build time on a coarse grid and regenerated yearly.
- d3-celestial (BSD-3-Clause, Olaf Frohn): the connect-the-dots constellation figure lines, the Sky Map's schematic Milky Way outline, and the positions and photometry for the 110 Messier and 109 Caldwell deep-sky markers (whose underlying deep-sky data traces to the Saguaro Astronomy Club Database). Project.
- Caldwell catalog (Patrick Moore): the C1 to C109 numbering used for the Sky Map's deep-sky markers, an uncopyrightable factual list cross-checked against published catalogs. Each object's "your reach" verdict is computed at build time from a surface-brightness model, not measured, and is labeled as an estimate.
- International Astronomical Union (IAU): the 88 constellation boundaries and names, and the precession and nutation constants.
- NOAA Space Weather Prediction Center: the historical yearly sunspot numbers behind the sunspot-cycle chart, taken from the observed solar cycle indices. Solar cycle progression.
- GeoNames (CC BY 4.0): the place index behind the city search and the "use my location" place name, baked into the site so both are answered in your browser without contacting any outside service. GeoNames.
- NASA NSSDCA planetary fact sheets: the physical data tables (diameter, mass, gravity, rotation, orbit) on the Sun, Moon and planet pages, cited on each page.
- NASA and the U.S. Naval Observatory (USNO): reference eclipse canons and almanac data used to check the eclipse, Moon-phase and rise/set results.
Several of those licences (MIT, BSD-3-Clause and CC BY 4.0) require their full text and notices to travel with the work. They do: NOTICE.md reproduces every third-party licence in full and records what was considered and rejected and why, and CREDITS.md is the shorter roll of who made what. This list names the sources; those two are the legal texts, and until now nothing you could click led to them.
References and further reading
- Jean Meeus, Astronomical Algorithms (2nd edition, Willmann-Bell), the standard text for these calculations.
- NASA Eclipse Web Site (Fred Espenak): eclipse predictions and the Saros catalog.
- USNO Astronomical Applications: rise, set, twilight and phase data.
- IAU: The Constellations (the IAU's constellation reference, hosted on its ESO archive).
- Observed solar cycle indices, NOAA Space Weather Prediction Center.
What this is not
CycleCalcs is positional astronomy and mathematics, presented clearly. It is not astrology: none of these positions, cycles or alignments are claimed to influence people, events, markets or the weather. The only predictions here are the astronomical events themselves, which follow from celestial mechanics. Each tool's own notes describe exactly what it computes and any limits.
Found an error, or have a source we should add? Email info@cyclecalcs.com.