29 #include <meteoio/MeteoIO.h> 71 const double& height_of_meteo_values);
73 SnowStation& Xdata,
const double& height_of_meteo_values);
75 SnowStation& Xdata,
const double& height_of_meteo_values);
82 static double compLWRadCoefficient(
const double& t_snow,
const double& t_atm,
const double& e_atm);
84 static double parameterizedSnowAlbedo(
const std::string& i_albedo,
const std::string& i_albedo_parameterization,
const std::string& i_albAverageSchmucki,
85 const double& i_hn_albedo_fixedValue,
const ElementData& Edata,
const double& Tss,
const CurrentMeteo& Mdata,
const bool& ageAlbedo=
true);
88 const double& depth_begin,
const double& depth_end);
90 static double compNewSnowDensity(
const std::string& i_hn_density,
const std::string& i_hn_density_parameterization,
const double& i_hn_density_fixedValue,
92 const std::string& variant);
99 const mio::Date& date);
104 static double compSnowViscosity(
const std::string& variant,
const std::string& i_viscosity_model,
const std::string& i_watertransport_model,
110 static double AirEmissivity(mio::MeteoData& md,
const std::string& variant);
111 static double AirEmissivity(
const double& ilwr,
const double& ta,
const std::string& variant);
112 static double ArrheniusLaw(
const double ActEnergy,
const double T,
const double T_ref);
119 typedef enum SOIL_EVAP_MODEL {
121 EVAP_RELATIVE_HUMIDITY,
125 static bool setStaticData(
const std::string& variant,
const std::string& watertransportmodel);
127 static double newSnowDensityPara(
const std::string& i_hn_model,
128 double TA,
double TSS,
double RH,
double VW,
double HH);
129 static double newSnowDensityEvent(
const std::string& variant,
const SnLaws::EventType& i_event,
131 static double newSnowDensityHendrikx(
const double ta,
const double tss,
const double rh,
const double vw);
132 static double event_wind_highlim;
136 static const bool __init;
137 static std::string current_variant;
140 static double visc_ice_fudge, visc_sp_fudge, visc_water_fudge;
142 static size_t swa_nBands;
143 static std::vector<double> swa_k, swa_pc, swa_fb;
144 static const soil_evap_model soil_evaporation;
145 static const double rsoilmin, relsatmin, alpha_por_tor_soil, pore_length_soil;
146 static const double montana_c_fudge, montana_vapor_fudge, montana_v_water_fudge;
147 static const double wind_ext_coef, displacement_coef, alpha_por_tor;
static double compWindGradientSnow(const ElementData &Edata, double &v_pump)
Computes the wind gradient near the snow-cover surface.
Definition: Laws_sn.cc:551
static double AirEmissivity(mio::MeteoData &md, const std::string &variant)
Compute the air emissivity It relies on mio::ILWR_parametrized to get a parametrized ILWR if no measu...
Definition: Laws_sn.cc:1461
static double max_hn_density
Definition: Laws_sn.h:114
static const bool wind_pump
Switch on or off wind pumping in snow.
Definition: Laws_sn.h:116
static double loadingRateStressCALIBRATION(ElementData &Edata, const mio::Date &date)
Definition: Laws_sn.cc:1146
static double compSnowViscosity(const std::string &variant, const std::string &i_viscosity_model, const std::string &i_watertransport_model, ElementData &Edata, const mio::Date &date)
Definition: Laws_sn.cc:1319
as of revision 837 (deprecated)
Definition: Laws_sn.h:56
static void compShortWaveAbsorption(const std::string &i_sw_absorption_scheme, SnowStation &Xdata, const double &I0)
Helen LeVesconte's Solution to short wave absorption by the snowpack NOTE on fudge_bohren (fb): Large...
Definition: Laws_sn.cc:438
static double event_wind_lowlim
Definition: Laws_sn.h:114
static double compLoadingRateStress(const std::string &variant, ElementData &Edata, const mio::Date &date)
Computes the additional stress due to loading rate.
Definition: Laws_sn.cc:1128
static double snowViscosityFudgeCALIBRATION(const ElementData &Edata, const mio::Date &date)
To calibrate the fudge factor for viscosity.
Definition: Laws_sn.cc:1222
static double conductivity_water(const double &Temperature)
Definition: Laws_sn.cc:266
calibration 2009 by Walter Steinkogler (MSc thesis)
Definition: Laws_sn.h:48
static double compNewSnowDensity(const std::string &i_hn_density, const std::string &i_hn_density_parameterization, const double &i_hn_density_fixedValue, const CurrentMeteo &Mdata, const SnowStation &Xdata, const double &tss, const std::string &variant)
Definition: Laws_sn.cc:1035
static double SnowViscosityMSU(const ElementData &Edata)
MONTANA snow viscosity (non-dendritic snow, i.e. if dd=0.); From bb_lw_VS_Montana() (Laws...
Definition: Laws_sn.cc:1519
static double parameterizedSnowAlbedo(const std::string &i_albedo, const std::string &i_albedo_parameterization, const std::string &i_albAverageSchmucki, const double &i_hn_albedo_fixedValue, const ElementData &Edata, const double &Tss, const CurrentMeteo &Mdata, const bool &ageAlbedo=true)
Definition: Laws_sn.cc:296
static double snowViscosityCALIBRATION(ElementData &Edata, const mio::Date &date)
Calibrate snow viscosity NOTE This is the test or playground version for calibrating settling...
Definition: Laws_sn.cc:1391
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
static double compWindPumpingVelocity(const CurrentMeteo &Mdata, const double &d_pump)
Computes the wind pumping velocity at the surface.
Definition: Laws_sn.cc:539
static void compAdvectiveHeat(SnowStation &Xdata, const double &advective_heat, const double &depth_begin, const double &depth_end)
Advective Heat Flux injection (mimicking heat advection by infiltrating water?)
Definition: Laws_sn.cc:490
ViscosityVersion
Defines which snow viscosity version to use.
Definition: Laws_sn.h:51
version under test
Definition: Laws_sn.h:53
static const double smallest_viscosity
Defines the smallest allowable viscosity (Pa s) that a viscosity law will return Value is DAMM SMALL...
Definition: Laws_sn.h:115
actual version: revision 961, June 2011 by Fierz
Definition: Laws_sn.h:52
as of revision 837 (from r243)
Definition: Laws_sn.h:47
static const double field_capacity_soil
Field capacity of the soil (1). Above this levels, water begins to drain.
Definition: Laws_sn.h:115
static double ArrheniusLaw(const double ActEnergy, const double T, const double T_ref)
Computes an Arrhenius-type temperature dependency.
Definition: Laws_sn.cc:1442
static double compLWRadCoefficient(const double &t_snow, const double &t_atm, const double &e_atm)
LONGWAVE RADIATION COEFFICIENT This routine might look a bit unusual: Radiation is treated as a CONVE...
Definition: Laws_sn.cc:888
static const bool wind_pump_soil
Switch on or off wind pumping in soil.
Definition: Laws_sn.h:116
CurrentMeteo is the class of interpolated meteo data for the current calculation time step It contai...
Definition: DataClasses.h:81
static double compLatentHeat_Rh(const std::string soil_evaporation, const CurrentMeteo &Mdata, SnowStation &Xdata, const double &height_of_meteo_values)
Latent heat flux including consideration of soil (one active element) This method uses the Relative H...
Definition: Laws_sn.cc:780
calibration 2009 by Walter Steinkogler (MSc thesis)
Definition: Laws_sn.h:57
static double compSensibleHeatCoefficient(const CurrentMeteo &Mdata, const SnowStation &Xdata, const double &height_of_meteo_values)
SENSIBLE HEAT EXCHANGE COEFFICIENT (Surface Energy Exchange)
Definition: Laws_sn.cc:752
Arrhenius type multiplied by critical function near melting point.
Definition: Laws_sn.h:45
pure Arrhenius type w/ excitation energy of ice
Definition: Laws_sn.h:46
calibration fall 2010 by Fierz
Definition: Laws_sn.h:55
static double snowViscosityTemperatureTerm(const double &Te)
Computes the temperature term of viscosity.
Definition: Laws_sn.cc:1097
EventType
Types of events for computing new snow density.
Definition: Laws_sn.h:39
static double snowViscosityKOJIMA(const ElementData &Edata)
SNOW VISCOSITY according to formulation by Kojima.
Definition: Laws_sn.cc:1378
static double snowViscosityFudgeDEFAULT(const ElementData &Edata)
Determines the fudge factor for viscosity This fudge factor takes into account bond-ice imperfection...
Definition: Laws_sn.cc:1194
Wind driven deposition of snow (Antarctica)
Definition: Laws_sn.h:41
static double min_hn_density
Definition: Laws_sn.h:114
static double compEnhanceWaterVaporTransportSnow(const SnowStation &Xdata, const size_t &i_e)
Computes the enhancement factor for water vapor transport in wet snow.
Definition: Laws_sn.cc:616
if Antarctica needs adaptation of _new
Definition: Laws_sn.h:54
static double compSnowThermalConductivity(const ElementData &Edata, const double &dvdz, const bool &show_warnings=true)
Heat conduction in snow Actual version: k = C1*[C2 + C3 + C4 + C5] Adams/Sato model. The following piece of code was programmed by Perry on a warm June afternoon in Birmensdorf. H.U. Gubler was viciously attacking Ammann, saying nasty things about our beloved chef, (even if his hair is a bit funny), in the DAVOSER ZEITUNG. Perry was dreaming about San Diego and .... and Michael was dreamy about rock climbing in Italy with funky, spunky Italian girls, Borolo Bob was busy with his wife on his way to Mallorca – to watch sexy TOPLESS bikini-slip clad GERMAN secretaries on the BEACH. As usual, if this code does not work it is his FAULT .... (Hey, Bob, when are we going to meet ED ADAMS? And remember PLEDGE 7 of Metamorphism.c. The theory behind this piece of code can be found in Bob's ROUGH DRAFT on MICROSTRUCTURE.
Definition: Laws_sn.cc:661
Station data including all information on snowpack layers (elements and nodes) and on canopy This is...
Definition: DataClasses.h:468
static double conductivity_air(void)
static double compSoilThermalConductivity(const ElementData &Edata, const double &dvdz, const std::string &soil_thermal_conductivity)
Heat conduction in soil. The formulation is based on curve fitting, the frozen soil data from Kersten...
Definition: Laws_sn.cc:571
static double compLatentHeat(const std::string soil_evaporation, const CurrentMeteo &Mdata, SnowStation &Xdata, const double &height_of_meteo_values)
LATENT HEAT EXCHANGE (Surface Energy Exchange) David Gustafsson (davidg@kth.se) has introduced a resi...
Definition: Laws_sn.cc:854
static double conductivity_ice(const double &Temperature)
Definition: Laws_sn.cc:253
static double loadingRateStressDEFAULT(ElementData &Edata, const mio::Date &date)
Definition: Laws_sn.cc:1136
TempDependence
Defines temperature dependence of snow viscosity.
Definition: Laws_sn.h:44
static const bool jordy_new_snow
To use J. Hendrikx's parameterization for wind speeds > 2.9 m s-1.
Definition: Laws_sn.h:116
static double snowViscosityDEFAULT(ElementData &Edata)
SNOW VISCOSITY (all types of snow)
Definition: Laws_sn.cc:1343
static double compWindPumpingDisplacement(const SnowStation &Xdata)
Computes the displacement depth in case of ventilation.
Definition: Laws_sn.cc:515
static double NewSnowViscosityLehning(const ElementData &Edata)
NEW SNOW VISCOSITY (dendritic snow, i.e., dd > 0.) Actual version : ml_lw_VS_Lehning from r7...
Definition: Laws_sn.cc:1077