← Back to live globe
UC20 · Space Weather

Space Weather & Aurora

The live aurora borealis and australis ovals rendered on a 3D WebGL globe at accurate altitude — powered by NOAA SWPC's Ovation Prime aurora forecast model, updated every 5 minutes, with real-time solar wind and Kp geomagnetic index.

NOAA SWPC

Data source

5 min

Update interval

120 km

Aurora altitude

0–9

Kp index scale

Data Pipeline

☀️
01

NOAA SWPC Multi-Endpoint Fetch

Four NOAA Space Weather Prediction Center endpoints are fetched in parallel: the Ovation Prime aurora forecast (probability grid), the planetary Kp index time series, and the real-time solar wind plasma and magnetic field data from the DSCOVR satellite at the L1 Lagrange point.

NOAA SWPC (free, no key)ovation_aurora_latest.jsonplanetary-k-index.jsonsolar-wind plasma + mag
🔁
02

API Proxy & Data Combination

A Next.js Route Handler fetches all four endpoints in parallel and combines them into a single JSON response with 5-minute caching. The most recent values are extracted from each time series to provide the current Kp, solar wind speed, density, and the IMF Bz component.

Parallel Promise.all fetchMost-recent value extraction5 min edge cacheSingle combined response
🔬
03

Aurora Grid Parsing

The NOAA aurora data is a 360×180 degree probability grid (one value per degree of longitude and latitude). Coordinates with probability > 0 are filtered and longitude is remapped from 0–359 to −180–180. Aurora points are classified by probability into colour bands from dark green (low) to cyan-white (peak).

360×180 probability gridProbability threshold filterLongitude remapping (0–359 → ±180)6-level colour gradient
🖥
04

WebGL Aurora Rendering at 120 km

Aurora points are placed at 120 km altitude above Earth (aurora typically occurs at 90–150 km). The `latLngAltToXYZ` function maps geodetic coordinates to Three.js XYZ space using the globe radius constant. A canvas-drawn green glow sprite and slow opacity pulse creates the shimmering aurora effect.

Three.js BufferGeometry120 km altitude renderingGreen glow canvas spriteSlow shimmer animation

Kp Index Scale

The planetary Kp index is a 0–9 scale measuring global geomagnetic activity, updated every 3 hours by NOAA. It drives aurora visibility latitude and geomagnetic storm classification.

Kp RangeStorm LevelInfrastructure Impact
0–1QuietNo significant effects
1–2UnsettledMinor fluctuations in power grids
2–4ActiveWeak power grid fluctuations; HF radio degradation at high latitudes
4–5Minor Storm (G1)Power grid fluctuations; possible auroras at 60° geomagnetic lat.
5–6Moderate (G2)GPS degradation; auroras visible to 55° lat.
6–7Strong (G3)Transformer damage risk; aurora at 50° lat.
7–8Severe (G4)Widespread voltage control problems; aurora at 45° lat.
8–9Extreme (G5)Complete HF blackout; aurora at 40° lat.; grid collapse risk

What drives geomagnetic storms?

The primary driver of geomagnetic storms is the Interplanetary Magnetic Field (IMF) Bz component — when Bz turns strongly negative, it connects with Earth's northward magnetic field and allows solar wind energy to pour into the magnetosphere. This energises electrons in the Van Allen belts and sends them spiralling into the polar atmosphere at 90–150 km altitude, where they excite atmospheric nitrogen and oxygen into the characteristic green and red aurora colours.

The most intense recorded storm was the 1859 Carrington Event (estimated Kp 9+), which induced currents so strong that telegraph operators received shocks. The 1989 Quebec blackout (Kp 9) left 6 million without power for 9 hours. A repeat Carrington-scale event today could cause trillions of dollars in infrastructure damage.