Every consumable loop (water, oxygen/CO₂, solid waste) has a recycling efficiency r ∈ [0,1). Each mission day, a crew of N consumes a fixed mass per loop; a fraction r is reclaimed and re-enters the loop, and the remaining (1−r) is a permanent loss that has to be lifted from Earth (or mined in-situ) to keep the crew alive:
daily loss_i = consumption_i × N × (1 − r_i)
annual resupply = 365 × Σ daily loss_i
Sustainability Index = 100 × ( 1 − Σ consumption_i(1−r_i) / Σ consumption_i )
Consumption rates used here are real per-crew-member design values: water ≈ 3.6 kg/day, oxygen ≈ 0.84 kg/day, solid waste ≈ 0.5 kg/day. Because the loss term is linear in (1−r), the last few percentage points of closure matter far more than the first — going from 90%→99% water recycling cuts annual resupply mass by 10×, which is exactly why ISS's water recovery system pushes past 98% and why a multi-year Mars mission cannot tolerate anything below the high-90s without an enormous resupply budget.
- Sliders — set each loop's recycling efficiency and the crew size; the mass-balance math and the 3D loop animation update live.
- Rings — particles orbit each loop; on every lap a share proportional to (1−r) turns red, breaks away to the resupply pod, and is counted into the cumulative total before a fresh particle re-enters the loop.
- Reset Mission Clock — zeroes the elapsed mission day and cumulative resupply counter without changing the sliders.