Hour 0 Snow 0 mm w.e. Liquid 0 mm Rain 0 mm/h Discharge 0 m³/s — FPS 0
Drag to orbit, wheel or pinch to zoom. The white layer is the snowpack: it thins, greys and goes patchy as it melts. The water level in the creek follows the routed discharge; when it passes the cabin floor the flood chip turns red.
Rain on Snow: Cold Content, Ripening and the Flood Hydrograph
A rain storm falls on a snowpack. Does the pack soak it up, refreeze it, or melt and release a flood peak far bigger than the rain alone?
Pause Restart event Quality: High
Cabin view Creek close-up Top-down
Snowpack
Rain storm
Weather during the storm
Basin and time
Live readouts
Hydrograph (whole event, playhead = now)
Pack storage
Energy budget now (W/m², + heats the pack)
Missions
Predict: how many mm of 0 °C rain must fall on a 200 mm water-equivalent pack at -5 °C (liquid capacity 5 %) before water first leaves the pack? Check
Hint: first the rain must refreeze enough to bring the pack to 0 °C, then the pack must fill its liquid capacity.
Experiments
Each button runs 120 h headless with the current sliders, changing one variable, and reports the flood peak, how much larger it is than the same rain on bare ground, and the share of the outflow that came from melt.
Sweep rain temperature Sweep snow depth Sweep wind speed
Independent numerical checks
Controls Drag / one finger: orbit; wheel / pinch: zoom; three camera views. Presets set the snowpack, rain and weather together. Every slider recomputes the whole 120 h event instantly; the hydrograph shows the full prediction with the playhead moving along it. Time scale is simulated hours per real second.
The science
Cold content and ripening. A snowpack at mean temperature Tp < 0 °C holds a cold content CC = ci SWE |Tp | (ci = 2100 J kg⁻¹ K⁻¹, SWE in kg m⁻²). Until CC is spent the pack is not ripe and melt water cannot leave it. Rain that refreezes releases latent heat Lf = 3.34×10⁵ J kg⁻¹, so each mm of refrozen rain removes Lf J m⁻² of cold content.
Liquid holding capacity. A ripe pack retains liquid water up to a fraction θ of its ice mass (typical 3 to 10 %, default 5 %; set by capillary retention); only the excess max(0, W − θ·ice) drains.
Surface energy balance. Hourly energy into the pack: E = (Rn + Qh + Ql + Qr ) Δt. Net longwave Rn = εs εa σ Ta ⁴ − εs σ Ts ⁴ (εs = 0.98, overcast εa = 0.97, no shortwave under cloud). Sensible heat Qh = ρa cp CH u (Ta − Ts ) and latent heat Ql = ρa Lv CE u (qa − qs ) with bulk coefficients CH = CE = 0.0015 (illustrative; real values depend on stability and roughness). q from the Magnus saturation pressure es = 6.112 exp(17.62 T/(243.12+T)) hPa. Condensation of humid air (qa > qs ) is a large heat source in warm, windy storms. Advected rain heat Qr = P cw Train is usually small: 20 mm at 5 °C melts only 1.25 mm of snow.
Melt. Once CC = 0 any remaining energy melts M = E / Lf (1 mm per 334 kJ m⁻²; 100 W m⁻² for an hour melts 1.08 mm). Negative E refreezes liquid first, then deepens the cold content.
Basin routing. Pack outflow enters a linear reservoir dS/dt = I − S/k (lag k hours); discharge = S/k, converted with an illustrative 25 km² basin: Q [m³ s⁻¹] = q [mm h⁻¹] × 25 / 3.6. Creek stage above the bed is 0.45 + 0.085 Q0.6 m (a made-up rating curve for drawing only).
Simplifications. One uniform layer of the pack, single mean temperature, no shortwave radiation, no ground heat, no snow compaction detail, no preferential-flow fingers, one rain-snow elevation, no infiltration into soil. Constants are typical, not calibrated to any catchment: spot-check them before quoting. Assets built with Blender; scene by Three.js.