Skip to main content

Orbital Uncertainty & Risk Engine --- Satellite Collision Probability Solver

Project description

OURE (Orbital Uncertainty & Risk Engine)

Python 3.11+ Coverage License Version

OURE is a high-performance, enterprise-grade Space Situational Awareness (SSA) platform designed for orbital risk prediction, collision avoidance optimization, fragmentation modeling, and massive fleet screening.

Built for mission-critical speed and mathematical rigor, OURE processes Space-Track Two-Line Elements (TLEs), NASA CDDIS data, and CCSDS Conjunction Data Messages (CDMs). It propagates uncertainty using vectorized Monte Carlo simulations and evaluates Probability of Collision ($P_c$) using Foster's algorithm on the encounter B-plane.

Key Features

  • Multi-Fidelity Physics Engine: Native SGP4 propagation combined with a High Precision Orbit Propagator (HPOP) featuring J2 oblateness, Solar Radiation Pressure (SRP), and atmospheric drag perturbations.
  • NASA-Grade Integration: Supports parsing NASA CDDIS CPF (Satellite Laser Ranging) files for centimeter-level accuracy and implements the NASA MSFC Jacchia analytical atmospheric model for highly accurate solar flux drag modifications.
  • Collision Avoidance (SLSQP): Mathematical maneuver optimization to find minimum-fuel 3D Delta-V vectors that mitigate collision risk below safety thresholds.
  • NASA Standard Breakup Model: Simulation of hypervelocity impacts and debris cloud dispersion.
  • Sensor Fusion: Extended Kalman Filter (EKF) updates to simulate commercial radar tasking and covariance collapse.
  • KD-Tree Fleet Screening: Distributed epoch-bucketed $O(N \log N)$ screening of entire satellite constellations against the full NORAD catalog.
  • Enterprise Observability: Fully instrumented FastAPI REST API and Celery/Redis background workers, seamlessly integrated with Prometheus and Grafana for real-time physics engine throughput and risk quantification latency monitoring.
  • Interactive Visualizations: 3D ECI encounter geometry and 2D B-Plane cross-sections using Plotly, wrapped in a dynamic FastAPI + HTMX Operations Dashboard.

Installation & Deployment

OURE can be run locally via CLI, launched via a lightweight web interface, or deployed as a full enterprise microservice stack.

1. Local CLI & Lightweight Launch

git clone https://github.com/h-rishi16/oure.git
cd oure

# Sync all dependencies natively using uv
uv sync --all-extras

# Run the lightweight FastAPI + HTMX stack locally
uv run uvicorn oure.api.main:app --reload

2. Enterprise Stack (Docker Compose)

For production environments, OURE deploys as a fully isolated 6-service stack including the API, Background Workers, Redis Broker, Operations Dashboard, Prometheus metrics, and a Grafana observability suite.

# Start the full Enterprise Stack
docker compose up --build -d

CLI Usage

1. Analyze a Conjunction

oure analyze --primary 25544 --secondary 43205 --look-ahead 72

2. Avoidance Maneuver Wizard

Starts an interactive guide to optimize a fuel-efficient burn:

oure avoid --primary 25544 --secondary 43205

3. Fleet Screening

Screen thousands of secondaries against a fleet of primaries in parallel:

oure analyze-fleet --primaries-file p.json --secondaries-file s.json --workers 8

4. Space Debris Fragmentation

Simulate a "What-if" collision between two objects:

oure shatter --primary 25544 --secondary 43205 --fragments 5000

Architecture & Security

OURE enforces a strict, decoupled 5-layer architecture, hardened against Resource Exhaustion (DoS) and Numerical Singularities:

  1. Core: Immutable data models (StateVector, CovarianceMatrix) and Prometheus Metrics Managers.
  2. Data: Caching fetchers (SpaceTrack, NOAA F10.7), NASA CDDIS CPF parsing, and strict CCSDS CDM Parser.
  3. Physics: Certified SGP4, RK45 Numerical integrators, NASA MSFC Atmospheric modeling, and SRP.
  4. Uncertainty: Memory-hardened Vectorized Monte Carlo ensembles (capped at 100k samples), STM generation, and EKF Sensor updates.
  5. Conjunction/Risk: TCA Golden-section search, Robust Foster $P_c$ math utilizing Moore-Penrose pseudo-inverses (np.linalg.pinv) to prevent singular matrix crashes, and SLSQP maneuver optimization.

Testing & Quality

OURE maintains strict engineering standards, verified by GitHub Actions CI/CD:

  • Test Coverage: 88%+ enforced via pytest-cov across 70+ test suites.
  • Static Analysis: Strict mypy typing and ruff linting.
  • Numerical Stability: Joseph-form covariance updates, eigenvalue-ordered risk projection with singularity protection.
uv run pytest tests/ -v --cov=oure

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oure-1.0.0.tar.gz (235.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oure-1.0.0-py3-none-any.whl (100.9 kB view details)

Uploaded Python 3

File details

Details for the file oure-1.0.0.tar.gz.

File metadata

  • Download URL: oure-1.0.0.tar.gz
  • Upload date:
  • Size: 235.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for oure-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c13e7ab671162547c8002e713d66473c089448c3c035f1de9d99c0c7a5923e79
MD5 3ca956ae0d9043f0ce2dab96beb139c0
BLAKE2b-256 43554163da589d99b9cc1f29ccc79d64ee173eef8d8e2836bfd0f17cc8ca5545

See more details on using hashes here.

Provenance

The following attestation bundles were made for oure-1.0.0.tar.gz:

Publisher: publish.yml on h-rishi16/OURE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oure-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: oure-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 100.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for oure-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3528a0f73c8eae11797517d0bb37b795d618defc84fae4960edbff1fc072b4b6
MD5 349d322aa119a0ea96c5eaee11436b78
BLAKE2b-256 306c5ed7ef9e768c8859105c415dd32ac35d48e2515146d7a3e3dc82e76784af

See more details on using hashes here.

Provenance

The following attestation bundles were made for oure-1.0.0-py3-none-any.whl:

Publisher: publish.yml on h-rishi16/OURE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page