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 29,790+ objects: operational satellites, rocket bodies, and tracked debris fragments. 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.