-
Add v0.16.0: twilight dawn/dusk, lunar phase, planet apparent magnitude
released this
2026-02-26 19:42:01 +00:00 | 48 commits to main since this releaseTwilight: 6 functions (civil/nautical/astronomical × dawn/dusk) reusing
the existing find_next_crossing() bisection search with Sun depression
angle thresholds (-6°, -12°, -18°). Returns NULL for polar regions
where the threshold is never reached.Lunar phase: 4 functions computing Sun-Earth-Moon geometry from VSOP87
- ELP2000-82B. Phase angle [0,360) via elongation + cross product
z-component for waxing/waning discrimination. 8 named phases in 45°
bins. Moon age approximated from phase angle and mean synodic month.
Planet magnitude: Mallama & Hilton (2018) polynomial model with VSOP87
heliocentric distances and phase angle via law of cosines. All 7
planets (Mercury-Neptune, excluding Earth). Saturn ring tilt not
modeled.151 → 162 SQL objects. 26 → 27 test suites, all passing.
Downloads
- ELP2000-82B. Phase angle [0,360) via elongation + cross product