SNOWPACK 20240425.b7bfb45
Laws_sn.cc File Reference

This module contains (ALL) the constitutive laws for the 1d snowpack model
. More...

Detailed Description

This module contains (ALL) the constitutive laws for the 1d snowpack model
.

Version
11.06
SnLaws is currently a merely static class (all functions and all variables are static members).
In order to initialize the static member variables they are defined below and if dependent on the VARIANT in use initialized in setStaticData(const& std::string variant). This function also initializes static containers (swa_k, swa_fb, swa_pc). When calling compAlbedo(...) or compSnowViscosity(...) setStaticData might be called in case that the VARIANT has changed, thus some static variables may be adapted at runtime to the VARIANT specified.

This includes Michael Lehning's ALBEDO law as well as Bob Brown's VISCOSITY and HEAT CONDUCTION models. It also contains the SENSIBLE and LATENT heat CONVECTION coefficients. Moreover, this code is used by ALL snowpack modules – creep, temperature and water transport. Many of the laws, for example the ELASTICITY modulus were programmed up by Marc Christen and taken directly from program HAEFELI, the 2d snowpack model.