Methodology
How the numbers are produced, and how accurate they are. We win technical buyers on transparency, not marketing copy.
Computation engine
- Library: Skyfield
— rise/set/transit via
almanac.find_risings/find_settings/find_transits, and the four twilight boundaries viaalmanac.dark_twilight_day. - Ephemeris: JPL DE421 (
de421.bsp), which bounds the supported range to roughly 1900–2050. - Observer model: WGS-84 geodetic position (
wgs84.latlon), parallax-corrected for elevation.
Refraction & the horizon
- Standard refraction: a fixed 34′ (−0.5667°) depression below the geometric horizontal — the conventional value for rise/set.
- Elevation correction (our differentiator): for an observer at height
hwe lower the horizon by the geometric diparccos(R / (R + h))(mean Earth radius R = 6 371 000 m), so rises happen earlier and sets later than at sea level. At sea level the horizon is simply −0.5667°. - Twilight angles (sun-centre depression): civil −6°, nautical −12°, astronomical −18°.
- Polar cases: always-up / always-down are detected and reported via the
statusfield rather than returned as errors.
Accuracy per field
“Sub-arcsecond” describes the astronomical position of the bodies from the ephemeris model — it is not the clock-time accuracy of the events. Event times are dominated by atmospheric refraction and your local horizon, so our published figures are:
- Rise / set: ~±1 minute
- Transit (solar noon): ~±30 seconds
- Twilight boundaries: ~±2 minutes
- Moon illumination fraction: ~±0.001
Larger discrepancies versus other sources almost always come from a different horizon convention (geometric vs. centre vs. upper-limb of the disc) or from local terrain that no global model captures. We validate against published U.S. Naval Observatory rise/set tables internally; we do not yet publish a live benchmark.
Versioning
Any change to the underlying ephemeris data or the refraction model is a breaking change and would
ship as a new major API version (e.g. /v2/ephemerides/) — never silently within
/v1/.
⚠️ Important — these are not the official “legal” times. Because we correct for the observer's elevation, our civil-twilight, sunrise and sunset times deliberately differ from the standard, level-horizon times that aviation and maritime regulators require. They must not be used for navigation, flight planning, or any safety-of-life or legally-regulated timing decision. See Safe Use & Disclaimers.