This repository contains the supporting code for the paper "Near-Real Time Thermospheric Density Retrieval from Precise Low Earth Orbit Spacecraft Ephemerides During Geomagnetic Storms" by Charles Constant, Santosh Bhattarai, Indigo Brownhall, Anasuya Aruliah, and Marek Zeibart (2024).
Report Issues
·
Request Features
This repository provides a suite of tools for the processing and analysis of precise ephemeris data to derive thermospheric densities during geomagnetic storms.
- Data Acquisition: Automated scripts to fetch SP3 orbit files from the GFZ Potsdam FTP server, convert them into continuous ephemerides, and transform the data to the inertial frame (J2000/EME2000). See
Get_SP3_from_GFZ_FTP.py
for implementation details. - Density Inversion: Core routines to perform density inversion from satellite ephemerides, as detailed in
source/DensityInversion/PODDensity.py
. - Branch Structure:
- The
main
branch includes the complete codebase and precomputed density results for the satellites studied: CHAMP, TerraSAR-X, and GRACE-FO-A. Also contains with scripts to reproduce all results in the paper. - The
lite
branch mirrors themain
branch but excludes theSWindices
directory (~2 GB of space weather index data), which is primarily used for index plotting.
- The
- Batch Processing: The
StormTimeDensity.py
script enables batch processing of multiple geomagnetic storms, facilitating density inversion on compute clusters. - Space Weather Indices: Scripts for identifying and categorizing geomagnetic storms based on space weather indices are available in
SWIndices.py
, which includes methods to process data for the entire operational lifetime of each satellite.
To replicate the figures and results presented in the paper, execute the following commands from the root directory:
python -m source.DensityInversion.GFOAccelerometryBenchmark
python -m source.DensityInversion.Plotting.PODDensityPlotting
This repository allows the reproduction of all figures included in the paper, along with additional plots that provide further insights. Examples of the generated outputs are illustrated below:
The system is designed for deployment on a compute cluster and is structured as follows:
To set up the environment required to run the code, follow these steps:
-
Clone the repository:
git clone https://github.com/CharlesPlusC/PODDensity.git cd PODDensity
-
Install the required packages using the provided environment file:
conda env create -f pod_density_env.yml
-
Activate the environment:
conda activate pod_density_env
-
Run the scripts as described above to reproduce the results.
We welcome and encourage contributions and collaborations from researchers, engineers, and enthusiasts who are interested in advancing the fields of space weather modeling and satellite operations. If you would like to contribute or collaborate, please feel free to fork the repository and submit a pull request, or raise an issue with a description of your proposal or question. I will review and respond to all submissions and inquiries as promptly as possible.
Thank you for your interest and support!