SNOWPACK 20260609.1e92c933
Physically based, energy balance snow cover model
Loading...
Searching...
No Matches
Laws_sn.cc File Reference

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

Functions

Snow albedo

Computes the density of new snow. The options for SNOW_ALBEDO are:

  • PARAMETERIZED (default is LEHNING_2):
    • LEHNING_[012] : Statistical models of surface snow albedo based on measurements from the Weissfluhjoch study plot (SWin and SWout, K&Z CM21).
    • SCHMUCKI_* : Edgar Schmucki's statistical models (Jan 2014) based on SWin and SWout measurements at 4 stations: Weissfluhjoch study plot (WFJ, 2540 m asl; K&Z CM21), Davos (DAV, 1594 m asl; K&Z CM21), Napf (NAP, 1404 m asl; K&Z CM21), and Payerne (PAY, 490 m asl; K&Z CM21). The variant (*_GSZ) considers grain size as a parameter, while the *_OGS variant replaces grain size with optical equivalent grain size. The user can choose from two average values, ALL_DATA and CUSTOM, the former being the average of all albedo values obtained from all four stations, the latter being the mean of the albedo averages for each single station WFJ, DAV, and PAY; it seems better suited for stations lying below 1500 m asl in Switzerland.
    • NIED : The Japanese version of LEHNING_2
  • MEASURED: Use measured incoming and reflected shortwave radiation fluxes; limited quality checks will be performed. The chosen parameterization will be computed for comparison.
  • FIXED: Use a fixed albedo by assigning ALBEDO-FIXEDVALUE a value between 0.05 and 0.95.
    Parameters
    i_snow_albedotype of albedo computation ()
    i_albedo_parameterization(see above)
    i_albAverageSchmucki
    i_albedo_fixed_valueto use
    Edatacompute albedo for this element
    TssSnow surface temperature (K)
    Mdata
double wetBulbTempStull (double TA, double RH_percent)
 Estimate wet-bulb temperature (°C) from air temperature TA (°C) and relative humidity RH (%) Based on Stull, 2011: https://doi.org/10.1175/JAMC-D-11-0143.1.
 

Detailed Description

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

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.

Function Documentation

◆ wetBulbTempStull()

double wetBulbTempStull ( double  TA,
double  RH_percent 
)

Estimate wet-bulb temperature (°C) from air temperature TA (°C) and relative humidity RH (%) Based on Stull, 2011: https://doi.org/10.1175/JAMC-D-11-0143.1.

Parameters
TAAir temperature (°C)
RH_percentRelative humidity (%)
VWWind velocity (m s-1)
Returns
Wet-bulb temperature (°C)