Skip to main content

Simulate and schedule compute jobs across satellite constellations

Project description

Orbital Compute Simulator

The honest, open-source answer to "should we put GPUs in orbit?"

Tests 222+ Tests Python 3.9+ License: MIT 24K+ Lines

Live Demo | 3D Globe | Cost Calculator | Constellation Designer | Data Pipeline


Everyone in orbital compute is selling a dream. We sell the math.

  • Orbital compute is 24-50x more expensive than AWS. We publish the numbers.
  • In-orbit processing saves 99% of downlink bandwidth. We prove it with simulation.
  • Battery capacity fades to 66% in 3 years of LEO cycling. We model the physics.
  • The PHOENIX algorithm improves worst-case battery by 23 percentage points. We implemented the paper.

This is the only open-source tool that models the complete space datacenter stack — from orbital mechanics to job scheduling to business economics — and tells you the truth about what works and what doesn't.

No hype. No hand-waving. No "trust us." Run the simulation yourself.

Who Is This For?

You are... You need... Start here
Startup founder pitching orbital compute to VCs "Is this economically viable?" python -m orbital_compute.cost_model (30 sec)
Grad student writing an OEC thesis A baseline simulator to compare your algorithm against pip install orbital-compute && python -m orbital_compute
Engineer at Starcloud/Axiom/Kepler "Will PHOENIX scheduling help our battery life?" python -m orbital_compute.phoenix
Mission planner sizing a constellation "How many sats do I need for 1000 GPU-hours/day?" python -m orbital_compute.designer
Journalist writing about space datacenters "Is orbital compute actually viable?" Data Pipeline Visualization
Conference reviewer checking an OEC paper "Are these numbers realistic?" REPRODUCIBILITY.md
pip install orbital-compute
python -m orbital_compute

PyPI

Why In-Orbit Processing?

The data pipeline simulator proves the core value proposition:

Strategy                   Generated   Downlinked   Saved    Backlog
raw_downlink                 1042 GB      900 GB    13.6%    142 GB  (growing!)
image_classification         1042 GB       10 GB    99.0%      0 GB
object_detection             1042 GB        5 GB    99.5%      0 GB

Raw downlink can't keep up — 142 GB backlog growing every day. In-orbit processing saves 99% of bandwidth. This is why orbital compute exists.

What It Does

26 Python Modules

Category Modules What It Models
Orbital Mechanics orbit.py, constellations.py SGP4 propagation, TLE data, eclipse detection, real Starlink TLEs from CelesTrak
Power & Thermal power.py, thermal.py Solar panels, battery charge/discharge, Stefan-Boltzmann radiative cooling
Scheduling scheduler.py, scheduler_v2.py Greedy + look-ahead schedulers with eclipse forecasting (PHOENIX-inspired)
Networking isl.py, network.py Inter-satellite optical links, routing, topology analysis, Floyd-Warshall
Radiation radiation.py SEU fault injection, South Atlantic Anomaly, 4 recovery strategies
Workloads workloads.py 9 realistic types: Earth obs, AI inference, defense/ISR, scientific
Ground Stations ground_stations.py 10 global stations, elevation-angle contact windows, pass prediction
Data Pipeline data_pipeline.py Sensor → storage → in-orbit processing → downlink. Proves 99% bandwidth savings
Mission Planning mission_planner.py Ops timeline, conflict detection, data budget calculator, availability
Design designer.py Auto-design optimal constellation from requirements + budget
Economics cost_model.py CAPEX/OPEX, break-even, ROI, terrestrial comparison. Honest: 24-50x more expensive
Reliability reliability.py MTBF, constellation availability (binomial), SLA analysis, degradation curves
Debris & Propulsion debris.py, propulsion.py Collision avoidance, CAM planning, Kessler risk, drag model, station-keeping, deorbit
Federated Learning federated.py Train ML models across constellation (FedAvg/FedProx/SCAFFOLD), ISL-aware aggregation
K8s Integration k8s_scheduler.py Kubernetes scheduler extender for orbit-aware pod placement
Standards formats.py, standards.py CCSDS OEM, STK ephemeris, ECSS power/thermal/link budgets
Interface api.py, cli.py, simulator.py, visualize.py REST API, unified CLI, core engine, 3D globe generator

Interactive Web App

Live at shipitandpray.github.io/orbital-compute

  • Dashboard — Configure constellation, run simulation in-browser, see fleet stats + timelines
  • 3D Globe — Three.js visualization with orbits, ground stations, ISL links, play/pause
  • Cost Calculator — Drag sliders, see CAPEX/OPEX/break-even update in real-time
  • Constellation Designer — Input requirements, get optimal design with Walker geometry
  • Data Pipeline — Canvas chart proving why in-orbit processing is necessary
  • API Docs — REST endpoint documentation with curl examples

All runs in the browser. No server. No login. No cold starts.

Quick Start

git clone https://github.com/ShipItAndPray/orbital-compute.git
cd orbital-compute
pip install -r requirements.txt

# 30-second overview of everything
python -m orbital_compute

# Full demo (all subsystems: orbit + power + thermal + ISL + radiation + scheduling)
python demo.py

# Custom simulation
python run_sim.py --sats 12 --hours 24 --jobs 100

# Constellation designer (auto-design from requirements)
python -m orbital_compute.designer

# Cost analysis
python -m orbital_compute.cost_model

# Data pipeline comparison
python -m orbital_compute.data_pipeline

# Reliability/SLA analysis
python -m orbital_compute.reliability

# Mission planning timeline
python -m orbital_compute.mission_planner

# ECSS standards compliance
python -m orbital_compute.standards

# Industry format export (CCSDS OEM, STK)
python -m orbital_compute.formats

# Web dashboard
python dashboard.py

# REST API
python -m orbital_compute.api --port 8080

