Skip to main content

Hazard Prediction

The HazardPredictor identifies upcoming orbital hazards — eclipse transitions, South Atlantic Anomaly (SAA) traversals, and thermal excursions — and schedules checkpoints so that in-progress computation can survive them without data loss.
Why this matters — An eclipse boundary can cut available power by 95% in seconds. Without predictive checkpointing, any in-flight step that spans an eclipse transition risks silent data corruption or abrupt termination.

The 9-Phase Algorithm

The HazardPredictor runs a 9-phase pipeline over the planning horizon:
PhaseNameDescription
1Orbit propagationKeplerian + J2 perturbation model propagates the satellite state at 10-second intervals
2Eclipse detectionCylindrical shadow model identifies sunlit/eclipse transitions
3Eclipse boundary refinementBinary search narrows each transition to sub-second precision
4SAA detectionPoint-in-polygon test against the SAA boundary polygon for each propagation point
5SAA window constructionClusters SAA detections into contiguous traversal windows
6Thermal predictionProjects component temperatures using power dissipation and orbital thermal environment
7Thermal excursion detectionFlags windows where predicted temperature exceeds component limits
8Checkpoint schedulingPlaces checkpoints before each hazard with sufficient margin for state serialization
9Checkpoint mergeConsolidates checkpoints that fall within a configurable merge window to reduce overhead

Hazard Types

Eclipse Boundaries

Detected using the cylindrical shadow model — the same model used in the CAE orbital environment builder. The predictor identifies both eclipse entry (sunlit-to-shadow) and eclipse exit (shadow-to-sunlit) transitions.
ParameterValue
Detection modelCylindrical Earth shadow
PropagationKeplerian + J2 secular perturbations
Time resolutionSub-second (binary search refinement)
MarginConfigurable, default 30 seconds before transition

South Atlantic Anomaly

The SAA is a region of elevated radiation over the South Atlantic where the inner Van Allen belt dips closest to Earth. Sensitive electronics (GPUs, FPGAs) experience elevated single-event upset rates during SAA traversals.
ParameterValue
Detection methodPoint-in-polygon against SAA boundary contour
Boundary modelAP-8/AE-8 derived, updated annually
Altitude scalingContour expands at lower altitudes
Typical duration10-20 minutes per traversal for LEO

Thermal Excursions

The thermal predictor models component temperature based on solar flux, Earth albedo, bus power dissipation, and radiator capacity. Excursions are flagged when any component is predicted to exceed its operational limit.
ParameterValue
Thermal modelSingle-node lumped parameter per component
Heat sourcesSolar flux, Earth IR, internal dissipation
Heat sinksRadiator panels, thermal mass
Warning threshold5 degrees C below operational limit

Checkpoint Scheduling

For each detected hazard, the predictor inserts a checkpoint at hazard_start - margin - serialization_time. If two hazards are close together (within the merge window), their checkpoints are consolidated into one.
Timeline:
  |---step running---|--ckpt--|--margin--|==ECLIPSE==|---step resumes---|
                     ^                    ^
                checkpoint            hazard start
The checkpoint includes full step state: intermediate buffers, model weights, progress counters, and RNG state. The agent serializes this to on-board storage before the hazard arrives.

API Usage

curl -X POST https://rotastellar-cae.subhadip-mitra.workers.dev/v1/hazards \
  -H "Content-Type: application/json" \
  -H "Origin: https://rotastellar.com" \
  -d '{
    "satellite_id": "25544",
    "prediction_hours": 24,
    "hazard_types": ["eclipse", "saa", "thermal"],
    "checkpoint_margin_s": 30,
    "merge_window_s": 60
  }'

Request Parameters

ParameterTypeRequiredDefaultDescription
satellite_idstringYesNORAD catalog ID
prediction_hoursnumberNo12Prediction horizon
hazard_typesstring[]NoallFilter to specific hazard types
checkpoint_margin_snumberNo30Seconds of margin before each hazard
merge_window_snumberNo60Merge checkpoints closer than this

Response Structure

{
  "satellite_id": "25544",
  "prediction_start": "2026-03-10T12:00:00Z",
  "prediction_hours": 24,
  "hazards": [
    {
      "type": "eclipse_entry",
      "start": "2026-03-10T12:34:12.847Z",
      "end": "2026-03-10T13:07:45.231Z",
      "duration_s": 2012,
      "severity": "high",
      "details": {
        "battery_soc_at_entry": 0.82,
        "predicted_soc_at_exit": 0.41
      }
    },
    {
      "type": "saa",
      "start": "2026-03-10T14:18:30.000Z",
      "end": "2026-03-10T14:32:15.000Z",
      "duration_s": 825,
      "severity": "medium",
      "details": {
        "peak_flux_ratio": 3.2,
        "upset_probability": 0.0012
      }
    },
    {
      "type": "thermal_excursion",
      "start": "2026-03-10T16:45:00.000Z",
      "end": "2026-03-10T17:02:00.000Z",
      "duration_s": 1020,
      "severity": "low",
      "details": {
        "component": "gpu",
        "predicted_temp_c": 78.5,
        "limit_c": 85
      }
    }
  ],
  "checkpoint_schedule": [
    {
      "time": "2026-03-10T12:33:22.847Z",
      "reason": "eclipse_entry",
      "hazard_index": 0,
      "serialization_budget_s": 20
    },
    {
      "time": "2026-03-10T14:17:40.000Z",
      "reason": "saa",
      "hazard_index": 1,
      "serialization_budget_s": 20
    }
  ],
  "max_safe_window_s": 6137,
  "overhead_fraction": 0.018
}

Response Fields

FieldTypeDescription
hazardsarrayAll detected hazards in chronological order
hazards[].severitystringlow, medium, or high based on impact to computation
checkpoint_schedulearrayRecommended checkpoint times with reasons
max_safe_window_snumberLongest uninterrupted compute window in the prediction horizon
overhead_fractionnumberFraction of total time consumed by checkpoint serialization
The overhead_fraction helps you decide whether predictive checkpointing is worth the cost. Values below 0.05 (5%) are typical for LEO orbits with 90-minute periods.

Console Integration

The Console surfaces hazard predictions on the Hazards tab of the asset detail page:
  • Timeline visualization shows hazards as colored bands (red for eclipse, orange for SAA, yellow for thermal)
  • Checkpoint markers appear on the timeline with serialization budget indicators
  • The max safe window is highlighted
  • Clicking a hazard expands its detail panel with severity, duration, and predicted impact

Agent Integration

When the agent receives a plan with predictive checkpoints, it listens for the checkpoint.predicted event and serializes state to on-board storage at the scheduled time. See the Agent Protocol documentation for event handling details.