For the first time, iSnobal is a true two-layer snowpack model. Legacy versions have always referred to it as a two-layer model, but the equations within iSnobal never represented the physics that way. M3W-iSnobal 2.0 gives the surface layer its own density formulation, so that a foot of fresh powder is no longer averaged into a dense spring snowpack.
We built a two-layer iSnobal to fix a problem we kept running into. In comparisons against station data and the Airborne Snow Observatory (ASO) program, we saw the same density biases consistently. Across 23 site-years of hourly measurements at energy and mass balance measurement sites, legacy iSnobal underestimated snow density by 27 kg/m³ and snow water equivalent by 37 mm on average. M3W-iSnobal 2.0 cuts those biases to 1 kg/m³ and 10 mm.
Getting there meant going through the model, and the framework that prepares its weather inputs, line by line. We found and fixed a number of bugs, some unnoticed for decades, and the fixes and the new physics turned out to be one piece of work. M3W-iSnobal 2.0 is our operational model for water year 2027 going forward. We are versioning M3W-iSnobal so that each release is documented as the model keeps improving.
Seventy years of snow science in one model
iSnobal has deep roots. Energy-balance snow hydrology in the United States goes back to the Cooperative Snow Investigations that the Army Corps of Engineers and the Weather Bureau began in 1945, summarized in the Corps' 1956 Snow Hydrology report [1]. Kojima and colleagues at Hokkaido University's Institute of Low Temperature Science worked out how seasonal snow compacts under its own weight [2]. Eric Anderson's 1976 NOAA report then pulled decades of this work into the density and heat-conduction equations that many of today's models still use, iSnobal included [3].
The model itself began with Danny Marks, who wrote Snobal at UC Santa Barbara in 1985. There he worked alongside the late Jeff Dozier, whose research on sunlight in mountain terrain still sits at the core of how we compute radiation on snow. Marks and Dozier described the model's two-layer energy balance in 1992 [4]. Marks and colleagues later extended it to run across entire mountain basins as iSnobal [5], and it became a workhorse of snow research at the USDA Agricultural Research Service in Boise.
Nearly two decades later, the three founders of M3 Works joined that group to help take iSnobal from research to operations. That work built the Spatial Modeling for Resources Framework (SMRF), the Automated Water Supply Model (AWSM), and the direct insertion of NASA Airborne Snow Observatory lidar into the model [6–8]. We had the privilege of working closely with Danny through that transition, and the model we run today still carries his fingerprints.
A model that is right for the right reasons is one you can trust outside the range of what it has already seen.
Each generation carried the physics forward in the tools of its day, from hand-tabulated coefficients to C to Python. Every translation is a chance for a unit to slip or an assumption to go unwritten. Carrying a legacy forward means auditing it, not just inheriting it.
What we found, and why it stayed hidden
Working through the code turned up a number of bugs, along with places where the model's logic and physics could be improved. None of them were exotic. Every change is grounded in well-vetted snow science.
The first step was to collect and organize all of the available energy and mass balance snow measurement sites. Led by Ben Roberts-Pierel, this was, in itself, a process that requires deep knowledge of both seasonal snowpacks and model physics, as uncalibrated sensor data is more dangerous than no data at all. The goal was to have a robust data set to test model functionality and improvements.
The result is a model that performs significantly better. Across 23 site-years of hourly measurements at energy and mass balance sites, legacy iSnobal underestimated snow water equivalent by 37 mm on average and snow density by 27 kg/m³. M3W-iSnobal 2.0 cuts the SWE bias by nearly three-quarters, to 10 mm, and the density bias to just 1 kg/m³, with lower error in SWE, snow depth, and density alike.
Bugs like these tend to produce reasonable-looking output, and that is how they survive. Offsetting errors look like correct physics. In one of our own tests, adding 40% more precipitation, 10% more longwave radiation, and 15% more sunlight produced nearly the same snow density, but very different amounts of water leaving the snowpack. A model calibrated against observations will also quietly tune its parameters to compensate for whatever is wrong underneath. It can match the historical record for the wrong reasons, then miss when the next year looks nothing like the calibration years. Those are exactly the years when water managers lean on us hardest: the record wet year, the deep drought, the atmospheric river that brings rain on a ripe snowpack. A model that is right for the right reasons is one you can trust outside the range of what it has already seen.
The better the physics, the more valuable every spatial measurement becomes.
M3W-iSnobal 2.0: a true two-layer snowpack
Fixing the foundation made room for a real step forward. iSnobal has always divided the snowpack into two layers for its energy balance: a thin active layer at the surface that exchanges heat with the atmosphere, and the snowpack beneath it. But density and liquid water were tracked as single values for the whole pack. For density, compaction, and water content, a foot of fresh powder sitting on a dense spring snowpack was treated as one average.
Led by Andrew Slaughter, our team built M3W-iSnobal 2.0 as a true two-layer model. The active layer now carries its own density and its own liquid water, separate from the snowpack below.
- Fresh snow stays light. New snow stays at the surface, where it belongs, and compacts at its own rate under its own load, following Anderson and Kojima.
- Water moves top-down. Meltwater and rain wet the surface layer first, then drain into the layer below before leaving as runoff.
- Heat conduction sees each layer. Heat moves through the pack according to each layer's density.
That last part only works if the conduction physics underneath is right, because how easily heat moves through snow depends strongly on its density. The bug fixes and the new model are one piece of work.
Getting density right matters most between lidar flights. Across the West, states and water agencies are investing in ASO surveys, and each one gives the model an accurate snapshot of snow depth across a basin. The model's job is to carry that snapshot forward to the next flight. A model that tracks the physical state of the snowpack, its energy balance, density, and liquid water, holds onto what each survey measured. A model that only approximates that state lets the information fade a little more with every day after the flight, and the estimate of snow water equivalent drifts even when the depth starts out right. The better the physics, the more valuable every spatial measurement becomes.
The two-layer model is a clear improvement, and it shows most clearly in snow density, the quantity a two-layer model exists to represent. Legacy iSnobal runs low across the board; M3W-iSnobal 2.0 sits on the 1:1 line, and its typical density error (RMSE) is 30 percent lower. M3W-iSnobal 2.0, bug fixes included, is our operational model for water year 2027.
Modeled versus measured snow density for every hour with observations across 23 site-years. Legacy iSnobal (blue) runs low; M3W-iSnobal 2.0 (magenta) sits on the 1:1 line, with bias falling from −27 to +1 kg/m³ and RMSE from 73 to 51 kg/m³.
This kind of work is slow, and it doesn't produce a flashy new product. It takes people who read Anderson's 1976 equations and a modern test suite with equal fluency. It takes sustained investment, season after season.
Before and after
Averages can hide a lot, so here are three individual seasons from three very different snow climates: the Sierra Nevada, the northern Rockies, and the Swiss Alps. In each, legacy iSnobal's density wanders away from the measurements as the winter goes on, and the error shows up in snow depth. At two of the three it also shows up in snow water equivalent and melt-out timing. M3W-iSnobal 2.0 stays with the observations through the heart of the season.
Three seasons, three snow climates
Heavenly Valley, near Lake Tahoe, water year 2026. Legacy iSnobal overshoots depth after storms, lets density wander high in midwinter and low after the February storm, and melts out early. M3W-iSnobal 2.0 stays close to the measured density all season and tracks the spring melt.
Brackett Creek, Montana, water year 2025. Legacy iSnobal runs 50 to 100 kg/m³ low on density through most of the winter, loses early-season snow, and peaks well short of the measured SWE. M3W-iSnobal 2.0 follows the measured density and comes much closer on peak SWE and melt-out.
Weissfluhjoch, Swiss Alps, water year 2015. Both runs start the season with more SWE than was measured, but legacy iSnobal packs it into far too deep a snowpack, about a meter too deep at the April peak. M3W-iSnobal 2.0 matches the measured density from December through April, so its depth follows the observations.
Those are the differences a water manager feels: how much water is sitting in the snowpack, and when it leaves.
How we do the work
The fixes are the visible result. These practices are what found them.
- Tests around legacy code. The model's C core now has nearly 300 unit tests, plus regression baselines, so every change is measured against the last trusted result.
- Nothing changes by accident. Every correction ships behind an explicit switch. We confirm the model reproduces the previous release bit for bit before anything is turned on in operations.
- Validation against the real world. We score the model at 16 research sites across five snow climates, from tundra to maritime to montane forest, in the western U.S., Alaska, and the Alps. That work depends on partners who keep long, careful records, including Airborne Snow Observatories, NRCS SNOTEL, California's CDEC network, the Central Sierra Snow Lab, Senator Beck Basin, SLF's Weissfluhjoch, and Col de Porte.
- Modern tools for old physics. We apply the same modern development tools, automated testing, and code review to 40-year-old C code that we would to anything we wrote last week.
Why this matters to the people who use our data
Nobody hires a snow modeler to write unit tests. Our clients rely on us for the numbers behind reservoir operations, flood planning, and water supply forecasts. Those numbers are only as good as the code that produces them, and the code is only as good as the attention it gets.
This kind of work is slow, and it doesn't produce a flashy new product. It takes people who read Anderson's 1976 equations and a modern test suite with equal fluency. It takes sustained investment, season after season.
That is the work we signed up for. The scientists who came before us built iSnobal to represent how snow works. Our job is to make sure that knowledge holds up when real decisions depend on it, every day, in every basin we model. Modernizing the code is how we honor that legacy, and how we earn the trust of the people who depend on our data.
Citations
- U.S. Army Corps of Engineers, North Pacific Division (1956). Snow Hydrology: Summary Report of the Snow Investigations. Portland, OR.
- Kojima, K. (1967). Densification of seasonal snow cover. Physics of Snow and Ice: Proceedings, 1(2), 929–952. Institute of Low Temperature Science, Hokkaido University. https://hdl.handle.net/2115/20351
- Anderson, E. A. (1976). A Point Energy and Mass Balance Model of a Snow Cover. NOAA Technical Report NWS 19. https://repository.library.noaa.gov/view/noaa/6392
- Marks, D., and Dozier, J. (1992). Climate and energy exchange at the snow surface in the alpine region of the Sierra Nevada: 2. Snow cover energy balance. Water Resources Research, 28(11), 3043–3054. https://doi.org/10.1029/92WR01483
- Marks, D., Domingo, J., Susong, D., Link, T., and Garen, D. (1999). A spatially distributed energy balance snowmelt model for application in mountain basins. Hydrological Processes, 13(12–13), 1935–1959. https://doi.org/10.1002/(SICI)1099-1085(199909)13:12/13%3C1935::AID-HYP868%3E3.0.CO;2-C
- Havens, S., Marks, D., Kormos, P., and Hedrick, A. (2017). Spatial Modeling for Resources Framework (SMRF): A modular framework for developing spatial forcing data for snow modeling in mountain basins. Computers & Geosciences, 109, 295–304. https://doi.org/10.1016/j.cageo.2017.08.016
- Hedrick, A. R., et al. (2018). Direct insertion of NASA Airborne Snow Observatory-derived snow depth time series into the iSnobal energy balance snow model. Water Resources Research, 54(10), 8045–8063. https://doi.org/10.1029/2018WR023190
- Havens, S., et al. (2020). Automated Water Supply Model (AWSM): Streamlining and standardizing application of a physically based snow model for water resources and reproducible science. Computers & Geosciences, 144, 104571. https://doi.org/10.1016/j.cageo.2020.104571
Energy Balance Datasets
- Morin, S., Lejeune, Y., Lesaffre, B., Panel, J.-M., Poncet, D., David, P., & Sudul, M. (2012). A 18-years long (1993-2011) snow and meteorological dataset from a mid-altitude mountain site (Col de Porte, France, 1325 altitude) [dataset publication series]. PANGAEA. https://doi.org/10.1594/PANGAEA.774249
- Lejeune, Y., Dumont, M., Panel, J.-M., Lafaysse, M., Lapalus, P., Le Gac, E., Lesaffre, B., & Morin, S. (2019). 57 years (1960-2017) of snow and meteorological observations from a mid-altitude mountain site (Col de Porte, France, 1325 m alt.). Earth System Science Data, 11, 71–88. https://doi.org/10.5194/essd-11-71-2019
- Bair, E. H., Davis, R. E., & Dozier, J. (2018). Hourly mass and snow energy balance measurements from Mammoth Mountain, CA USA, 2011–2017. Earth System Science Data, 10, 549–563. https://doi.org/10.5194/essd-10-549-2018
- Department of Geography, University of Innsbruck. (2023). Continuous meteorological and snow hydrological measurements for 2013-2023 from three automatic weather stations (AWS) in the upper Rofental, Ötztal Alps, Austria. GFZ Data Services. https://doi.org/10.5880/fidgeo.2023.037
- Wever, N. (2017). WFJ_MOD: Meteorological and snowpack measurements from Weissfluhjoch, Davos, Switzerland. EnviDat. https://www.doi.org/10.16904/1
- Pastorello, G., Trotta, C., Canfora, E., et al. (2020). The FLUXNET2015 dataset and the ONEFlux processing pipeline for eddy covariance data. Scientific Data, 7, 225. https://doi.org/10.1038/s41597-020-0534-3
- Central Sierra Snow Laboratory, University of California, Berkeley. (2026). Environmental observations from the Central Sierra Snow Laboratory. https://cssl.berkeley.edu/ Accessed May 20, 2026.
- United States, US Department of Agriculture, Natural Resource Conservation Service, National Water and Climate Center. Air and Water Database. https://nwcc-apps.sc.egov.usda.gov/. Accessed August 21, 2026.
- Center for Snow and Avalanche Studies. (2013). Archival data from Senator Beck Basin Study Area. Center for Snow and Avalanche Studies. https://snowstudies.org/archived-data/. Accessed July 6, 2026.
Acknowledgements
A special thank you to everyone who helped provide, answer questions about, and wrangle energy balance data. This includes Megan Mason at CSSL, Jeff Derry at CSAS, Christoph Marty from SLF, and Marta Galvagno and Paolo Pogliotti from the Environmental Protection Agency of Aosta Valley.
Cryobs-Clim Col de Porte is funded by Meteo France, the Institut National des Sciences de l’Univers (INSU/CNRS), and the Observatoire des Sciences de l’Univers de Grenoble (OSUG / Université Grenoble Alpes)
