Snow Accumulation and Melt modelling
Tracking snowpack evolution through the winter season
The mountain snowpack of western North America is the water tower that supplies irrigation for California’s Central Valley, municipal water for Denver, Phoenix, and Salt Lake City, and hydropower for the entire Pacific Northwest. In an average year, the Colorado River basin snowpack holds roughly 15 km³ of water — more than the capacity of Lake Mead. The timing and magnitude of spring runoff from that snowpack determines whether reservoirs fill, whether irrigation water is available in August, and whether summer low flows in rivers remain high enough for salmon. Getting that forecast right is worth billions of dollars annually.
Snow accumulation and melt modelling traces the evolution of the snowpack from the first snowfall of autumn through peak accumulation in late winter to the eventual complete melt in spring. The key variable is Snow Water Equivalent (SWE): the depth of water that would result if the entire snowpack melted instantaneously. SWE is what the hydrologist actually cares about — not snow depth, which varies with density, but the water mass stored. This model builds two levels of melt prediction: the simple degree-day approach, which accumulates temperature above freezing and applies a melt factor, and the energy balance approach that accounts for radiation and turbulent heat exchange. Both are in operational use; understanding why the simple approach works so well, and where it fails, is as important as knowing the equations.
Before You Start
The most important distinction in this chapter is between snow depth and snow water equivalent. Deep snow does not always mean a large water store, because density changes through the season. Keep reading SWE as “how much liquid water is stored here if this snow melted.”
1. The Question
How much water will this snowpack release during spring melt?
Snow Water Equivalent (SWE) is the key variable:
\text{SWE} = \rho_{\text{snow}} \times d_{\text{snow}} / \rho_{\text{water}}
Where: - \rho_{\text{snow}} = snow density (kg/m³) - d_{\text{snow}} = snow depth (m) - \rho_{\text{water}} = 1000 kg/m³
Example: 1 meter of snow at density 300 kg/m³:
\text{SWE} = \frac{300 \times 1.0}{1000} = 0.30 \text{ m} = 300 \text{ mm}
This means: If all snow melted instantly → 300 mm of water runoff!
Applications:
- Water supply forecasting: How much water in reservoir?
- Flood prediction: Peak flow timing and magnitude
- Irrigation planning: Allocate water to farmers
- Hydropower: Generation scheduling
- Climate monitoring: Trends in snow storage
The mathematical question: Given daily weather (precipitation, temperature), how do we model the evolution of SWE from fall through spring melt?
2. The Conceptual Model
Mass Balance Equation
Change in SWE over time:
\frac{dS}{dt} = P_{\text{snow}} - M - E
Where: - S = SWE (mm or kg/m²) - P_{\text{snow}} = snowfall (mm/day) - M = melt (mm/day) - E = sublimation/evaporation (mm/day)
Accumulation season (winter):
- P_{\text{snow}} > 0, M = 0 → SWE increases
- Peak SWE typically late March-April (mid-latitudes)
Melt season (spring):
- P_{\text{snow}} = 0, M > 0 → SWE decreases
- SWE → 0 by May-June (lower elevations)
Rain vs. Snow Partitioning
Temperature threshold:
P_{\text{snow}} = \begin{cases} P & \text{if } T_{\text{air}} \leq T_{\text{threshold}} \\ 0 & \text{if } T_{\text{air}} > T_{\text{threshold}} \end{cases}
Simple: T_{\text{threshold}} = 0°C
Refined: Transition zone (-1°C to +3°C):
f_{\text{snow}} = 1 - \frac{T_{\text{air}} - T_{\min}}{T_{\max} - T_{\min}}
Where f_{\text{snow}} = fraction falling as snow (0-1).
Mixed precipitation: Common near 0°C.
Seasonal Cycle
Typical mid-latitude mountain:
Oct-Nov: First snowfall, shallow snowpack
Dec-Feb: Accumulation, cold temperatures, little melt
Mar: Peak SWE (maximum water storage)
Apr: Melt onset, SWE decreases
May: Rapid melt, major runoff
Jun: Snowpack depleted (lower elevations)
High elevations: Snow persists year-round (permanent snowfields).
Snow Models Track One Curve: Build Up, Peak, Then Melt Out
The chapter’s equations become easier to remember when they are tied to the seasonal snowpack cycle. Accumulation dominates first, then positive degree days flip the system into melt and runoff.
How the model maps onto the curve
- Cold-season snowfall pushes SWE upward.
- Rain-snow partitioning decides how much precipitation actually enters storage.
- Positive degree days turn temperature into melt during spring.
- By runoff season, the key question is how fast SWE is converted into liquid water.
3. Building the Mathematical Model
Degree-Day Melt Model
Empirical relationship:
M = \begin{cases} a(T_{\text{air}} - T_{\text{melt}}) & \text{if } T_{\text{air}} > T_{\text{melt}} \\ 0 & \text{otherwise} \end{cases}
Where: - M = melt rate (mm/day) - a = degree-day factor (mm/(°C·day)) - T_{\text{melt}} = melt threshold (typically 0°C)
Typical values:
- a = 3 mm/(°C·day) for open sites
- a = 2 mm/(°C·day) for forest
- a = 4-6 mm/(°C·day) for glaciers
Daily time step:
M_{\text{today}} = a \times \max(0, T_{\text{mean}} - 0)
Positive Degree Days (PDD)
Cumulative measure:
\text{PDD} = \sum_{t=1}^{n} \max(0, T_{\text{mean},t})
Total melt over period:
M_{\text{total}} = a \times \text{PDD}
Example: Spring with temperatures 2, 4, 6, 8°C over 4 days:
\text{PDD} = 2 + 4 + 6 + 8 = 20 \text{ °C-days}
M_{\text{total}} = 3 \times 20 = 60 \text{ mm}
Enhanced Degree-Day Model
Add radiation term:
M = a_T(T - T_{\text{melt}}) + a_R(1 - \alpha)Q_{\text{SW}}
Where: - a_R = radiation factor (mm·m²/(W·day)) - \alpha = albedo - Q_{\text{SW}} = incoming shortwave (W/m²)
Accounts for: Sunny warm days melt more than cloudy warm days.
Energy Balance Approach
From Model 42, net energy determines melt:
M = \frac{Q_{\text{net}}}{L_f \rho_w}
Requires:
- Solar radiation
- Longwave radiation
- Air temperature
- Wind speed
- Humidity
Advantages: Physical basis, accurate
Disadvantages: Data intensive, complex
Operational use: SNOTEL sites, research basins
Snow Density Evolution
Fresh snow: \rho \approx 50-100 kg/m³
Aged snow: \rho \approx 200-400 kg/m³
Late season: \rho \approx 400-500 kg/m³
Compaction over time:
\frac{d\rho}{dt} = c_1 \rho + c_2
Where c_1, c_2 are empirical constants.
Temperature-dependent:
\rho(t) = \rho_0 + (\rho_{\max} - \rho_0)(1 - e^{-kt})
Typical: \rho_{\max} = 500 kg/m³, k = 0.01 day⁻¹
4. Worked Example by Hand
Problem: Model SWE evolution for November-May given daily temperature and precipitation.
Data (simplified monthly averages):
| Month | Precip (mm) | Temp (°C) | Days |
|---|---|---|---|
| Nov | 50 | -2 | 30 |
| Dec | 80 | -5 | 31 |
| Jan | 100 | -8 | 31 |
| Feb | 90 | -6 | 28 |
| Mar | 70 | -1 | 31 |
| Apr | 40 | +4 | 30 |
| May | 30 | +10 | 31 |
Assumptions:
- All precipitation falls as snow when T < 0°C
- Degree-day factor: a = 3 mm/(°C·day)
- No sublimation
Solution
November:
- T_{\text{mean}} = -2°C < 0 → No melt
- Snowfall: 50 mm SWE
- SWE = 0 + 50 = 50 mm
December:
- T_{\text{mean}} = -5°C → No melt
- Snowfall: 80 mm
- SWE = 50 + 80 = 130 mm
January:
- T_{\text{mean}} = -8°C → No melt
- Snowfall: 100 mm
- SWE = 130 + 100 = 230 mm
February:
- T_{\text{mean}} = -6°C → No melt
- Snowfall: 90 mm
- SWE = 230 + 90 = 320 mm
March:
- T_{\text{mean}} = -1°C → No melt
- Snowfall: 70 mm
- SWE = 320 + 70 = 390 mm ← Peak SWE
April:
- T_{\text{mean}} = +4°C → Melt!
- Melt: M = 3 \times 4 \times 30 = 360 mm
- Precip: 40 mm (rain, T > 0)
- SWE = 390 - 360 = 30 mm
May:
- T_{\text{mean}} = +10°C → Strong melt
- Melt: M = 3 \times 10 \times 31 = 930 mm
- Available SWE: 30 mm
- SWE depleted: 30 mm melts, 900 mm “potential melt” unused
- SWE = 0 mm (snow gone by mid-May)
Summary:
- Peak SWE: 390 mm (end of March)
- Melt onset: April
- Snow-free: Mid-May
- Total melt: 390 mm water released
Runoff timing: Major pulse in April-May as snowpack melts.
5. Computational Implementation
Below is an interactive snow accumulation/melt simulator.
Peak SWE: -- mm
Peak date: --
Snow-free date: --
Total melt: -- mm
Try this:
- Higher elevation: Colder temps, later melt, more peak SWE
- Lower elevation: Earlier melt, less accumulation
- Higher DDF: Faster melt (more sensitive to temperature)
- More precipitation: Higher peak SWE, more water stored
- Blue area: SWE accumulation through season
- Light blue bars: Snowfall events
- Orange bars (downward): Daily melt
- Red dashed line: Temperature (when > 0°C, melt occurs)
- Notice: Peak SWE in March/April, rapid melt in May!
Key insight: Snowpack is a natural reservoir—stores winter precipitation, releases during spring melt when plants need water!
6. Interpretation
Water Supply Forecasting
April 1 SWE predicts summer streamflow:
Q_{\text{summer}} = \alpha \times \text{SWE}_{\text{Apr1}} + \beta \times P_{\text{Apr-Jul}}
Where: - Q = seasonal flow volume - \alpha = coefficient (~0.6-0.8) - P = spring/summer precipitation
Regression model calibrated to basin.
Example: Sierra Nevada - SWE = 800 mm on April 1 - Predicted runoff: ~500 mm (60-70% efficiency)
Water allocation based on this forecast.
Flood Forecasting
Peak flow timing:
Snowmelt contribution:
Q_{\text{melt}}(t) = \frac{M(t) \times A}{86400}
Where: - Q = discharge (m³/s) - M = melt rate (mm/day) - A = basin area (m²) - 86400 = seconds/day
Combined: Rain + snowmelt = compounded runoff.
Example: 100 km² basin, 50 mm/day melt:
Q = \frac{50 \times 10^{-3} \times 100 \times 10^6}{86400} = 57.9 \text{ m}^3\text{/s}
Plus rain: Could exceed channel capacity → flooding.
Climate Change Impacts
Observed trends:
- Earlier snowmelt (1-2 weeks)
- Lower peak SWE (20-30% reduction in some regions)
- Shorter snow-covered season
- More rain vs. snow (elevation threshold rising)
Implications:
- Earlier peak flows (March vs. April)
- Less summer baseflow (less storage)
- Increased winter flooding
- Reduced water availability for irrigation
Drought Detection
SWE anomaly:
A = \frac{\text{SWE}_{\text{current}} - \text{SWE}_{\text{climatology}}}{\sigma_{\text{climatology}}}
Drought: A < -1.5 (SWE far below normal)
Example: 2015 California drought - April 1 SWE: 5% of normal (95% deficit!) - Severe water shortages
7. What Could Go Wrong?
Temperature-Only Models
Degree-day limitation: Ignores radiation, wind, humidity.
Fails when:
- Clear cold nights: Strong radiation cooling, no melt despite positive Tmean
- Cloudy warm days: Less solar, slower melt than predicted
- Shaded vs. sunny slopes: Same temperature, different melt
Solution: Enhanced degree-day with radiation term, or full energy balance.
Rain-Snow Threshold
Fixed 0°C threshold misses: - Mixed precipitation zone (-1 to +3°C) - Humidity effects (wet bulb vs. dry bulb temp) - Elevation gradients in precipitation phase
Better: Logistic transition function or wet-bulb temperature.
Sublimation Ignored
Dry, windy conditions: Significant mass loss without melt.
Example: High plains, winter Chinook winds - Sublimation: 1-2 mm/day - Over season: 50-100 mm loss
Should include: Sublimation in mass balance (especially arid regions).
Spatial Variability
Point model vs. distributed:
Within-basin variation: - North vs. south slopes (radiation) - Elevation bands (temperature) - Forest vs. clearing (radiation, wind)
Solution: Divide basin into elevation zones or grid cells, model each separately.
8. Extension: Utah Energy Balance (UEB) Model
Physically-based multi-layer model:
Layers:
- Surface layer (energy exchange)
- Upper layer (recent snow)
- Lower layer (old snow)
Each layer tracks:
- Temperature
- Density
- Liquid water content
- Ice content
Energy balance at surface:
- Shortwave radiation (with penetration)
- Longwave radiation
- Sensible heat
- Latent heat
- Ground heat
- Advected heat (rain)
Internal processes:
- Percolation (liquid water movement)
- Refreezing (cold content)
- Compaction (density change)
Output:
- SWE evolution
- Runoff timing and magnitude
- Internal energy state
Used: Research, detailed forecasting, calibrated basins.
9. Math Refresher: Integration & Accumulation
Definite Integral
Accumulation over time:
S(t) = S_0 + \int_{t_0}^{t} \left(\frac{dS}{dt}\right) dt
For SWE:
S(t) = S_0 + \int_{t_0}^{t} (P_{\text{snow}} - M - E) \, dt
Discrete (daily time steps):
S_{t+1} = S_t + (P_{\text{snow},t} - M_t - E_t) \Delta t
Where \Delta t = 1 day.
Numerical Integration
Trapezoidal rule:
\int_a^b f(x) \, dx \approx \sum_{i=1}^{n} \frac{f(x_{i-1}) + f(x_i)}{2} \Delta x
For total melt:
M_{\text{total}} = \sum_{i=1}^{n} M_i \times 1 \text{ day}
Example: Daily melt: 0, 0, 5, 10, 15, 20 mm
M_{\text{total}} = 0 + 0 + 5 + 10 + 15 + 20 = 50 \text{ mm}
Summary
- Snow Water Equivalent (SWE) quantifies water stored in snowpack
- Mass balance: SWE change = snowfall - melt - sublimation
- Degree-day models: Empirical melt based on temperature (M = a(T - T_{melt}))
- Typical DDF: 2-6 mm/(°C·day) depending on exposure and cover
- Seasonal cycle: Accumulation (Oct-Mar), peak SWE (Apr), melt (Apr-Jun)
- Rain-snow threshold: Temperature determines precipitation phase (~0°C)
- Applications: Water supply forecasting, flood prediction, drought monitoring
- Climate change: Earlier melt, lower peak SWE, more rain vs. snow
- Advanced models: Energy balance (UEB, SNOBAL) for detailed physics
- Spatial variation: Elevation, aspect, canopy coverage affect accumulation and melt
- Foundation for understanding mountain water resources and seasonal streamflow