CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
Loading...
Searching...
No Matches
astro::planet::geocentric_coord Namespace Reference

Functions

auto apparent (const Planet planet, const double jde_tt) -> toolbox::SphericalCoordinate
 Calculate a planet's apparent geocentric ecliptic position.
auto is_retrograde (const Planet planet, const double jde_tt) -> bool
 Return whether a planet's apparent geocentric longitude decreases across one day centered on jde_tt.

Variables

constexpr double PLUTO_START_JDE_TT
 Inclusive start of Pluto's apparent-position model, in JDE(TT).
constexpr double PLUTO_END_JDE_TT
 Exclusive end of Pluto's apparent-position model, in JDE(TT).

Function Documentation

◆ apparent()

auto astro::planet::geocentric_coord::apparent ( const Planet planet,
const double jde_tt )->toolbox::SphericalCoordinate
inlinenodiscard

Calculate a planet's apparent geocentric ecliptic position.

Parameters
planetThe planet to calculate, from Mercury through Pluto.
jde_ttThe Julian Ephemeris Day based on TT.
Returns
Apparent longitude and latitude in the true ecliptic and equinox of date, and the retarded geocentric distance in AU.
Exceptions
std::invalid_argumentIf jde_tt is not finite or outside the selected planet's documented domain, or planet is not a named enumerator.
std::runtime_errorIf the numerical evaluation cannot produce a finite, converged position.
Note
Pluto is available for JDE(TT) [2409543.5, 2488069.5); the Mercury-Neptune models have no finite JDE(TT) range bound.
Includes light-time, annual aberration, FK5 reduction, and nutation. It omits relativistic light deflection and treats TT as the VSOP87D dynamical-time argument without a TT-TDB model.
See also
Jean Meeus, "Astronomical Algorithms", Second Edition, (23.2), (32.3), and (33.1)-(33.4).

◆ is_retrograde()

auto astro::planet::geocentric_coord::is_retrograde ( const Planet planet,
const double jde_tt )->bool
inlinenodiscard

Return whether a planet's apparent geocentric longitude decreases across one day centered on jde_tt.

Parameters
planetThe planet to calculate, from Mercury through Pluto.
jde_ttThe Julian Ephemeris Day based on TT.
Returns
true when the wrap-aware longitude change over the centered one-day interval is negative.
Exceptions
std::invalid_argumentIf jde_tt is not finite or outside the selected planet's documented domain, or planet is not a named enumerator.
std::runtime_errorIf either apparent-position evaluation cannot produce a finite, converged result.
Note
Pluto is available for centered JDE(TT) [2409544.0, 2488069.0).
This is a finite-interval test, not the sign of the instantaneous rate from astro::ephemeris::longitude_rate (ephemeris.hpp); near a station the two can disagree.
It does not locate stations. astro::planet::phenomena::events (planet_phenomena.hpp) finds them as longitude extrema on a one-day grid and refines each extremum, without solving for a zero rate. astro::ephemeris::stations instead locates zeros of the seven-point ephemeris::longitude_rate; see docs/EPHEMERIS_EVENTS.md for the definitions and domains. At the stationary instant itself a boolean direction is not physically meaningful.

Variable Documentation

◆ PLUTO_END_JDE_TT

double astro::planet::geocentric_coord::PLUTO_END_JDE_TT
inlineconstexpr

Exclusive end of Pluto's apparent-position model, in JDE(TT).

◆ PLUTO_START_JDE_TT

double astro::planet::geocentric_coord::PLUTO_START_JDE_TT
inlineconstexpr

Inclusive start of Pluto's apparent-position model, in JDE(TT).