Observer, and the topocentric Sun and Moon #12
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#13 Horizontal coordinates
jeff/zig-astro
#15 Topocentric libration
jeff/zig-astro
#11 Sidereal time
jeff/zig-astro
Reference
jeff/zig-astro#12
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #10
Parent
#10
What to build
A new
astro.observermodule. An Observer is a plain struct of geodetic latitude, longitude positive east, and height in meters above the WGS 84 ellipsoid (ADR 0003). A generic conversion takes an instant, an observer, any apparent geocentric equatorial position and its distance in kilometers, and returns a topocentric result holding the topocentric equatorial and ecliptic coordinates, the hour angle and the distance in kilometers, using Meeus's rigorous parallax (ch. 11, eqs. 40.6 and 40.7).sun.topocentricandmoon.topocentricpass their apparent positions through it.Diurnal aberration, polar motion, UT1 − UTC and deflection of the vertical are left out and named in the doc comments. A latitude beyond ±90° gives NaN; finite longitudes wrap; finite heights of any sign are accepted.
The Horizons tooling gains topocentric targets for the Sun and the Moon from Palomar, Tromsø and Cerro Paranal, with geodetic site coordinates, at 201 instants over 1900–2100; the tables carry the existing Horizons REUSE annotation.
Acceptance criteria
zig build test,zig build check,zig fmt --exclude zig-pkg --check .andreuse lintpassBlocked by
Done in
03977e1. Examples 11.a and 40.a pass. Against Horizons from Palomar, Tromsø and Paranal the parallax shift agrees to 0.46″ (diurnal aberration, left out), and positions are as good as the geocentric ones; through the wrappers, up to the last measured ΔT. WGS 84 (NIMA TR8350.2) added to the references.