Skip to content

tobari

Earth environment models for orbital mechanics.

Provides pluggable atmospheric density models behind the AtmosphereModel trait.

  • Exponential — US Standard Atmosphere 1976, altitude-only (simplest, no epoch needed)
  • HarrisPriester — diurnal density variation using Sun position
  • Nrlmsise00 — full empirical model driven by solar and geomagnetic activity indices

All models implement AtmosphereModel and can be swapped at runtime via Box<dyn AtmosphereModel>.

Provides pluggable geomagnetic field models behind the magnetic::MagneticFieldModel trait.

The space_weather module defines SpaceWeather conditions and the SpaceWeatherProvider trait for supplying time-varying solar/geomagnetic data. CssiSpaceWeather parses CelesTrak CSSI-format files and (with the fetch feature) downloads them automatically with local caching.

Space weather indices are sourced from:

  • Kp/Ap geomagnetic indices: GFZ Helmholtz Centre for Geosciences (CC BY 4.0)
  • F10.7 solar radio flux: NOAA SWPC / NRCan DRAO (public domain)
  • Aggregated and distributed by CelesTrak (https://celestrak.org/SpaceData/)
NameDescription
MagneticFieldModelA geomagnetic field model.
SpaceWeatherProviderProvider of space weather data for a given epoch.
AtmosphereModelAn atmospheric density model.
NameDescription
CssiDailyRecordalloc — A single daily record from CSSI space weather data.
CssiDataalloc — Parsed CSSI space weather data, sorted by date.
CssiSpaceWeatheralloc — Space weather provider backed by CSSI historical data.
ExponentialPiecewise exponential atmosphere model based on US Standard Atmosphere 1976.
HarrisPriesterHarris-Priester atmospheric density model.
TiltedDipoleTilted dipole geomagnetic field model with ECEF-fixed axis.
GaussCoefficientsGauss coefficient set for a single epoch.
IgrfIGRF (International Geomagnetic Reference Field) model.
MagneticFieldInputPre-computed input for magnetic field evaluation.
Nrlmsise00OutputFull output of the NRLMSISE-00 model.
Nrlmsise00InputInput parameters for a single NRLMSISE-00 evaluation.
Nrlmsise00NRLMSISE-00 empirical atmosphere model.
SpaceWeatherSpace weather conditions at a given epoch.
ConstantWeatherConstant space weather — returns the same F10.7 and Ap for all epochs.
AtmosphereInputPre-computed input for atmospheric density evaluation.
NameDescription
CssiParseErroralloc — Parse error for CSSI space weather files.
OutOfRangeBehavioralloc — Behavior when the requested epoch is outside the data range.
GfzParseErroralloc — Parse error for GFZ space weather files.
SpaceWeatherFormatalloc — Detected space weather data format.
NameDescription
densityCompute atmospheric density [kg/m³] at the given altitude [km].
parse_gfzalloc — Parse GFZ Kp_ap_Ap_SN_F107_*.txt format into [CssiData].
detect_formatalloc — Detect whether text is CSSI or GFZ format.
simple_eci_to_geodetic_latlonConvert a simple-path ECI position to WGS-84 geodetic latitude and
precise_gcrs_to_geodetic_latlonConvert a GCRS position + UTC epoch + EOP provider to WGS-84
epoch_to_day_of_year_and_utConvert epoch to (day_of_year, ut_seconds).
local_solar_timeCompute local apparent solar time [hours].
NameDescription
IgrfCoeffArrayFixed-size array type for IGRF Gauss coefficients.
NameDescription
TEMP_COEFFICIENTSExospheric temperature variation coefficients (150 terms).
DENSITY_COEFFICIENTSDensity variation coefficients for each species (9 species x 150 terms).
GRADIENT_COEFFICIENTSTemperature gradient (S-parameter) variation coefficients (150 terms).
CORRECTION_PARAMSComposition and turbopause correction parameters (2 x 25 terms).
TEMP_BOUNDARYTemperature boundary and reference values (50 terms).
DENSITY_BOUNDARYDensity boundary parameters per species (8 species x 10 terms).
TEMP_NODE_COEFFICIENTSTemperature node correction coefficients (4 nodes x 100 terms).
MID_ATMO_COEFFICIENTSMiddle atmosphere variation coefficients (10 x 100 terms).
SAM_COEFFICIENTSSemiannual multiplier coefficients (100 terms).
MID_ATMO_AVERAGESMiddle atmosphere average values (10 terms).