The primary references, astronomical almanacs, and physical constants that power all SkyMotion calculations.
Zero Black-Box Math • 100% Deterministic Equations
At SkyMotion.tools, educational integrity and computational transparency are paramount. Every mathematical function implemented in our open source physics library (/lib/physics.ts) is directly derived from peer-reviewed scientific textbooks, official government observatory publications, and international standards.
United States Naval Observatory (USNO) & HM Nautical Almanac Office
Standard astronomical reference defining the solar zenith angles (90°50′ for official sunrise/sunset, 96° for civil twilight, 102° for nautical twilight, and 108° for astronomical twilight), equation of time series, and solar declination algorithms.
Implementation: Implemented in /lib/physics.ts via getSunriseSunset() (which internally calls calcSunTime()).
Jean Meeus (Astronomer & Mathematician)
Astronomical Algorithms (2nd Edition, Chapter 49: Phases of the Moon & Ch. 25: Solar Coordinates)
Rigorous trigonometric approximations for calculating the Moon’s phase angle (k), illuminated fraction of the lunar disc, and the exact timestamps of Mean and True New Moon, First Quarter, Full Moon, and Last Quarter lunations.
Implementation: Implemented in /lib/physics.ts via getMoonPhase().
NASA Goddard Space Flight Center
Planetary Fact Sheets & Five Millennium Catalog of Solar and Lunar Eclipses
Solar system dynamics ephemeris utilized for high-precision verification of solar declination, Greenwich Mean Sidereal Time (GMST), and orbital eccentricities.
Implementation: Benchmark control used to validate calculator outputs against official ephemerides.
National Institute of Standards and Technology (NIST)
CODATA Internationally Recommended Values of the Fundamental Physical Constants
Standard reference for the Newtonian constant of gravitation (G = 6.67430 × 10⁻¹¹ m³·kg⁻¹·s⁻²) and standard Earth gravity (g₀ = 9.80665 m/s²).
Implementation: Directly applied in /lib/physics.ts inside freeFallTime(), brakingDistance(), and projectileRange().
Algorithmic Validation and Testing Protocol
To maintain strict fidelity with physical reality, our TypeScript routines are periodically verified against live ephemeris outputs from the US Naval Observatory and JPL Horizons.
Solar times are computed via the USNO Astronomical Almanac algorithm implemented in calcSunTime(), which derives the mean anomaly (M = 0.9856·t − 3.289), solar longitude, right ascension with quadrant correction, and the hour angle for the requested zenith. Here, t is a fractional Julian-century proxy based on the day-of-year and longitude. This approximation yields sunrise and sunset timestamps within a few minutes of full orbital numerical integration across the 2000–2100 epoch.
For further inquiries on formula derivations or to review our source code, please see our About Page or contact author Traian Anghel directly via our Contact Form.