Sol Cycle
Environment
Colony
Live Readout
Sun elevation
0.0°
Surface irradiance
0 W/m²
Power generated
0.00 kW
Power consumed
0.00 kW
Net balance
0.00 kW
Battery charge
50.0%
Time to empty/full
—
Sol elapsed
0.00
How it works

Real energy balance, not a scripted animation. Sun elevation follows a half-sine day arc, θ(h) = 90°·sin(π·(h−6)/12) for h in [6,18] and 0 at night. Surface irradiance applies the Mars solar constant and Beer–Lambert dust extinction with an airmass correction:

I(h) = I0 · sin(θ) · exp(−τ · airmass)
I0 = 590 W/m²  (Mars mean solar constant)
airmass = 1 / sin(θ), capped at low elevation
τ = 0.1 + dust% × 4.9   (clear sky → global-storm range)

Array power is I(h) × panel area × count × 22% cell efficiency. Life-support load is a fixed base draw plus a per-crew share, with a night-time heater surcharge when the sun is down. The difference between generation and load integrates directly into a battery state-of-charge ODE each tick — push the dust slider toward a global storm at midday and watch the battery genuinely drain toward brown-out, exactly as it would on a real habitat.

  • Sky/horizon pane — sun position on its sol arc, sky tint driven by the same optical depth used in the power equation.
  • Strip chart — battery state of charge over the last several sol-hours, so a storm's effect on reserves is visible, not just numeric.