12#include "ld_modelsconfig.h"
13#include <input/siteparameters/siteparameters.h>
14#include <containers/cbm_vector.h>
15#include "state/mbe_state.h"
19class LDNDC_API WaterCycleSnowDNDC
24 static const double TLIMIT;
27 static const double RMCOEFF;
30 static const double SNALBEDO;
33 WaterCycleSnowDNDC( cbm::io_kcomm_t *);
34 ~WaterCycleSnowDNDC();
41 struct SnowPackStateIn
44 double air_temperature_above_canopy;
45 double air_temperature_below_canopy;
48 double throughfall_rain_snow;
59 double shortwave_radiation_above_canopy;
60 double shortwave_radiation_below_canopy;
63 struct SnowPackStateOut
66 double rain_throughfall;
69 double snow_throughfall;
72 double canopy_snow_melt;
73 double surface_snow_melt;
83 lerr_t SnowPack( SnowPackStateIn
const &, SnowPackStateOut &);
85 struct IceContentStateIn
88 lvector_t<double> h_sl;
89 lvector_t<double> bulkdensity_sl;
90 lvector_t<double> fcorg_sl;
93 lvector_t<double> wc_sl;
94 lvector_t<double> ice_sl;
95 lvector_t<double> soil_temperature_sl;
98 struct IceContentStateOut
101 lvector_t<double> wc_sl;
102 lvector_t<double> ice_sl;
103 lvector_t<double> soil_temperature_sl;
106 lerr_t IceContent( IceContentStateIn
const &, IceContentStateOut &);
109 static double snow_age_top_layer;
111 siteparameters::input_class_siteparameters_t
const * m_param;
118 SnowDNDCGetIceTemperature(
127 SnowDNDCGetSoilHeatCapacity(
139 SnowDNDCGetSnowAlbedo(
150 SnowDNDCGetSnowAgeTopLayer(
Spatially explicit groundwater model.
Definition: airchemistryput.h:15