CoolFace
Datasetpublic

Fantazma2211/geomagnetic-kp-index

Geomagnetic Kp Index (3-Hourly) Credit: NASA Part of a dataset collection on Hugging Face. Dataset description 3-hourly geomagnetic Kp index from NOAA SWPC, measuring planetary magnetic disturbance on a 0-9 scale. Updated daily, growing incrementally. The Kp index is a quasi-logarithmic scale (0-9) that quantifies geomagnetic disturbance based on magnetometer readings from 13 ground stations worldwide. It is the basis for the NOAA G-scale storm… See the full description on the dataset page: https://huggingface.co/datasets/Fantazma2211/geomagnetic-kp-index.

sourceHugging Facecc-by-4.0updated 5mo agoView on Hugging Face
0likes34downloads
Dataset Card

Geomagnetic Kp Index (3-Hourly)

<div align="center"> <img src="banner.jpg" alt="Aurora borealis blankets the Earth, seen from the ISS" width="400"> <p><em>Credit: NASA</em></p> </div>

Part of a [dataset collection](https://huggingface.co/collections/juliensimon/space-weather-datasets-69c24cae98f1666f2101ca70) on Hugging Face.

Dataset description

3-hourly geomagnetic Kp index from NOAA SWPC, measuring planetary magnetic disturbance on a 0-9 scale. Updated daily, growing incrementally.

The Kp index is a quasi-logarithmic scale (0-9) that quantifies geomagnetic disturbance based on magnetometer readings from 13 ground stations worldwide. It is the basis for the NOAA G-scale storm classification: quiet (Kp 0-4), G1 minor (Kp=5), G2 moderate (Kp=6), G3 strong (Kp=7), G4 severe (Kp=8), G5 extreme (Kp=9).

The Kp index was introduced by Julius Bartels in 1949 and remains one of the most widely used geomagnetic activity measures in space physics and space operations. It is computed every 3 hours from the maximum deviation of the horizontal magnetic field component at each of 13 subauroral magnetometer stations, after removing the quiet-day baseline variation. The conversion from linear nanotesla deviations to the quasi-logarithmic K scale means that each unit step represents roughly a doubling of disturbance amplitude: K=5 corresponds to about 70 nT variation, while K=9 corresponds to over 500 nT.

Operationally, Kp is the primary input to the NOAA G-scale storm classification used by satellite operators, power grid managers, and aviation authorities. The associated Ap index (a linearized daily average derived from Kp) is a required input for NRLMSISE-00 and JB2008 thermospheric density models, which drive satellite drag computation. During a G3 storm (Kp=7), atmospheric drag at 400 km altitude can increase by a factor of 2-3, causing significant orbital decay for LEO assets including the ISS and Starlink satellites.

This dataset is suitable for time-series forecasting, tabular classification tasks.

Schema

ColumnTypeDescriptionSampleNull %
datetimedatetime64[ns]Start timestamp of the 3-hour observation window (UTC). Kp is reported at 00, 03, 06, 09, 12, 15, 18, and 21 UT each day — 8 readings per day.2026-03-17 00:00:000.0%
kp_valuefloat64Planetary K-index (Kp), a quasi-logarithmic scale (0.0-9.0) measuring global geomagnetic disturbance. Derived from standardized magnetometer readings at up to 13 mid-latitude observatories worldwide. Values >=5 indicate a geomagnetic storm; >=7 indicate a severe storm capable of disrupting power grids and satellites.2.00.0%
ap_runningint64Running 24-hour average of the ap index, the linear-scale equivalent of Kp (range 0-400 nT). More mathematically convenient than Kp for averaging and modeling. Used as a required input to atmospheric drag models such as NRLMSISE-00 and JB2008.70.0%
station_countint64Number of geomagnetic observatories that contributed data for this 3-hour window (maximum 13). Counts below ~5 reduce index reliability; null or low counts are common for historical records before 1960.80.0%
storm_levelstringNOAA geomagnetic storm scale: quiet (Kp<5), G1 (Kp=5, minor), G2 (Kp=6, moderate), G3 (Kp=7, strong), G4 (Kp=8, severe), G5 (Kp=9, extreme). G3+ events can cause HF radio blackouts, GPS degradation, and increased satellite drag.quiet0.0%

Quick stats

  • —461 readings (2026-03-17 to 2026-05-13)
  • —Average Kp: 2.3, Maximum: 7.0
  • —28 storm-level readings (Kp >= 5)

Usage

python
from datasets import load_dataset

ds = load_dataset("juliensimon/geomagnetic-kp-index", split="train")
df = ds.to_pandas()
python
from datasets import load_dataset

ds = load_dataset("juliensimon/geomagnetic-kp-index", split="train")
df = ds.to_pandas()

# Storm events
storms = df[df["kp_value"] >= 5]
print(f"{len(storms)} storm readings")

# Kp time series
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(12, 4))
ax.plot(df["datetime"], df["kp_value"], linewidth=0.5)
ax.axhline(5, color="red", linestyle="--", alpha=0.5, label="Storm threshold (Kp>=5)")
ax.set_ylabel("Kp Index")
ax.set_title("Geomagnetic Kp Index")
ax.legend()
plt.tight_layout()
plt.show()

# Storm level distribution
df["storm_level"].value_counts().plot.bar()
plt.title("Kp Storm Level Distribution")
plt.show()

Data source

https://www.swpc.noaa.gov/products/planetary-k-index

Update schedule

Daily at 15:30 UTC

Related datasets

If you find this dataset useful, please consider giving it a like on Hugging Face. It helps others discover it.

About the author

Created by Julien Simon — AI Operating Partner at Fortino Capital. Part of the Space Datasets collection.

Citation

bibtex
@dataset{geomagnetic_kp_index,
  title = {Geomagnetic Kp Index (3-Hourly)},
  author = {juliensimon},
  year = {2026},
  url = {https://huggingface.co/datasets/juliensimon/geomagnetic-kp-index},
  publisher = {Hugging Face}
}

License

CC-BY-4.0