astrodynamics-gnss 0.9.0

GNSS domain layer (SP3, broadcast ephemeris, multi-GNSS single-point positioning, ionosphere/troposphere, DOP) built on the astrodynamics core
Documentation
//! Shared GNSS constants.
//!
//! These are semantic constants used across multiple GNSS modules. A parity
//! target may still keep a local alias or comment when the operation order of a
//! formula matters, but the source value lives here so modules do not drift.

pub use astrodynamics::time::SECONDS_PER_WEEK;

/// Seconds in half a GNSS week, the rollover fold threshold.
pub const HALF_WEEK_S: f64 = SECONDS_PER_WEEK / 2.0;

/// Seconds per civil day.
pub const SECONDS_PER_DAY: f64 = 86_400.0;

/// Speed of light in vacuum (m/s), IS-GPS-200.
pub const C_M_S: f64 = 299_792_458.0;

/// GPS L1 carrier frequency (Hz). Galileo E1 shares this frequency.
pub const F_L1_HZ: f64 = 1_575.42e6;

/// BeiDou B1I carrier frequency (Hz).
pub const F_B1I_HZ: f64 = 1_561.098e6;

/// WGS84 Earth rotation rate (rad/s), used by GNSS Sagnac/transport terms.
pub const OMEGA_E_DOT_RAD_S: f64 = 7.2921151467e-5;

/// Meters per kilometer.
pub const M_PER_KM: f64 = 1000.0;

/// Astronomical unit (km), Skyfield convention.
pub const AU_KM: f64 = 149_597_870.700;

/// WGS84 ellipsoid semi-major axis (km).
pub const WGS84_A_KM: f64 = 6378.137;

/// WGS84 ellipsoid flattening.
pub const WGS84_F: f64 = 1.0 / 298.257223563;

/// WGS84 first eccentricity squared.
pub const WGS84_E2: f64 = 2.0 * WGS84_F - WGS84_F * WGS84_F;

/// Seconds from GPS epoch (1980-01-06 00:00) to J2000 (2000-01-01 12:00).
pub const GPS_EPOCH_TO_J2000_S: f64 = 630_763_200.0;

/// GPS Time minus BeiDou Time (seconds): BDT = GPST - 14 s.
pub const GPST_MINUS_BDT_S: f64 = 14.0;

/// Seconds from the GPS epoch to the BeiDou epoch (2006-01-01).
pub const BDS_EPOCH_MINUS_GPS_EPOCH_S: f64 = 1356.0 * SECONDS_PER_WEEK;