From Raw TLE Data
to Actionable Risk Reports
OrbVeil runs a full-catalog conjunction screening every morning at 06:00 PST. Here's exactly how the pipeline works.
TLE Ingestion
We pull the complete active satellite catalog from CelesTrak twice daily (midnight and noon UTC). This covers the full public catalog of operational satellites, rocket bodies, and tracked debris fragments (size varies day to day with the published catalog). TLEs are validated, deduplicated, and loaded into memory.
Source: CelesTrak full catalog · Updated 2x daily
SGP4 Propagation
Each object's TLE is propagated forward using the SGP4/SDP4 algorithm — the same method used by NORAD and Space-Track. We compute position vectors at 1-minute intervals across a 72-hour lookahead window. This gives us 145 timesteps per object, ~4.3M position vectors total.
Algorithm: SGP4/SDP4 (NORAD standard) · 145 timesteps · 72h window
Spatial Indexing & Close-Approach Detection
At each timestep, we build a kD-tree over all object positions and query for pairs within a 25 km threshold. This reduces O(n²) comparisons to O(n log n) — enabling full-catalog screening in under 10 seconds on edge hardware (NVIDIA Jetson Orin Nano).
Threshold: 25 km · Algorithm: kD-tree · Hardware: Jetson Orin Nano 8GB
CDM Cross-Reference
When a conjunction event is detected, we cross-reference it against the Space-Track CDM archive (collected every 30 minutes). When a matching CDM exists, we surface the authoritative collision probability, miss distance, and object covariance data alongside our TLE-based screening.
CDM collection interval: 30 min · Source: Space-Track.org
ML Risk Classification
Each detected event is passed through our escalation classifier — an XGBoost model trained on 627,000+ historical CDM events. The model predicts whether a conjunction will escalate to critical (requiring maneuver consideration) with PR-AUC 0.849 on held-out test data. Features include miss distance, relative velocity, radial/in-track/cross-track (RSW) geometry, object B* drag terms, and solar activity (F10.7 index).
Model: XGBoost · PR-AUC: 0.849 · Training set: 627K CDM events
Risk Classification
Events are classified into five tiers using a composite score — not distance alone. Miss distance sets the initial band, but RSW geometry and ML-estimated Pc can escalate or de-escalate the final level. RSW decomposition separates separation into Radial (R), In-Track (S), and Cross-Track (W) components. A 2 km cross-track miss is far less dangerous than a 2 km radial miss — RSW captures this. Pc weights the geometry against object size and covariance uncertainty. Final classification = composite of distance band + RSW-informed Pc + velocity factor:
Report Generation & Delivery
Per-operator HTML and PDF reports are generated and published to orbveil.com/reports/. Email digests are sent at 06:30 PST. Critical and High events trigger immediate alerts within minutes of screening completion. All reports include 3D visualization links to sattrack.io.
Daily screening: 06:00 PST · Email digest: 06:30 PST · Alerts: immediate
Limitations & Caveats
OrbVeil uses publicly available TLE data and SGP4 propagation. TLEs are "dead reckoning" for orbits — errors accumulate over time, especially for objects that maneuver or experience variable atmospheric drag. We do not use Special Perturbations (SP) propagation or proprietary radar track data.
For mission-critical maneuver decisions, operators should use authoritative SP-derived CDMs from 18th SDS via Space-Track.org, LeoLabs, or ExoAnalytic Solutions. OrbVeil is a second set of eyes, not the primary authority.