Class Lehning_snowpack

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class Lehning_snowpack : public module_base

SNOWPACK (Bartelt and Lehning, 2002) is a multilayer finite-element energy balance snow model originally developed for avalanche hazard forecasting. It has the greatest computational burden of all snowpack models in CHM. This version of SNOWPACK has been modified to allow unlimited removal of snow layers by the blowing snow and avalanche routines.

Depends:

  • Incoming shortwave radiation, all beams “iswr” [ \( W \cdot m^{-2} \) ]

  • Incomging longwave radiation “ilwr” [ \( W \cdot m^{-2} \) ]

  • Relative humidity “rh” [%]

  • Air temperature “t” [ \( {}^\circ C \)]

  • Windspeed at 2m “U_2m_above_srf” [ \( m \cdot s^{-1} \)]

  • Precipitation “p” [ \( mm \cdot dt^{-1} \)]

  • Precipitation rain fraction “frac_precip_rain” [-]

  • Snow albedo “snow_albedo” [-]

Optional:

  • Optionally, depend on the _subcanopy variants of the above

  • Blowing snow erosion/deposition mass “drift_mass” [mm]

  • Ground temperature “T_g” [ \( {}^\circ C \)]

Provides:

  • Change in internal energy “dQ” [ \( W \cdot m^{-2} \) ]

  • Snow water equivalent “swe” [mm]

  • Bulk snow temperature “T_s” [ \( {}^\circ C \)]

  • Surface exchange layer temperature “T_s_0”

  • Number of discretization nodes “n_nodes”

  • Number of discretization layers “n_elem”

  • Snowdepth “snowdepthavg” [m]

  • Sensible heat flux “H” [ \( W \cdot m^{-2} \) ]

  • Latent heat flux “E” [ \( W \cdot m^{-2} \) ]

  • Ground heat flux “G” [ \( W \cdot m^{-2} \) ]

  • Outgoing longwave radiation “ilwr_out” [ \( W \cdot m^{-2} \) ]

  • Reflected shortwave radiation “iswr_out” [ \( W \cdot m^{-2} \) ]

  • Net allwave radiation “R_n” [ \( W \cdot m^{-2} \) ]

  • Snowpack runoff “runoff” [mm]

  • Snow mass removed “mass_snowpack_removed” [mm]

  • Total snowpack runoff “sum_runoff”

  • Total surface sublimation loss “sum_subl”

  • Sublimation loss “sublimation”

  • Evaporation loss “evap”

  • ”MS_SWE”

  • ”MS_WATER”

  • ”MS_TOTALMASS”

  • ”MS_SOIL_RUNOFF”

Configuration:

{
   "sno":
   {
      "SoilAlbedo": 0.09,
      "BareSoil_z0": 0.2,
      "WindScalingFactor": 1,
      "TimeCountDeltaHS": 0.0 *
   }

Note

Currently SNOWPACK is setup to be run an external albedo model and should be changed to default back to the SNOWPACK one.

Public Functions

Lehning_snowpack(config_file cfg)
~Lehning_snowpack()
virtual void run(mesh_elem &face)

Needs to be implemented by each data parallel module. This will be called and executed for each timestep

Parameters:
  • face – The terrain element (triangle) to be worked upon for an element parallel domain

  • global_param – A pointer to the shared global paramter space with domain-wide paramters

virtual void init(mesh &domain)

Public Members

double sn_dt
double const_T_g
struct data : public face_info

Public Members

boost::shared_ptr<Snowpack> sp
boost::shared_ptr<SnowStation> Xdata
boost::shared_ptr<SnowpackConfig> Spackconfig
boost::shared_ptr<Meteo> meteo
boost::shared_ptr<Stability> stability
mio::Config config
double cum_precip
double sum_subl