Orbital Compute Unit
An Orbital Compute Unit (OCU) is a standardized measure of how much useful computation a satellite can deliver per orbit, accounting for power constraints, eclipse fractions, thermal limits, and ground contact availability.
Why OCUs exist — Satellite compute capacity is not a fixed number. It varies with orbit geometry, season, battery age, and thermal state. OCUs normalize this into a single comparable metric so you can plan workloads without modeling the physics yourself.
Bus Profiles
OCU computation starts with a bus profile — a standardized description of the satellite’s compute, power, and thermal capabilities. CAE includes 6 built-in bus classes.
Bus Class Typical Platform Compute (GFLOPS) Solar (W) Battery (Wh) Storage (GB) Memory (MB) 1U_cubesat1U CubeSat 2 2.5 5 8 256 3U_cubesat3U CubeSat 10 7.5 20 32 512 6U_cubesat6U CubeSat 50 25 60 64 1024 12U_cubesat12U CubeSat 150 50 120 128 2048 microsatMicrosatellite (50-100kg) 500 150 400 256 4096 smallsatSmall Satellite (100-500kg) 2000 500 1500 512 8192
Auto-Detection with inferBusClass
If you don’t specify a bus class, CAE infers it from the satellite’s NORAD ID using orbital parameters and known catalog metadata:
Altitude and inclination narrow the platform category
Radar cross-section (when available) estimates physical size
Catalog metadata matches against known spacecraft databases
The inferred class is returned in the response so you can verify or override it.
OCU Computation
The OCU model combines bus capabilities with orbital geometry to produce a per-orbit capacity estimate.
Sunlit and Eclipse Hours
From the satellite’s current TLE, CAE propagates the orbit and computes:
Metric Description sunlit_hours_per_orbitTime in sunlight — full solar power and thermal headroom available eclipse_hours_per_orbitTime in Earth’s shadow — battery-only, reduced thermal dissipation daily_orbitsNumber of complete orbits per 24-hour period daily_sunlit_hoursTotal sunlit time per day daily_eclipse_hoursTotal eclipse time per day
Confidence Model
OCU values carry a confidence score reflecting the quality of the input data:
Factor Impact on Confidence TLE age Degrades as TLE epoch age increases (stale elements reduce positional accuracy) Bus class source Higher for explicit bus class, lower for inferred Eclipse fraction stability Higher when eclipse fraction is stable across the prediction horizon Thermal margin Higher when peak temperature is well below limits
Confidence is reported as a value between 0 and 1. Values above 0.8 are considered high-confidence.
Cost Model
Each OCU carries an estimated cost based on the bus class and orbital parameters:
Component Basis Compute cost GFLOPS-hours available per orbit, weighted by bus class Power cost Watt-hours consumed, factoring solar generation and battery cycling Storage cost GB-hours of on-board storage occupied Transfer cost Data volume deliverable per orbit given contact window availability
Limiting Resource
The OCU computation identifies which resource constrains capacity:
"limiting_resource" : {
"resource" : "power" ,
"utilization" : 0.92 ,
"headroom" : 0.08 ,
"recommendation" : "Reduce eclipse compute load or extend deadline to span more orbits"
}
Common limiting resources: power (eclipse battery budget), thermal (heat dissipation during sunlit compute), storage (on-board buffer for multi-pass transfers), contact (ground pass availability for data delivery).
negotiateOCU Algorithm
The negotiateOCU function runs a 4-phase algorithm to determine achievable OCU for a specific workload:
Phase Description 1. Resource survey Compute available GFLOPS-hours, watt-hours, storage, and contact time per orbit 2. Workload mapping Map workload resource requirements to per-orbit resource availability 3. Constraint resolution Identify the binding constraint and compute the maximum sustainable throughput 4. OCU normalization Express the result as a standardized OCU value with confidence and cost breakdown
The negotiation accounts for workload-specific factors like checkpoint overhead, FEC requirements, and quality tier selection.
API Usage
Negotiate OCU for a Workload
curl -X POST https://rotastellar-cae.subhadip-mitra.workers.dev/v1/ocu/negotiate \
-H "Content-Type: application/json" \
-H "Origin: https://rotastellar.com" \
-d '{
"satellite_id": "25544",
"workload": {
"compute_gflops": 50,
"memory_mb": 512,
"storage_mb": 2048,
"output_mb": 100
}
}'
Response
{
"satellite_id" : "25544" ,
"bus_class" : "smallsat" ,
"bus_class_source" : "inferred" ,
"ocu" : {
"value" : 14.2 ,
"unit" : "OCU/orbit" ,
"daily" : 218.7 ,
"confidence" : 0.87
},
"orbital_geometry" : {
"sunlit_hours_per_orbit" : 0.96 ,
"eclipse_hours_per_orbit" : 0.59 ,
"daily_orbits" : 15.4
},
"limiting_resource" : {
"resource" : "power" ,
"utilization" : 0.92 ,
"headroom" : 0.08 ,
"recommendation" : "Reduce eclipse compute load or extend deadline to span more orbits"
},
"cost" : {
"compute_cost_per_orbit" : 0.42 ,
"power_cost_per_orbit" : 0.18 ,
"storage_cost_per_orbit" : 0.05 ,
"total_cost_per_orbit" : 0.65 ,
"currency" : "OCU-credits"
}
}
Get Bus Class Summary
Retrieve the reference profile for a bus class without specifying a satellite:
curl https://rotastellar-cae.subhadip-mitra.workers.dev/v1/ocu/summary/6U_cubesat \
-H "Origin: https://rotastellar.com"
Response
{
"bus_class" : "6U_cubesat" ,
"profile" : {
"compute_gflops" : 50 ,
"solar_w" : 25 ,
"battery_wh" : 60 ,
"storage_gb" : 64 ,
"memory_mb" : 1024
},
"reference_ocu" : {
"value" : 3.8 ,
"unit" : "OCU/orbit" ,
"assumptions" : {
"altitude_km" : 550 ,
"inclination_deg" : 97.5 ,
"eclipse_fraction" : 0.35
}
}
}
Negotiate and Summary Parameters
Parameter Type Required Description satellite_idstring Yes (negotiate) NORAD catalog ID workloadobject No Workload resource requirements for negotiation workload.compute_gflopsnumber No Required compute in GFLOPS workload.memory_mbnumber No Required memory workload.storage_mbnumber No Required on-board storage workload.output_mbnumber No Output data to deliver to ground bus_classstring No Override inferred bus class
Console Integration
The Console displays an OCU Capacity card in the sidebar of the asset detail page:
OCU/orbit and OCU/day values with confidence indicator
Bus class label (with “inferred” badge when auto-detected)
Limiting resource bar chart showing utilization per resource
Sunlit/eclipse breakdown as a ring chart
Cost estimate per orbit
OCU values are estimates based on current orbital geometry and bus profiles. Actual capacity may vary due to battery degradation, thermal anomalies, or attitude constraints not captured in the bus model.
Hazard Prediction Predictive checkpointing around orbital hazards
CAE Overview Constraint-Aware Execution fundamentals