CoolFace
Datasetpublic

juliensimon/celestrak-space-weather

CelesTrak Consolidated Space Weather Credit: NASA Part of a dataset collection on Hugging Face. Dataset description CelesTrak consolidated space weather data -- THE file every orbit propagator needs. Daily Kp, Ap, F10.7, and solar/geomagnetic indices used by SGP4/SDP4 propagators, atmospheric models (JB2008, NRLMSISE), and conjunction screening. The CelesTrak space weather file, maintained by Dr. T.S. Kelso, is the de facto standard input file for… See the full description on the dataset page: https://huggingface.co/datasets/juliensimon/celestrak-space-weather.

sourceHugging Faceotherupdated 11h agoView on Hugging Face
1likes441downloads
Dataset Card

CelesTrak Consolidated Space Weather

<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

CelesTrak consolidated space weather data -- THE file every orbit propagator needs. Daily Kp, Ap, F10.7, and solar/geomagnetic indices used by SGP4/SDP4 propagators, atmospheric models (JB2008, NRLMSISE), and conjunction screening.

The CelesTrak space weather file, maintained by Dr. T.S. Kelso, is the de facto standard input file for operational orbit determination and propagation in the space surveillance community. It consolidates data from multiple agencies -- NOAA SWPC for Kp/Ap indices and solar flux, GFZ Potsdam for definitive geomagnetic indices, and the NRC Herzberg Institute for F10.7 measurements -- into a single, consistently formatted daily time series. The file includes both historical observations and near-term predictions (typically 45 days ahead), using the same format conventions expected by legacy Fortran propagators and modern Python/C++ SGP4 implementations alike.

For orbit propagation, the key parameters are the daily and 3-hourly Ap indices (which drive geomagnetic heating in thermospheric density models) and the F10.7 solar radio flux with its 81-day running averages (which drive solar EUV heating). The NRLMSISE-00 model, for example, requires daily Ap, the 3-hourly Ap for the current and preceding 33 hours, daily F10.7, and the 81-day centered average F10.7bar. JB2008 uses additional solar indices (S10.7, M10.7, Y10.7) that are available in extended versions of this file. Errors in these space weather inputs propagate directly into drag coefficient estimates, making the quality and timeliness of this data critical for conjunction assessment and collision avoidance maneuvers.

The dataset spans the full modern era of satellite operations, with the historical record reaching back to 1957 (International Geophysical Year). This long baseline captures multiple complete solar cycles (cycles 19 through 25), enabling statistical studies of solar cycle variability and its impact on the orbital environment.

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

Schema

