Expand description
§sidereon-core
The complete Sidereon engine in one crate. It folds the numerical astrodynamics core (orbit propagation, force models, frames, time, SGP4) together with the GNSS domain layer (SP3, broadcast ephemeris, multi-GNSS positioning, RTK/PPP, ionosphere/troposphere, DOP).
- The propagation/astro layer is always present under the
astromodule. - The GNSS layer lives behind the default-on
gnsscargo feature, so a propagation-only consumer can build with--no-default-features(plus any astro features it wants) and never compile the IONEX/SP3 parsers.
The GNSS façade is organized by user-facing tasks:
ephemeris- precise SP3 and broadcast ephemeris products,rinex- RINEX navigation/observation parsing and CRINEX decoding,antex- ANTEX receiver and satellite antenna calibration parsing,combinations- observable linear combinations such as ionosphere-free,observables- forward range, Doppler, and azimuth/elevation prediction,velocity- receiver velocity and clock-drift solve from range-rate data,positioning- single-point positioning and DOP diagnostics,dgnss- code-differential pseudorange correction and rover pairing,quality- pseudorange weighting, RAIM, and FDE integrity checks,observation_qc- RINEX observation completeness and signal rollups,signal- GPS C/A code generation, correlation, and acquisition,ppp_corrections- static-arc PPP correction precomputation,atmosphere- ionosphere and troposphere corrections,orbit- compact reduced-orbit fitting/evaluation.
Implementation modules (sp3, rinex_nav, spp, etc.) are crate-private.
This is a clean public surface rather than a compatibility shim around the
original implementation-shaped module layout.
§Units policy (internal representation)
All quantities are stored and computed in SI base units, with the frame
and datum encoded in the type name (per the spec’s frames-in-the-type-system
rule), never hidden behind a bare position_m:
- Length / position: meters (
_m). SP3 positions are ITRF/IGS-frame ECEF meters; SPP receiver positions are WGS84/ITRF-compatible ECEF meters. (Theastrostate layer works in kilometers; conversions happen explicitly at the boundary, never implicitly.) - Time / clock: seconds (
_s). Epochs are represented by theastrotime family (Instant/TimeScale), always scale-tagged; there is no bare ambiguous epoch. - Velocity: meters per second (
_m_s). - Angles: radians (
_rad) internally. Degrees appear only at I/O edges and are named_deg. - Frequency: hertz (
_hz).
Field and parameter names carry the unit suffix so the unit is visible at
every call site. Matrix/vector linear algebra uses nalgebra
(DMatrix/DVector) per the spec.
Re-exports§
pub use frame::geodetic_to_itrf;pub use frame::itrf_to_geodetic;pub use frame::FrameValueError;pub use frame::ItrfPositionM;pub use frame::ItrfVelocityMS;pub use frame::Wgs84Geodetic;pub use geoid::egm96_undulations_deg;pub use geoid::egm96_undulations_rad;pub use geoid::ellipsoidal_height_m;pub use geoid::geoid_undulation;pub use geoid::geoid_undulations_deg;pub use geoid::geoid_undulations_rad;pub use geoid::orthometric_height_m;pub use geoid::GeoidError;pub use geoid::GeoidGrid;
Modules§
- antex
- ANTEX 1.4 receiver and satellite antenna parser.
- astro
- Numerical astrodynamics engine for orbit propagation, force models, and future flight-dynamics primitives.
- atmosphere
- GNSS atmospheric correction models.
- bias
- Offline GNSS code and phase bias products.
- broadcast_
comparison - Broadcast-ephemeris accuracy: compare a broadcast navigation product against a precise SP3 product over a window (the orbit/clock pieces of the signal-in-space range error, SISRE).
- carrier_
phase - Carrier-phase combinations, cycle-slip detection, and Hatch smoothing.
- combinations
- GNSS observable linear combinations.
- constants
- Shared GNSS constants.
- constellation
- GNSS constellation identity catalog and validation helpers.
- data
- Data product filename, cache path, and archive URL catalog.
- dgnss
- Code-differential GNSS (DGPS) pseudorange corrections.
- ephemeris
- Ephemeris products and satellite orbit/clock evaluation.
- estimation
- GNSS estimation substrate (Phase-2).
- frame
- Frame-tagged position types.
- frequencies
- Canonical GNSS carrier-frequency table.
- geoid
- Geoid undulation (geoid height) lookup with bilinear interpolation.
- geometry
- GNSS geometry primitives.
- ils
- Integer least squares - ambiguity-resolution kernels for precise / RTK positioning.
- navigation
- GNSS navigation-message synthesis and decoding.
- nmea
- Sans-I/O NMEA 0183 sentence parsing and GGA writing.
- ntrip
- NTRIP client request, response, and stream handling.
- observables
- Forward GNSS observable prediction.
- observation_
qc - RINEX observation-file quality-control rollups.
- orbit
- Compact orbit approximations.
- positioning
- Single-point positioning and GNSS geometry diagnostics.
- ppp_
corrections - Static-arc PPP correction precomputation.
- precise_
positioning - Static multi-epoch PPP float/fixed positioning.
- prelude
- Convenient imports for common GNSS workflows.
- qc_obs
- RINEX observation quality-control rollups.
- quality
- Measurement-quality control for GNSS positioning.
- rinex
- RINEX and CRINEX parsing.
- rtcm
- RTCM 3 differential-GNSS stream decoding and encoding.
- rtk
- RTK double-difference primitives.
- rtk_
filter - Sequential and static RTK baseline filtering, split into focused submodules.
- sbas
- signal
- GPS L1 C/A code generation, coherent correlation, and acquisition.
- ssr
- Engineering-unit State Space Representation corrections.
- staleness
- Product-staleness graceful degradation for time-varying GNSS products.
- terrain
- DTED tile reader and bilinear terrain lookup.
- tides
- Solid-earth tide station displacement (IERS Conventions, Chapter 7).
- tolerances
- Shared named numerical tolerances for GNSS modeling kernels.
- velocity
- Receiver velocity and clock-drift solve from GNSS range-rate observations.
Structs§
- Gnss
Satellite Id - A satellite identifier: a constellation plus its within-system PRN/slot.
Enums§
- Error
- Errors produced by the
sidereon-corecrate. - Gnss
System - A GNSS constellation (satellite system).
- Satellite
IdError - Error returned when constructing a GNSS satellite identifier from invalid input.
Type Aliases§
- Result
- Result alias for fallible
sidereon-coreoperations.