nyx-space / nyx

Nyx is a high fidelity, fast, reliable and validated astrodynamics toolkit library written in Rust and available in Python
https://nyxspace.com
GNU Affero General Public License v3.0
198 stars 20 forks source link

High fidelity drag modeling #317

Open ChristopherRabotin opened 5 months ago

ChristopherRabotin commented 5 months ago

High level description

There are currently some low fidelity drag models. In the past few years, these drag models have greatly improved. This ticket should support one of the high fidelity drag models.

Refer to perplexity , the CTIPe model, and the attached paper. The-comparison-of-the-simulated-thermosphere-mass-density-for-the-DTM2013-MSIS20

Comparison_of_Empirical_and_Theoretical_Modelsof.pdf

Requirements

What does the system need to do?

Test plans

How do we test that these requirements are fulfilled correctly? What are some edge cases we should be aware of when developing the test code?

Design

Document, discuss, and optionally upload design diagram into this section.

scottshambaugh commented 4 months ago

See these two papers for good surveys:

Mutschler, S. "A Survey of Current Operations-Ready Thermospheric Density Models for Drag Modeling in LEO Operations" October 2023. He, J, et al, "Comparison of Empirical and Theoretical Models of the Thermospheric Density Enhancement During the 3–4 February 2022 Geomagnetic Storm" 2023.

Note that ballistic coefficients (Cd*A/m) that have been estimated using a model and on-orbit satellite data may not transfer to other models. DTM 2020 reports 20-30% lower densities than DTM2013, for example, and NRLMSIS 2.0 reports a bit lower than NRLMSISE-00. If models are switched, ballistic coefficient estimates should be regenerated.

Of the publicly available models, only NRLMSISE-00 has a license that is maximally permissive for all uses. DTM 2020 would be my top personal recommendation for non-commercial users.

Model Inputs How to run Link License Restrictions Notes
NRLMSISE-00 Kp/Ap, F10.7 Python library https://github.com/SWxTREC/pymsis None
NRLMSIS 2.1 Kp/Ap, F10.7 Fortran source, python library https://map.nrl.navy.mil/map/pub/nrl/NRLMSIS/NRLMSIS2.1/ https://github.com/SWxTREC/pymsis No commercial use, contact Naval Research Laboratory
DTM 2020 Kp/Ap, F10.7 Runs on request, python wrapper https://ccmc.gsfc.nasa.gov/models/DTM~2020/ https://swami-h2020-eu.github.io/mcm/dtm2020.html No commercial use without license, contact CNES Recommended by LASP SWx TREC
JB2008 Kp/Ap, F10.7, Dst, S10, M10, Y10 Python wrapper https://ccmc.gsfc.nasa.gov/models/JB2008~2008/ https://spacewx.com/jb2008/ None Dst, S10, M10, Y10 indices are proprietary indices from Space Environment Technologies that require a license for more than the most basic queries
TIE-GCM Kp/Ap, F10.7 Binaries https://ccmc.gsfc.nasa.gov/models/TIE-GCM~2.0/ https://www.hao.ucar.edu/modeling/tgcm/tie.php Academic use only
DTM 2013 Runs on request https://ccmc.gsfc.nasa.gov/models/DTM~2013/
CTIPe Runs on request https://ccmc.gsfc.nasa.gov/models/CTIPe~4.1/ Upper limit of 400 km
MAGE Runs on request https://ccmc.gsfc.nasa.gov/models/MAGE~0.75/ https://cgs.jhuapl.edu/Models/mage.php
SD-WACCMX Runs on request, extensive setup for local runs https://ccmc.gsfc.nasa.gov/models/WACCMX~2.2/ https://www2.hao.ucar.edu/modeling/waccm-x Unclear
WAM-IPE NOAA internal https://ccmc.gsfc.nasa.gov/models/WAM-IPE~v1.0/ https://www.swpc.noaa.gov/products/wam-ipe Not publicly available
HASDM Space Force internal https://spacewx.com/hasdm/ Not publicly available Gold standard model, historical data available
scottshambaugh commented 4 months ago

There are basically 3 use cases for drag modeling: 1) Historical modeling 2) Short-term (0-7 day) "nowcasting" 3) Medium - long term (3 month - 20 year) forecasting

The model inputs of solar flux (F10.7) and geomagnetic activity (Kp/Ap) have different availabilities. As a non-exhaustive list, historical data and real-time data is available from GFZ Potsdam. Short term forecasts are available from NOAA SWPC. Medium-long term forecasts are tricky, as the science isn't settled. Solar flux predictions are available, but geomagnetic indices are not (as far as I know). There are a few different solar cycle forecast sources listed and compared in Doing Battle with the Sun: Lessons From LEO and Operating a Satellite Constellation in the Elevated Atmospheric Drag Environment of Solar Cycle 25.

I'm not sure how environmental data is being handled elsewhere, but some thought will have to go into it here. For historical data, that could be stored. Accurate nowcast and historical data from the cutoff to the present day would have to be pulled from an API endpoint dynamically. Future predictions can be stored, but have significant uncertainty associated with them, and should be user configurable if they want to put in stressing scenarios.

scottshambaugh commented 4 months ago

For getting a feel of how the atmosphere varies over space and time, there's a really nice viewer here. Solar loading is really apparent. Take a look at mass at e.g. 500 km: https://swx-trec.com/msis/ image