ColumnTypeDescriptionSampleNull %
datedatetime64[us]Observation date (UTC). Records begin 1957-10-01 and are updated daily.1957-10-01 00:00:000.0%
bsrnint64Bartels Solar Rotation Number: sequential count of 27-day solar rotation periods since 8 Feb 1832 (epoch chosen by Julius Bartels). Used to align geomagnetic records with the solar rotation cycle.17000.0%
ndint64Day number within the 27-day Bartels rotation (1-27). Together with bsrn, provides a compact solar-rotation-relative timestamp.190.0%
kp1float64Kp index for the 00-03 UT window. Quasi-logarithmic scale (0.0-9.0) measuring global geomagnetic disturbance; derived from up to 13 mid-latitude magnetometer stations. Values >=5 indicate a geomagnetic storm.43.00.7%
kp2float64Kp index for the 03-06 UT window. See kp1 for scale description.40.00.7%
kp3float64Kp index for the 06-09 UT window. See kp1 for scale description.30.00.7%
kp4float64Kp index for the 09-12 UT window. See kp1 for scale description.20.00.7%
kp5float64Kp index for the 12-15 UT window. See kp1 for scale description.37.00.7%
kp6float64Kp index for the 15-18 UT window. See kp1 for scale description.23.00.7%
kp7float64Kp index for the 18-21 UT window. See kp1 for scale description.43.00.7%
kp8float64Kp index for the 21-24 UT window. See kp1 for scale description.37.00.7%
kp_sumfloat64Sum of the eight 3-hourly Kp values for the day (range 0-72). A convenient single-number summary of daily geomagnetic activity used in satellite drag studies.273.00.7%
ap1float64ap index for the 00-03 UT window. Linear-scale equivalent of Kp (range 0-400 nT); more suitable than Kp for numerical averaging and atmospheric drag models such as NRLMSISE-00.32.00.7%
ap2float64ap index for the 03-06 UT window. See ap1 for scale description.27.00.7%
ap3float64ap index for the 06-09 UT window. See ap1 for scale description.15.00.7%
ap4float64ap index for the 09-12 UT window. See ap1 for scale description.7.00.7%
ap5float64ap index for the 12-15 UT window. See ap1 for scale description.22.00.7%
ap6float64ap index for the 15-18 UT window. See ap1 for scale description.9.00.7%
ap7float64ap index for the 18-21 UT window. See ap1 for scale description.32.00.7%
ap8float64ap index for the 21-24 UT window. See ap1 for scale description.22.00.7%
ap_avgfloat64Daily mean of the eight 3-hourly ap values (range 0-400 nT). Standard daily geomagnetic activity indicator; required input to the JB2008 atmospheric density model.21.00.7%
cpfloat64Daily planetary character figure Cp (0.0-2.5, step 0.1). Legacy precursor to the Ap index: 0.0 = extremely quiet, 2.5 = extremely disturbed. Maintained for historical continuity.1.10.7%
c9float64Nine-level conversion of the Cp figure (0-9). Maps the 0.0-2.5 Cp scale to a compact single-digit integer for older data formats.5.00.7%
isnint64International Sunspot Number (daily). Count of sunspots visible on the solar disk; a proxy for solar activity level and the phase of the ~11-year solar cycle. Provided by the Royal Observatory of Belgium.3340.0%
f10_7_obsfloat64Observed daily solar radio flux at 10.7 cm wavelength (2800 MHz), in Solar Flux Units (1 SFU = 10^-22 W m^-2 Hz^-1). Measured at the Dominion Radio Astrophysical Observatory, Penticton, Canada. Typical range: 65-300 SFU. Key proxy for solar EUV radiation and required input to atmospheric drag models.269.30.0%
f10_7_adjfloat64F10.7 flux adjusted to a standard Earth-Sun distance of 1 AU, removing the effect of Earth's elliptical orbit. Use this column for solar cycle studies and model inputs that assume constant Earth-Sun distance.269.80.0%
f10_7_data_typestrData source qualifier: 'OBS' = direct observatory measurement, 'INT' = interpolated, 'PRE' = predicted. Check this column when using recent values that may not yet be final.OBS0.0%
f10_7_obs_center81float6481-day centered average of the observed F10.7 flux (40 days before and after). Smooths short-term variability to reveal the solar cycle trend. Used as the long-term solar activity input in atmospheric models.266.60.0%
f10_7_obs_last81float6481-day trailing average of the observed F10.7 flux (current day plus prior 80 days). Suitable for real-time operations where future data is unavailable.230.90.0%
f10_7_adj_center81float6481-day centered average of the 1-AU adjusted F10.7 flux. Use for solar cycle analysis independent of orbital geometry.266.80.0%
f10_7_adj_last81float6481-day trailing average of the 1-AU adjusted F10.7 flux. Causal (no future data) version of f10_7_adj_center81.235.50.0%

Quick stats

  • —25,421 daily records (1957-10-01 to 2041-10-01)
  • —31 columns of solar and geomagnetic indices
  • —Mean F10.7 flux: 122.8 SFU
  • —Max daily Kp sum: 670 (scale 0-72)

Usage

python
from datasets import load_dataset

ds = load_dataset("juliensimon/celestrak-space-weather", split="train")
df = ds.to_pandas()
python
from datasets import load_dataset

ds = load_dataset("juliensimon/celestrak-space-weather", split="train")
df = ds.to_pandas()

# Recent space weather
print(df.tail(10))

# Plot F10.7 solar flux over time
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(14, 4))
ax.plot(df["date"], df["f10_7_obs"], linewidth=0.5)
ax.set_xlabel("Date")
ax.set_ylabel("F10.7 (SFU)")
ax.set_title("Solar Radio Flux (F10.7)")
plt.show()

Data source

https://celestrak.org/SpaceData/

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{celestrak_space_weather,
  title = {CelesTrak Consolidated Space Weather},
  author = {Simon, Julien},
  year = {2026},
  url = {https://huggingface.co/datasets/juliensimon/celestrak-space-weather},
  note = {Derived from CelesTrak, https://celestrak.org/SpaceData/},
  publisher = {Hugging Face}
}

License

celestrak-usage-policy