CoolFace
Datasetpublic

juliensimon/orbital-fragmentation-events

Orbital Fragmentation Events Part of the Orbital Mechanics Datasets collection on Hugging Face. Catalog of 1,073 orbital fragmentation events derived from the NORAD Satellite Catalog (SATCAT) via CelesTrak. A fragmentation event is identified as any launch that produced 4 or more cataloged debris objects, indicating an in-orbit breakup caused by explosions, collisions, anomalous events, or deliberate destruction. Dataset description Every significant breakup event… See the full description on the dataset page: https://huggingface.co/datasets/juliensimon/orbital-fragmentation-events.

sourceHugging Faceotherupdated 4mo agoView on Hugging Face
0likes20downloads
Dataset Card

Orbital Fragmentation Events

Part of the [Orbital Mechanics Datasets](https://huggingface.co/collections/juliensimon/orbital-mechanics-datasets-69c24caca4ab3934c9856994) collection on Hugging Face.

Catalog of 1,073 orbital fragmentation events derived from the NORAD Satellite Catalog (SATCAT) via CelesTrak. A fragmentation event is identified as any launch that produced 4 or more cataloged debris objects, indicating an in-orbit breakup caused by explosions, collisions, anomalous events, or deliberate destruction.

Dataset description

Every significant breakup event in Earth orbit since 1960 is captured in this dataset. When a satellite or rocket body fragments -- whether from a propulsion failure, accidental collision, deliberate destruction (e.g., anti-satellite tests), or unexplained anomaly -- it produces tracked debris objects cataloged by the 18th Space Defense Squadron. This dataset aggregates those debris back to their parent launch, identifying the primary spacecraft or rocket body involved and computing debris statistics. It is inspired by the methodology used in NASA's "History of On-Orbit Satellite Fragmentations" technical report series published by the Orbital Debris Program Office.

Schema

ColumnTypeDescription
parent_object_idstringInternational designator of parent object (COSPAR ID)
parent_norad_idint32NORAD catalog number of the parent object
parent_namestringName of the parent spacecraft or rocket body
parent_object_typestringPAY (payload), R/B (rocket body), DEB (debris)
country_codestringOwner/operator country or organization code
launch_datedatetimeDate of the original launch (UTC)
launch_yearint32Year of launch (for grouping/filtering)
launch_sitestringLaunch site code
debris_catalogedint32Total number of cataloged debris pieces from this event
debris_on_orbitint32Number of debris pieces still in orbit
debris_decayedint32Number of debris pieces that have reentered
decay_pctfloatPercentage of debris that has decayed
apogee_kmfloatApogee altitude of parent object orbit (km)
perigee_kmfloatPerigee altitude of parent object orbit (km)
altitude_kmfloatMean orbital altitude (km)
inclination_degfloatOrbital inclination (degrees)
period_minfloatOrbital period (minutes)
orbit_typestringLEO, MEO, GEO, or HEO

Quick stats

  • 1,073 fragmentation events spanning 1960 to 2026
  • 32,567 total cataloged debris, 11,920 still on orbit
  • Orbit distribution: LEO (947), MEO (65), GEO (47), unknown (8), HEO (6)
  • Top countries: CIS (618), US (267), PRC (99), JPN (22), FR (13)

Most prolific breakup events

Parent ObjectCountryDebris CatalogedOn OrbitAltitude (km)
FENGYUN 1CPRC3,5342,343803
COSMOS 1408CIS1,8065146
COSMOS 2251CIS1,716639781
YUNHAI-3 01PRC793631848
STEP 2US75358597

Usage

python
from datasets import load_dataset

ds = load_dataset("juliensimon/orbital-fragmentation-events", split="train")
df = ds.to_pandas()

# Most prolific breakups
df.nlargest(10, "debris_cataloged")[["parent_name", "debris_cataloged", "debris_on_orbit"]]

# Events still polluting orbit (>90% debris remaining)
active_pollution = df[df["decay_pct"] < 10].sort_values("debris_on_orbit", ascending=False)

# Breakups by orbit type
df.groupby("orbit_type")["debris_cataloged"].sum()

# Events by decade
df["decade"] = (df["launch_year"] // 10) * 10
df.groupby("decade")["parent_norad_id"].count()

# Country breakdown
df.groupby("country_code")["debris_cataloged"].agg(["count", "sum"]).sort_values("sum", ascending=False).head(10)

Data source

Derived from the CelesTrak SATCAT, which mirrors the official US Space Command catalog maintained by the 18th Space Defense Squadron. Fragmentation events are identified by grouping cataloged debris objects by their international designator prefix (launch ID) and filtering for launches with 4+ debris pieces.

For authoritative event-by-event analysis including assessed causes, see NASA's History of On-Orbit Satellite Fragmentations report series.

Related datasets

Pipeline

Source code: juliensimon/space-datasets

Citation

bibtex
@dataset{fragmentation_events,
  author = {Simon, Julien},
  title = {Orbital Fragmentation Events},
  year = {2026},
  publisher = {Hugging Face},
  url = {https://huggingface.co/datasets/juliensimon/orbital-fragmentation-events},
  note = {Derived from NORAD SATCAT via CelesTrak (Dr. T.S. Kelso)}
}

License

CelesTrak Usage Policy