Sidereal time #11

Closed
opened 2026-10-23 20:43:19 -05:00 by jeff · 1 comment
Owner

Part of #10

Parent

#10

What to build

Sidereal time in astro.earth: Greenwich mean sidereal time (eq. 12.4) and Greenwich apparent sidereal time, which adds the equation of the equinoxes, Δψ cos ε with the true obliquity. Both accept an instant in either time scale; a TT instant is converted to UT through the ΔT model, as positions already are. Results are in [0°, 360°).

Acceptance criteria

  • Meeus's examples 12.a and 12.b pass to the printed precision
  • Apparent sidereal time agrees with JPL Horizons' over 1900–2100
  • Properties: a TT instant and the same moment in UT give the same sidereal time; non-finite instants give NaN
  • A fuzz target: any finite instant gives a result in [0°, 360°)
  • Every new public declaration has a doc comment giving units, time scale and reference frame, and citing the chapter and equation of Meeus it implements
  • Every Horizons tolerance is set only after measuring, with the worst error recorded beside it
  • Every source used is in the README's references cited
  • zig build test, zig build check, zig fmt --exclude zig-pkg --check . and reuse lint pass
Part of #10 ## Parent #10 ## What to build **Sidereal time** in `astro.earth`: Greenwich mean sidereal time (eq. 12.4) and Greenwich apparent sidereal time, which adds the equation of the equinoxes, Δψ cos ε with the true obliquity. Both accept an **instant** in either **time scale**; a TT instant is converted to UT through the ΔT model, as positions already are. Results are in [0°, 360°). ## Acceptance criteria - [ ] Meeus's examples 12.a and 12.b pass to the printed precision - [ ] Apparent sidereal time agrees with JPL Horizons' over 1900–2100 - [ ] Properties: a TT instant and the same moment in UT give the same sidereal time; non-finite instants give NaN - [ ] A fuzz target: any finite instant gives a result in [0°, 360°) - [ ] Every new public declaration has a doc comment giving units, time scale and reference frame, and citing the chapter and equation of Meeus it implements - [ ] Every Horizons tolerance is set only after measuring, with the worst error recorded beside it - [ ] Every source used is in the README's references cited - [ ] `zig build test`, `zig build check`, `zig fmt --exclude zig-pkg --check .` and `reuse lint` pass
jeff self-assigned this 2026-10-23 20:44:31 -05:00
jeff closed this issue 2026-10-23 20:50:41 -05:00
Author
Owner

Done in 2491b18. Examples 12.a and 12.b pass (the book's 128.7378734° is a unit out in its last digit). Against Horizons: 0.0042 s at worst before 1962, where its UT is UT1; after that its UT is UTC, and the 0.73 s worst is UT1 − UTC, held to 0.9 s.

Done in 2491b18. Examples 12.a and 12.b pass (the book's 128.7378734° is a unit out in its last digit). Against Horizons: 0.0042 s at worst before 1962, where its UT is UT1; after that its UT is UTC, and the 0.73 s worst is UT1 − UTC, held to 0.9 s.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
jeff/zig-astro#11
No description provided.