# Scheduler benchmark (greedy vs look-ahead)
python benchmark.py

# Fetch real Starlink TLEs
python -m orbital_compute.constellations

# Or use make shortcuts
make test        # Run 200+ tests
make demo        # Full demo
make cost        # Cost analysis
make pipeline    # Data pipeline proof
make serve       # Local web app

Key Results

Constellation Designer

Input:  1000 GPU-hours/day, global coverage, $50M budget
Output: 6 satellites, 8 GPUs each, 2000 km altitude
        $45.9M total (under budget), 1017 GPU-hours/day

Reliability Analysis

12-satellite constellation:
  99%    SLA: YES (1 operational needed, 11 spare)
  99.99% SLA: YES (1 operational needed)
  99.999% SLA: NO (need all 12 — not feasible with 1.4yr MTBF)

Cost Model (Honest Assessment)

Orbital compute: $86-172/GPU-hour (12 sats, Falcon 9)
AWS equivalent:  $4.10/GPU-hour
Ratio: 24-50x more expensive

But: processing in orbit saves 99% downlink bandwidth.
The value prop is NOT raw $/hr — it's avoiding the downlink bottleneck.

Full Simulation (12 sats, 12h, 80 jobs)

Jobs completed:     80/80
Fleet utilization:  32%
Eclipse fraction:   26-37% per satellite
Radiation SEUs:     303 events, all recovered via checkpoint-restart
ISL links:          6 active (mesh topology)
Temperature range:  -19°C to 24°C (within limits)

Architecture

orbital_compute/          # 26 Python modules
├── orbit.py              # SGP4 propagation, eclipse detection
├── power.py              # Solar + battery model
├── thermal.py            # Stefan-Boltzmann radiative cooling
├── scheduler.py          # v1: Greedy orbit-aware scheduler
├── scheduler_v2.py       # v2: Look-ahead with eclipse forecasting
├── ground_stations.py    # 10 stations, contact windows
├── isl.py                # Inter-satellite links, LOS, routing
├── network.py            # Topology analysis, Floyd-Warshall routing
├── radiation.py          # SEU injection, SAA, recovery strategies
├── workloads.py          # 9 workload types + mixed traffic generator
├── data_pipeline.py      # Sensor → processing → downlink pipeline
├── mission_planner.py    # Ops timeline, pass prediction, data budgets
├── designer.py           # Auto-design constellation from requirements
├── cost_model.py         # Full economics + terrestrial comparison
├── reliability.py        # MTBF, SLA, degradation curves
├── constellations.py     # Pre-defined configs + real TLE fetch
├── formats.py            # CCSDS OEM, STK ephemeris, JSON Schema
├── standards.py          # ECSS power/thermal/link budgets
├── debris.py             # Collision probability, CAM planning, Kessler risk
├── propulsion.py         # Atmospheric drag, station-keeping, deorbit planning
├── federated.py          # Federated learning across constellation (FedAvg/FedProx)
├── k8s_scheduler.py      # Kubernetes scheduler extender for orbit-aware pods
├── api.py                # REST API
├── simulator.py          # Core simulation engine
├── visualize.py          # 3D Three.js globe generator
└── cli.py                # Unified CLI

docs/                     # Web app (GitHub Pages)
├── index.html            # Landing page
├── dashboard.html        # Interactive simulator
├── globe.html            # 3D orbit visualization
├── cost.html             # Cost calculator
├── designer.html         # Constellation designer
├── pipeline.html         # Data pipeline analysis
└── api-docs.html         # API documentation

tests/                    # 107 tests, all passing

Research References

  • PHOENIX (IEEE 2024) — Sunlight-aware task scheduling for energy-efficient space edge computing
  • KubeSpace (arXiv 2601.21383, 2026) — Low-latency K8s control plane for LEO container orchestration
  • Krios (USENIX HotEdge 2020) — Loosely-coupled orchestration for the LEO edge
  • Comprehensive Survey of Orbital Edge Computing (Chinese Journal of Aeronautics, 2025)
  • Axiom Space AxDCU-1 — First orbital data center on ISS (2025), Red Hat Device Edge
  • Starcloud — First H100 GPU in orbit (Nov 2025), NVIDIA partnership
  • ESA ASCEND — European orbital compute initiative, €300M through 2027

Contributing

See CONTRIBUTING.md. High-impact areas:

  • Kubernetes scheduler plugin
  • Real satellite hardware integration
  • Multi-objective constellation optimization
  • Federated learning orchestrator

License

MIT — see 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

orbital_compute-0.3.0.tar.gz (169.5 kB view details)

Uploaded Source

Built Distribution

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

orbital_compute-0.3.0-py3-none-any.whl (186.6 kB view details)

Uploaded Python 3

File details

Details for the file orbital_compute-0.3.0.tar.gz.

File metadata

  • Download URL: orbital_compute-0.3.0.tar.gz
  • Upload date:
  • Size: 169.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.10

File hashes

Hashes for orbital_compute-0.3.0.tar.gz
Algorithm Hash digest
SHA256 29c6247c3c1201dd7967cb80c3add8acaa267e75351fe287ba0f6c363dbe68f7
MD5 1acd1f5f56a5e50fdfae088133558965
BLAKE2b-256 ee65aed11bbaf1268e9dcdefc69d832d312b99271c45fe50c46c7ebd0336c9c6

See more details on using hashes here.

File details

Details for the file orbital_compute-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for orbital_compute-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3f37013e7f83318e946dc31574ff0d880f7a9c4de9a88a028325de7eaf8fdd0
MD5 d8e0b97c52d997cb6bb9b34a8a463077
BLAKE2b-256 f3844e19374d141a2847d0513391a4eea2b01233b9060f2f4910807a3e204b1d

See more details on using hashes here.

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