32 #include <meteoio/MeteoIO.h>
37 #define N_OF_INCIDENCES 2
56 enum BoundaryCondition {
61 static void EL_INCID(
const size_t &e,
int Ie[]);
62 static void EL_TEMP(
const int Ie[],
double Te0[],
double Tei[],
const std::vector<NodeData> &T0,
const double Ti[] );
63 static void EL_RGT_ASSEM(
double F[],
const int Ie[],
const double Fe[]);
68 double Se[ N_OF_INCIDENCES ][ N_OF_INCIDENCES ],
double Fe[ N_OF_INCIDENCES ],
69 const double VaporEnhance);
74 const double& T_snow,
const double& T_iter,
76 double Fe[ N_OF_INCIDENCES ]);
78 void neumannBoundaryConditionsSoil(
const double& flux,
const double& T_snow,
80 double Fe[ N_OF_INCIDENCES ]);
92 void fillNewSnowElement(
const CurrentMeteo& Mdata,
const double& length,
const double& density,
93 const bool& is_surface_hoar,
const unsigned short& number_of_solutes,
ElementData &elem);
99 BoundaryCondition surfaceCode;
100 std::string variant, viscosity_model, watertransportmodel_snow, watertransportmodel_soil;
101 std::string hn_density, hn_density_parameterization;
102 std::string sw_mode, snow_albedo, albedo_parameterization, albedo_average_schmucki, sw_absorption_scheme;
104 bool allow_adaptive_timestepping;
105 double albedo_fixedValue, hn_density_fixedValue;
106 double meteo_step_length;
107 double thresh_change_bc, geo_heat, height_of_meteo_values, height_new_elem, sn_dt;
108 double t_crazy_min, t_crazy_max, thresh_rh, thresh_dtempAirSnow;
109 double new_snow_dd, new_snow_sp, new_snow_dd_wind, new_snow_sp_wind, rh_lowlim, bond_factor_rh;
110 double new_snow_grain_size, new_snow_bond_size;
111 double hoar_density_buried, hoar_density_surf, hoar_min_size_buried;
112 double minimum_l_element;
114 static const double min_snow_albedo;
115 bool research_mode, useCanopyModel, enforce_measured_snow_heights, detect_grass;
116 bool soil_flux, useSoilLayers;
117 bool combine_elements, reduce_n_elements, change_bc, meas_tss;
119 bool enhanced_wind_slab;
123 const static bool hydrometeor;
124 const static double snowfall_warning;
125 const static unsigned int new_snow_marker;
126 bool adjust_height_of_meteo_values;
128 double heat_begin, heat_end;
129 double temp_index_degree_day, temp_index_swr_factor;
130 bool forestfloor_alb;
Snowpack(const SnowpackConfig &i_cfg)
Definition: Snowpack.cc:86
Definition: SnowpackConfig.h:28
ELEMENT DATA used as a pointer in the SnowStation structure NOTE on M below: this is the mass of an e...
Definition: DataClasses.h:251
Definition: DataClasses.h:580
CurrentMeteo is the class of interpolated meteo data for the current calculation time step It contai...
Definition: DataClasses.h:81
static const double new_snow_albedo
Definition: Snowpack.h:48
Definition: Snowpack.h:39
#define N_OF_INCIDENCES
The number of element incidences.
Definition: Snowpack.h:37
ATM_STABILITY
Definition: Meteo.h:39
void setUseSoilLayers(const bool &value)
Definition: Snowpack.cc:274
static const double min_ice_content
Min volumetric ice content allowed.
Definition: Snowpack.h:48
Station data including all information on snowpack layers (elements and nodes) and on canopy This is...
Definition: DataClasses.h:463
void runSnowpackModel(CurrentMeteo Mdata, SnowStation &Xdata, double &cumu_precip, BoundCond &Bdata, SurfaceFluxes &Sdata)
The near future (s. below) has arrived on Wednesday Feb. 6, when it was finally snowing in Davos and ...
Definition: Snowpack.cc:1640
BoundCond is used to set Neumann boundary conditions.
Definition: DataClasses.h:561