Four new functions (184 → 188 SQL objects): - sun_almanac_events(): merged rise/set + twilight SRF (4 threshold scans) - planet_conjunctions(): angular separation minima via daily scan + ternary search - satellite_penumbral_fraction(): continuous 0.0-1.0 shadow depth - moon_physical_libration(): Meeus p. 373 Fourier corrections (tau, rho) 30 regression test suites, all passing.
25 lines
825 B
C
25 lines
825 B
C
/*
|
|
* libration.h -- Lunar optical libration (Meeus Ch. 53)
|
|
*
|
|
* Three components of the Moon's apparent wobble:
|
|
* l -- optical libration in longitude (degrees, [-8, +8])
|
|
* b -- optical libration in latitude (degrees, [-7, +7])
|
|
* p -- position angle of the Moon's axis (degrees)
|
|
*/
|
|
|
|
#ifndef PG_ORRERY_LIBRATION_H
|
|
#define PG_ORRERY_LIBRATION_H
|
|
|
|
typedef struct
|
|
{
|
|
double l; /* libration in longitude, degrees (optical + physical) */
|
|
double b; /* libration in latitude, degrees (optical + physical) */
|
|
double p; /* position angle of axis, degrees */
|
|
double _tau; /* physical libration correction in longitude, degrees */
|
|
double _rho; /* physical libration correction in latitude, degrees */
|
|
} lunar_libration;
|
|
|
|
void compute_lunar_libration(double jd, lunar_libration *lib);
|
|
|
|
#endif /* PG_ORRERY_LIBRATION_H */
|