Skip to Content

Replan

POST/replan

Purpose

Answers the operational question after a satellite fails: what are the options, what does each cost, and how long does each take to restore service.

It returns several plans with a recommendation, so the trade is visible rather than decided for you.

Request

Like /resilience/*, this takes the shape of the problem rather than a constellation_id. There is no propagation involved; the question is combinatorial and economic.

ParameterTypeUnitDefaultRequiredDescription
a_ops_kmnumberkm—YesOperational semi-major axis.
inclination_degnumberdeg—YesOperational inclination.
phase_gap_degnumberdeg—YesIn-plane phase gap the failure opened.
raan_gap_degnumberdeg—YesCross-plane gap, if the spare must change plane.
in_plane_sparesintegercount—YesSpares already in the affected plane.
parking_sparesintegercount—YesSpares held in a parking orbit.
park_altitude_kmnumberkm—YesParking orbit altitude, which sets the raise cost.
rephase_duration_daysnumberdays—YesTime allowed for a rephase. Longer is cheaper in delta-v.
replacement_lead_time_daysnumberdays—YesTime to build and launch a replacement.
replacement_sat_cost_usdnumberUSD—YesCost of a replacement satellite.
replacement_launch_cost_usdnumberUSD—YesCost of a replacement launch.
degradation_daysnumberdays—YesHow long degraded service is tolerable.
revenue_at_risk_per_day_usdnumberUSD/day—YesRevenue exposed per day of degradation. This is what makes speed comparable to money.

Example

curl -s -X POST http://127.0.0.1:8080/replan \ -H 'content-type: application/json' \ -d '{ "a_ops_km": 6928.0, "inclination_deg": 53.0, "phase_gap_deg": 30.0, "raan_gap_deg": 10.0, "in_plane_spares": 1, "parking_spares": 0, "park_altitude_km": 400.0, "rephase_duration_days": 6.0, "replacement_lead_time_days": 120.0, "replacement_sat_cost_usd": 1000000.0, "replacement_launch_cost_usd": 30000000.0, "degradation_days": 30.0, "revenue_at_risk_per_day_usd": 50000.0 }'
{ "recommended": { "actions": [ { "ActivateInPlaneSpare": { "rephase": { "delta_a_km": -4.260819925470516, "delta_v_m_s": 4.664984976009534, "duration_days": 6.0 } } } ], "restores": true, "time_to_restore_days": 6.0, "delta_v_m_s": 4.664984976009534, "cost_usd": 0.0, "revenue_at_risk_avoided_usd": 1200000.0 }, "plans": [] }

plans held three options in this run; only the recommendation is shown.

Reading the recommendation

FieldValueMeaning
restorestrueThis plan closes the gap. A plan that does not is still returned, for comparison
time_to_restore_days6.0How long until service is whole again
delta_v_m_s4.66Propellant cost, spent from the spare’s own budget
cost_usd0.0No new hardware and no new launch
revenue_at_risk_avoided_usd1,200,00024 days saved against the 30-day tolerance, at 50,000 per day

Why the spare wins

The recommendation activates an in-plane spare and rephases it, and the case for it is arithmetic rather than judgment:

OptionCash costTime to restoreRevenue at risk
Activate in-plane spare06 days300,000
Replacement launch31,000,000120 days1,500,000 at the daily rate, capped by tolerance

The spare costs nothing but 4.66 m/s of its own propellant and restores service in 6 days rather than 120. revenue_at_risk_avoided_usd quantifies exactly that difference.

cost_usd: 0.0 means no cash outlay. It is not free: the plan consumes 4.66 m/s from a spare that was carrying a fixed propellant budget, and it consumes the spare itself, so the plane now has none.

A recovery plan that leaves you with no spare has changed your resilience posture. Re-run /resilience/kfailure against the post-recovery fleet before treating the situation as closed.

The rephase is a drift maneuver

delta_a_km of -4.26 lowers the semi-major axis, which raises the orbital rate and lets the spare drift forward into the gap. After 6 days at the new rate it has closed 30 degrees of phase and circularizes again.

Lowering costs delta-v twice, once down and once back up, which is why rephase_duration_days matters: a longer allowance needs a smaller altitude offset and therefore less propellant. Speed and propellant trade directly.

See also

Question? Give us feedbackDocuments Varaha Constellation Designer main (pre-release)
Last updated on