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
CssiDailyRecordA single daily record from CSSI space weather data.
CssiDataParsed CSSI space weather data, sorted by date.
CssiSpaceWeatherSpace 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
CssiParseErrorParse error for CSSI space weather files.
OutOfRangeBehaviorBehavior when the requested epoch is outside the data range.
GfzParseErrorParse error for GFZ space weather files.
SpaceWeatherFormatDetected space weather data format.
NameDescription
densityCompute atmospheric density [kg/m³] at the given altitude [km].
parse_gfzParse GFZ Kp_ap_Ap_SN_F107_*.txt format into [CssiData].
detect_formatDetect 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
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).