IonoBench: Evaluating Spatiotemporal Models for Ionospheric Forecasting under Solar-Balanced and Storm-Aware Conditions
Published in Remote Sensing (MDPI)
Storm (Dst −292 nT): 12-hour-ahead forecasts (top) and residuals (bottom), on unseen test samples.
Quiet (Dst +6 nT): same models and layout. Note the residual scale: ±15 TECU here vs. ±45 TECU during the storm.
This project is a benchmark framework for evaluating deep spatiotemporal models on Global Ionospheric Map (GIM) forecasting. The framework provides standardized datasets, evaluation protocols, pretrained models, and configuration-based experimentation.
| Model | RMSE (↓) | R² (↑) | SSIM (↑) |
|---|---|---|---|
| SimVPv2 | 2.25 ± 1.35 | 0.962 ± 0.015 | 0.969 ± 0.020 |
| DCNN121 | 2.62 ± 1.66 | 0.950 ± 0.023 | 0.963 ± 0.025 |
| SwinLSTM | 2.66 ± 1.49 | 0.946 ± 0.020 | 0.960 ± 0.023 |
| IRI 2020 | 6.39 ± 4.53 | 0.720 ± 0.109 | 0.852 ± 0.043 |
Click Open in Colab to test without local setup.
- Supports multichannel spatiotemporal models for multistep 24-hour input to 24-hour output setup
- Includes stratified (blocked subsets balancing solar and geomagnetic representation for the models) and chronological datasets
- Model registry and configuration system (for contributors adding new models)
- Reproducible and pretrained models are available via Hugging Face (see tutorial/)
- Experiments for solar enforcing (increasing solar flux over different portions of the solar cycle) and storm behaviour for intense and superintense storms
# Clone repository
git clone https://github.com/Mert-chan/IonoBench.git# Change your directory
cd IonoBench# Create environment
conda create -n ionobench python=3.11 -y
conda activate ionobench# Install dependencies
pip install -r requirements.txtTested on: Python 3.11.13 · PyTorch 2.5.1 · CUDA 12.4
The environment usestorch==2.5.1, which requires a compatible CUDA build.
Run experiments without notebooks:
# Download dataset
python -m scripts.cli data --type stratified
# Download model
python -m scripts.cli model --name SimVPv2
# Test on test set
python -m scripts.cli test --model SimVPv2 --checkpoint training_sessions/SimVPv2/...pth --session-name test_run
# Solar intensity analysis
python -m scripts.cli solar --checkpoint training_sessions/SimVPv2/...pth --session-name solar_run --save-raw
# Storm event analysis
python -m scripts.cli storm --checkpoint training_sessions/SimVPv2/...pth --session-name storm_run --save-rawFor details: python -m scripts.cli --help
Citation
@article{Ionobench2025,
title = {IonoBench: Evaluating Spatiotemporal Models for Ionospheric Forecasting under Solar-Balanced and Storm-Aware Conditions},
author = {Turkmen, M.C. and Lee, Y.H. and Tan, E.L.},
journal = {Remote Sensing},
year = {2025},
volume = {17},
number = {15},
pages = {2557},
doi = {10.3390/rs17152557}
}