Class FSM
Defined in File fsm.hpp
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public module_base
(Class module_base)
Class Documentation
-
class FSM : public module_base
Flexible Snow Model (FSM) 2.0
“The Flexible Snow Model (FSM2) is a multi-physics energy balance model of snow accumulation and melt,
extending the Factorial Snow Model (Essery, 2015) with additional physics, driving and output options.”
This version of FSM has been customized to have the sophisticated process parametrizations selected in every case, except atmospheric stability corrections.
Depends:
Solar elevation “solar_el” [degrees]
Incoming longwave radiation “ilwr” \([W \cdot m^{-2}\)]
Relative Humidy “rh” [%]
Air temperature “t” [ \( {}^\circ C \)]
Precipitation snow “p_snow” [ \(mm \cdot dt^{-1}\)]
Precipitation rain “p_rain” [ \(mm \cdot dt^{-1}\)]
Wind speed 2 m above surface “U_2m_above_srf” [ \( m \cdot s^{-1}\) ]
Incoming shortwave radiation, direct beam “iswr_direct” \([W \cdot m^{-2}\)]
Incoming shortwave radiation, diffuse beam “iswr_diffuse” \([W \cdot m^{-2}\)]
Provides:
Snow Water Equivalent “swe” [mm]
Snow depth “snowdepthavg” [m]
Snow depth slope corrected “snowdepthavg_vert” [m]
Optional:
Sub-canopy forcing:
Subcanopy incoming shortwave radiation “iswr_subcanopy” \([W \cdot m^{-2}\)]
Subcanopy relative humidity “rh_subcanopy” [%]
Subcanopy air temperatue “ta_subcanopy” [ \( {}^\circ C \)]
Subcanopy incoming longwave radidation “ilwr_subcanopy” \([W \cdot m^{-2}\)]
References:
Essery, R. (2015). A factorial snowpack model (FSM 1.0) Geoscientific Model Development 8(12), 3867 3876. https://dx.doi.org/10.5194/gmd-8-3867-2015
Warning
Snow transport and vegetation characteristics remain a TODO
Public Functions
-
FSM(config_file cfg)
-
~FSM()
-
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)
-
virtual void checkpoint(mesh &domain, netcdf &chkpt)
Checkpoint (save state) the current module. By default this errors out if the modules does not support checkpointing.
- Parameters:
domain –
data –
-
virtual void load_checkpoint(mesh &domain, netcdf &chkpt)