Sachin Alexander Reddy

VIPER — Predicting equatorial vertical plasma drift from global TEC

VIPER (Vertical dRIfts: Predicting EquatoRial dynamics) is a machine learning model that predicts day-to-day equatorial vertical plasma drift from publicly available GPS-derived total electron content (TEC) data — with built-in uncertainty quantification.

Paper (AGU)

Overview

Vertical plasma drift (vz) governs the redistribution of ionospheric plasma at low latitudes through the E × B mechanism. It controls the altitude of the ionosphere, modulates the Equatorial Ionization Anomaly (EIA), and sets up conditions for space weather irregularities that disrupt GPS and communications. Measuring vz directly requires in-situ satellites — rare, expensive, and limited in spatial coverage.

VIPER bypasses this bottleneck. It learns the relationship between TEC patterns in global ionospheric maps (GIMs) and simultaneous vz measurements from the C/NOFS IVM instrument, then uses that mapping to predict drift at any longitude, any day — from ground-based GPS data alone.

Animated JPL Global Ionospheric Map showing the Equatorial Ionization Anomaly
An animated JPL Global Ionospheric Map (GIM). The twin TEC crests at ±15° magnetic latitude are the EIA — the signature that VIPER uses to infer vertical plasma drift.

Motivation

Empirical drift models exist, but they are climatological: they represent average behavior, not the day-to-day variability that matters most for space weather forecasting. Physics-based models can capture variability but require wind and chemical inputs that are rarely available in real time.

VIPER is the first model to predict daily vz globally from TEC data alone, offering a path to real-time ionospheric nowcasting without in-situ measurements.

The model is capped at quiet geomagnetic conditions (Kp < 3) for this first release, making it a robust quiet-time baseline — and a test bed for future storm-time extensions.

Data & feature engineering

VIPER is trained on six years of data (2009–2015) spanning solar minimum through the ascending phase of solar cycle 24.

Inputs

  • JPL GIMs — 96 maps per day at 15-min cadence, converted to magnetic coordinates using ApexPy. Each day is averaged to a single 24-hr TEC map, then split into eight longitude sectors.
  • C/NOFS IVM vz — in-situ vertical drift measurements from the Ion Velocity Meter, used as the training target.

EIA feature extraction

A novel Gaussian fitting routine identifies the EIA in each TEC profile and extracts three physically motivated features:

  • P2T (Peak-to-Trough) — EIA prominence; a proxy for E × B drift magnitude.
  • DOP (Distance of Peaks) — latitudinal separation of the northern and southern crests; relates to the height the plasma fountain reaches.
  • AOP (Asymmetry of Peaks) — hemispheric asymmetry driven by trans-hemispheric winds and production asymmetries.

Cyclical features (day-of-year, MLT, geographic longitude) are encoded as sine/cosine pairs to respect their periodicity. Solar flux (F10.7) and geomagnetic activity (SYM-H daily min, max, range) complete the input vector. Total training set: ~744 k samples (80/10/10 train/test/validation).

Model

VIPER is a four-layer Multi-Layer Perceptron (MLP) with ReLU activations, optimised via Bayesian hyperparameter search:

  • Layer widths: 1024 → 512 → 256 → 128
  • Dropout rate: 0.2
  • Learning rate: 10−3, stepped down by 0.6× every 10 epochs
  • Batch size: 128

Training ran on a 128-core cluster with a single NVIDIA A-100 GPU at UCL MSSL and converged in under 15 minutes.

Uncertainty quantification

VIPER uses Monte Carlo (MC) Dropout — dropout is kept active at inference time, so each forward pass produces a slightly different prediction. Running 500 passes per input yields a distribution over vz, from which the Median Absolute Deviation (MAD) is reported as the prediction uncertainty. This means every VIPER output comes with a confidence estimate, without any additional computational overhead beyond the 500 samples.

The uncertainty distributions are non-Gaussian, so mean and standard deviation are not appropriate summary statistics — MAD is used throughout.

Results

Evaluated on a held-out test set of ~93 k samples:

  • MAE: 8.3 m/s
  • Pearson R: 0.89
  • Prediction Efficiency (PE): 0.78

VIPER captures both upward and downward drift with limited systematic bias. Error is consistent across MLT, season, and longitude — but doubles at 6 MLT compared to 15 MLT, reflecting sparse data at post-midnight local times when C/NOFS ion density falls below the IVM quality threshold. Performance is strongest during equinox (symmetric EIA) and degrades slightly when the AOP is large, which points to wind asymmetries as a remaining challenge.

What's next

  • Extending VIPER to storm-time conditions (Kp ≥ 3) where the EIA structure is more complex and data are sparser.
  • Daily operational predictions using near-real-time JPL GIM products.
  • Integrating VIPER outputs as boundary conditions for global physics-based ionospheric models.