SNOWPACK 20260217.97ebebde
Physically based, energy balance snow cover model
Loading...
Searching...
No Matches
DataClasses.h
Go to the documentation of this file.
1/*
2 * SNOWPACK stand-alone
3 *
4 * Copyright WSL Institute for Snow and Avalanche Research SLF, DAVOS, SWITZERLAND
5*/
6/* This file is part of Snowpack.
7 Snowpack is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 Snowpack is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Snowpack. If not, see <http://www.gnu.org/licenses/>.
19*/
26#ifndef DATACLASSES_H
27#define DATACLASSES_H
28
31class SeaIce; //forward declaration to prevent include loop
32
33#include <snowpack/Constants.h>
34#include <meteoio/MeteoIO.h>
35
36#include <string>
37#include <vector>
38#include <functional>
39
41enum {
46};
47
49struct SNOW_OPTIC {
50 double ggg;
51 double exteff;
52 double ssa;
53};
54
56struct WL_STRUCT {
57 double nm;
58 double perc;
59};
60
68 public:
69 ZwischenData(): hoar24(48, 0.0), drift24(48, 0.0), hn3(144, 0.0), hn24(144, 0.0) {}
70 void reset();
71
72 friend std::ostream& operator<<(std::ostream& os, const ZwischenData& data);
73 friend std::istream& operator>>(std::istream& is, ZwischenData& data);
74
75 std::vector<double> hoar24;
76 std::vector<double> drift24;
77 std::vector<double> hn3;
78 std::vector<double> hn24;
79};
80
87 public:
89 CurrentMeteo(const SnowpackConfig& i_cfg);
90
91 void reset(const SnowpackConfig& i_cfg);
92 void setMeasTempParameters(const mio::MeteoData& md);
93 size_t getNumberMeasTemperatures() const;
94 size_t getNumberFixedRates() const;
95 size_t getMaxNumberMeasTemperatures() const;
96 void getFixedPositions(std::vector<double>& positions) const;
97 size_t getNumberFixedPositions() const;
98 void copySnowTemperatures(const mio::MeteoData& md, const unsigned int& current_slope);
99 void copySolutes(const mio::MeteoData& md, const size_t& i_number_of_solutes);
100
101 const std::string toString() const;
102 friend std::ostream& operator<<(std::ostream& os, const CurrentMeteo& data);
103 friend std::istream& operator>>(std::istream& is, CurrentMeteo& data);
104
105 mio::Date date;
106 double ta;
107 double rh;
108 double rh_avg;
109 double vw;
110 double vw_avg;
111 double vw_max;
112 double dw;
113 double vw_drift;
114 double dw_drift;
115 double ustar;
116 double z0;
117 double psi_s;
118 double iswr;
119 double rswr;
120 double mAlbedo;
121 double diff;
122 double dir_h;
123 double elev;
124 double ea;
125 double lw_net;
126 double tss;
127 double tss_a12h;
128 double tss_a24h;
129 double ts0;
130 double psum;
131 double psum_ph;
132 double psum_tech;
133 double hs;
134 double hs_a3h;
135 double hs_rate;
136 double geo_heat;
137 double adv_heat;
138
139 std::vector<double> ts;
140 std::vector<double> zv_ts;
141 std::vector<double> conc;
142 double rho_hn;
143 double rime_hn;
144 double lwc_hn;
145
146 bool poor_ea;
147
148 private:
149 size_t getNumberMeasTemperatures(const mio::MeteoData& md);
150
151 std::vector<double> fixedPositions;
152 double minDepthSubsurf;
153 size_t maxNumberMeasTemperatures;
154 size_t numberMeasTemperatures;
155 size_t numberFixedRates;
156};
157
165
167enum {
175
183
190 public:
191 LayerData();
192
193 const std::string toString() const;
194 friend std::ostream& operator<<(std::ostream& os, const LayerData& data);
195 friend std::istream& operator>>(std::istream& is, LayerData& data);
196
197 mio::Date depositionDate;
198 double hl;
199 size_t ne;
200 double tl;
201 double phiSoil;
202 double phiIce;
205 double phiWater;
207 double phiVoids;
208 std::vector<double> cSoil;
209 std::vector<double> cIce;
210 std::vector<double> cWater;
211 std::vector<double> cVoids;
212 double SoilRho;
213 double SoilK;
214 double SoilC;
215 double rg;
216 double sp;
217 double dd;
218 double rb;
219 unsigned short int mk;
220 double hr;
221 double CDot;
222 double metamo;
223 double salinity;
224 double h;
225 double dsm;
226};
227
234 public:
236 nLayers(0), Ldata(), HS_last(0.), Albedo(mio::IOUtils::nodata),
237 SoilAlb(mio::IOUtils::nodata), BareSoil_z0(mio::IOUtils::nodata),
238 Canopy_Height(mio::IOUtils::nodata), Canopy_LAI(mio::IOUtils::nodata),
239 Canopy_Direct_Throughfall(mio::IOUtils::nodata),
240 ErosionLevel(static_cast<int>(mio::IOUtils::nodata)), TimeCountDeltaHS(mio::IOUtils::nodata),
241 Canopy_BasalArea(mio::IOUtils::nodata), Canopy_diameter(mio::IOUtils::nodata),
242 Canopy_lai_frac_top_default(mio::IOUtils::nodata),Canopy_int_cap_snow(mio::IOUtils::nodata),
243 Canopy_alb_dry(mio::IOUtils::nodata),Canopy_alb_wet(mio::IOUtils::nodata),
244 Canopy_alb_snow(mio::IOUtils::nodata),Emissivity_soil(mio::IOUtils::nodata)
245 {}
246
247 const std::string toString() const;
248 friend std::ostream& operator<<(std::ostream& os, const SN_SNOWSOIL_DATA& data);
249 friend std::istream& operator>>(std::istream& is, SN_SNOWSOIL_DATA& data);
250
251 mio::StationData meta;
252 mio::Date profileDate;
253 size_t nN;
254 double Height;
255 size_t nLayers;
256 std::vector<LayerData> Ldata;
257 double HS_last;
259 double Albedo;
260 double SoilAlb;
261 double BareSoil_z0;
263 double Canopy_LAI;
272 double Canopy_alb_dry; // Albedo of dry canopy (calibr: 0.09, Alptal)
273 double Canopy_alb_wet; // Albedo of wet canopy (calibr: 0.09, Alptal)
274 double Canopy_alb_snow; // Albedo of snow covered albedo (calibr: 0.35, Alptal)
277
278
279};
280
289 public:
291 typedef enum YOUNG_MODULUS {
294 Exp
296
297 ElementData(const unsigned short int& in_ID);
298 ElementData(const ElementData& cc); //required to get the correct back-reference in vanGenuchten object
299 ElementData& operator=(const ElementData&) = default;
300
301 bool checkVolContent();
302 void heatCapacity();
303 double coldContent() const;
304 void updDensity();
305 double extinction() const;
308 static double snowResidualWaterContent(const double& theta_i);
309 double soilFieldCapacity() const;
310 double soilRelativeHumidity() const;
311
312 double snowElasticity() const;
313 double neckStressEnhancement() const;
314 double concaveNeckRadius() const;
315 double neckLength() const;
316 double neck2VolumetricStrain() const;
317
318 void snowType();
319 unsigned short int getSnowType() const;
320 static unsigned short int snowType(const double& dendricity, const double& sphericity, const double& grain_dia, const unsigned short int& marker,
321 const double& theta_w, const double& res_wat_cont_loc);
322 static double getYoungModule(const double& rho_slab, const Young_Modulus& model);
323
324 const std::string toString() const;
325 friend std::ostream& operator<<(std::ostream& os, const ElementData& data);
326 friend std::istream& operator>>(std::istream& is, ElementData& data);
327
328 mio::Date depositionDate;
329 double L0, L;
330 double Te;
331 double gradT;
333 std::vector<double> theta;
334 double h;
335 mio::Array2D<double> conc;
336 std::vector<double> k;
337 // Stored in order to visualize constitutive laws
338 // Will be used for creep field hydraulic conductivity in m3 s kg-1
339 std::vector<double> c;
340 // Will also be used for creep specific snow water capacity in m3 J-1
341 std::vector<double> soil;
342 double Rho;
343 double M;
344 double sw_abs;
345 // Snow Metamorphism Data
346 double rg;
347 double dd;
348 double sp;
349 double ogs;
350 double rb;
351 double N3;
352 size_t mk;
353 unsigned short int type;
354 double metamo;
355 double salinity;
356 double dth_w;
358 double Qmf;
359 double QIntmf;
360 double dEps, Eps, Eps_e, Eps_v;
362 double E;
363 double S;
364 double C;
365 double CDot;
366 double ps2rb;
367 double s_strength;
368 double hard;
369 double S_dr;
372 double lwc_source;
378 double Qph_up;
379 double Qph_down;
380 //NIED (H. Hirashima)
381 double dsm;
382 double rime;
383
384 unsigned short int ID;
385 static const unsigned short int noID;
386
387 double rhov;
388 double Qmm;
393};
394
396class NodeData {
397 public:
398 NodeData() : z(0.), u(0.), f(0.), udot(0.), T(0.), S_n(0.), S_s(0.), ssi(6.), rta(0.), hoar(0.),
399 dsm(0.), S_dsm(0.), Sigdsm(0.), rime(0.), water_flux(0.), rhov(0.) {} //HACK: set ssi to max_stability!
400
401 const std::string toString() const;
402 friend std::ostream& operator<<(std::ostream& os, const NodeData& data);
403 friend std::istream& operator>>(std::istream& is, NodeData& data);
404
405 double z;
406 double u;
407 double f;
408 double udot;
409 double T;
410 double S_n;
411 double S_s;
412 double ssi;
413 double rta;
414 double hoar;
415
416 //NIED (H. Hirashima)
417 double dsm;
418 double S_dsm;
419 double Sigdsm;
420 double rime;
421
422 double water_flux;
423
424 double rhov;
425};
426
443 public:
449 can_ch0(0.), can_rs_mult(0.), rsmin(0.), f3_gd(0.), rootdepth(0.), wp_fraction(0.),
450 h_wilt(0.), storage(0.), temp(0.), sigf(0.), ec(0.), lai(0.), z0m(0.), z0h(0.), zdispl(0.),
451 height(0.), direct_throughfall(0.), ra(0.), rc(0.), rs(0.), rstransp(0.), canopyalb(0.),
452 totalalb(0.), wetfraction(0.), intcapacity(0.), rswrac(0.), iswrac(0.), rswrbc(0.), iswrbc(0.),
453 ilwrac(0.), rlwrac(0.), ilwrbc(0.), rlwrbc(0.), rsnet(0.), rlnet(0.), sensible(0.), latent(0.),
454 latentcorr(0.), transp(0.), intevap(0.), interception(0.), throughfall(0.), snowunload(0.),
455 snowfac(0.), rainfac(0.), liquidfraction(0.), sigftrunk(0.), Ttrunk(0.), CondFluxCanop(0.),
457 BasalArea(0.), HMLeaves(0.), HMTrunks(0.) {}
458
459 void initialize(const SN_SNOWSOIL_DATA& SSdata, const bool useCanopyModel, const bool isAlpine3D);
460 void reset(const bool& cumsum_mass);
462 void multiplyFluxes(const double& factor);
463
464 const std::string toString() const;
465 friend std::ostream& operator<<(std::ostream& os, const CanopyData& data);
466 friend std::istream& operator>>(std::istream& is, CanopyData& data);
467
477 double int_cap_snow; //iMax in Gouttevin,2015
485
487 double can_alb_dry; // Albedo of dry canopy (calibr: 0.09, Alptal)
488 double can_alb_wet; // Albedo of wet canopy (calibr: 0.09, Alptal)
489 double can_alb_snow; // Albedo of snow covered albedo (calibr: 0.35, Alptal)
490 double krnt_lai; // Radiation transmissivity parameter, in the range 0.4-0.8 if the true LAI is used; higher if optical LAI is used.
491 // (calibrated on Alptal)
492 double can_diameter; // average canopy (tree) diameter [m], parameter in the new radiation transfer model
495 double biomass_heat_capacity; // from Linroth et al., 2013 (J Kg-1 K-1)
496 double biomass_density; // from Linroth et al., 2013 (Kg m-3)
497 double lai_frac_top_default; // fraction of total LAI that is attributed to the uppermost layer. Here calibrated for Alptal.
498 double trunk_frac_height; // (optional) fraction of total tree height occupied by trunks,
499 // used to calculate direct solar insolation of trunks.
500 double trunkalb; // trunk albedo
501 double et; // trunk emissivity
515
521 double can_ch0;
526 double rsmin;
532 double f3_gd;
534 double rootdepth;
538 double h_wilt;
540
541 // State variable
542 double storage;
543 double temp;
544 double sigf;
545 double ec;
546 // parameters
547 double lai;
548 double z0m;
549 double z0h;
550 double zdispl;
551 double height;
553 // aerodynamic resistances
554 double ra;
555 double rc;
556 double rs;
557 double rstransp;
558 // Averaged variables
559 double canopyalb;
560 double totalalb;
561 double wetfraction;
562 double intcapacity;
563 // Radiations
564 double rswrac;
565 double iswrac;
566 double rswrbc;
567 double iswrbc;
568 double ilwrac;
569 double rlwrac;
570 double ilwrbc;
571 double rlwrbc;
572 double rsnet;
573 double rlnet;
574 // Turbulent fluxes
575 double sensible;
576 double latent;
578 // Evap fluxes
579 double transp;
580 double intevap;
581 // Mass fluxes
585
586 double snowfac;
587 double rainfac;
589 double sigftrunk;
590 double Ttrunk;
595 double QStrunks;
597 double BasalArea;
598 double HMLeaves;
599 double HMTrunks;
600};
601
602class SeaIce; // Foreward-declare sea ice class
610 public:
611 explicit SnowStation(const bool i_useCanopyModel=true, const bool i_useSoilLayers=true,
612 const bool i_isAlpine3D=false, const bool i_useSeaIceModule=false);
613 SnowStation(const SnowStation& c);
614
615 ~SnowStation();
617
618 void initialize(const SN_SNOWSOIL_DATA& SSdata, const size_t& i_sector);
619 void resize(const size_t& number_of_elements);
620
621 void reduceNumberOfElements(const size_t& rnE);
622 void combineElements(const size_t& number_top_elements, const bool& reduce_n_elements, const size_t& cond, const double& comb_thresh_l);
623 static bool combineCondition(const ElementData& Edata0, const ElementData& Edata1, const double& depth, const bool& reduce_n_elements, const double& comb_thresh_l);
624 static void mergeElements(ElementData& Edata0, const ElementData& Edata1, const bool& merge, const bool& topElement, const bool& VapourTransport = false);
625 void splitElement(const size_t& e); //Split an element
626 void splitElements(const double& max_element_length, const double& comb_thresh_l); //Check for splitting, calls splitElement(...) for actual splitting
627 bool needDeflateInflate(const double &sn_dt);
628 void deflateInflate(const CurrentMeteo& Mdata, double& dhs_corr, double& mass_corr, const bool &prn_check);
629 double forcedErosion(const double hs);
630
631 void compSnowpackMasses();
632 void compSnowpackInternalEnergyChange(const double& sn_dt);
633 void compSoilInternalEnergyChange(const double& sn_dt);
634 double averageFromTop(const double& averagingDepth, const std::function<double(const ElementData&)>& Elementproperty);
635
636 double getLiquidWaterIndex() const;
637 double getModelledTemperature(const double& z) const;
638 double getTotalLateralFlowSnow() const;
639 double getTotalLateralFlowSoil() const;
640 void resetSlopeParFlux();
641
642 size_t getNumberOfElements() const;
643 size_t getNumberOfNodes() const;
644 bool isGlacier(const bool& hydro=false) const;
645 bool hasSoilLayers() const;
646 double findMarkedReferenceLayer() const;
647
648 size_t find_tag(const size_t& tag) const;
649
650 void reset_water_fluxes();
651
652 const std::string toString() const;
653 friend std::ostream& operator<<(std::ostream& os, const SnowStation& data);
654 friend std::istream& operator>>(std::istream& is, SnowStation& data);
655
656 mio::StationData meta;
657 double cos_sl;
658 size_t sector;
659
662 double pAlbedo;
663 double Albedo;
664 double SoilAlb;
666 double BareSoil_z0;
667 size_t SoilNode;
668 double Ground;
669 double cH;
670 double mH;
671 double mass_sum;
672 double swe;
673 double lwc_sum;
676 double hn;
677 double rho_hn;
678 double rime_hn;
680 double ErosionMass;
681 char S_class1;
682 char S_class2;
683 double S_d;
684 double z_S_d;
685 double S_n;
686 double z_S_n;
687 double S_s;
688 double z_S_s;
689 double S_4;
690 double z_S_4;
691 double S_5;
692 double z_S_5;
693 std::vector<NodeData> Ndata;
694 std::vector<ElementData> Edata;
695 void *Kt;
696 double ColdContent;
698 double dIntEnergy;
702 double ReSolver_dt;
703 bool windward;
708 static const size_t number_top_elements;
709 static unsigned short number_of_solutes;
710
711 private:
712 size_t nNodes;
713 size_t nElems;
714 unsigned short int maxElementID;
715 bool useCanopyModel, useSoilLayers, isAlpine3D;
716 static double flexibleMaxElemLength(const double& depth, const double& comb_thresh_l);
717};
718
723
724 public:
725 BoundCond() : lw_out(0.), lw_net(0.), qs(0.), ql(0.), qr(0.), qg(Constants::undefined) {}
726 const std::string toString() const;
727 void reset();
728
729 double lw_out;
730 double lw_net;
731 double qs;
732 double ql;
733 double qr;
734 double qg;
735};
736
744 public:
768
769 const std::string toString() const;
770 friend std::ostream& operator<<(std::ostream& os, const SurfaceFluxes& data);
771 friend std::istream& operator>>(std::istream& is, SurfaceFluxes& data);
772
774
775 void reset(const bool& cumsum_mass);
776 void compSnowSoilHeatFlux(const SnowStation& Xdata);
777 void collectSurfaceFluxes(const BoundCond& Bdata, SnowStation& Xdata, const CurrentMeteo& Mdata);
778 void multiplyFluxes(const double& factor);
779
785 double lw_in;
786 double lw_out;
787 double lw_net;
788 double qs;
789 double ql;
790 double hoar;
791 double qr;
792 double qg;
793 double qg0;
794 double sw_hor;
795 double sw_in;
796 double sw_out;
797 double qw;
798 double sw_dir;
799 double sw_diff;
800 double pAlbedo;
801 double mAlbedo;
802 double dIntEnergy;
806
808 double drift;
809 std::vector<double> mass;
810 std::vector<double> load;
811 double dhs_corr;
812 double cRho_hn;
813 double mRho_hn;
814
815};
817
819//HACK: could it be moved to plugins? (as well as Aggregate)
821 public:
823
824 void average(const double& w1, const double& w2, const SnowProfileLayer& Pdata);
825 static std::vector<SnowProfileLayer> generateProfile(const mio::Date& dateOfProfile, const SnowStation& Xdata, const double hoar_density_surf, const double hoar_min_size_surf);
826
827 // Profile meta data
828 mio::Date profileDate;
829 std::string stationname;
830 unsigned char loc_for_snow;
831 unsigned char loc_for_wind;
832
833 mio::Date depositionDate;
834 double height;
835 double rho;
836 double T;
837 double gradT;
839 double theta_i;
840 double theta_w;
841 double theta_a;
842 double grain_size;
843 double bond_size;
844 double dendricity;
845 double sphericity;
846 double ogs;
847 double coordin_num;
848 unsigned short int marker;
849 short unsigned int type;
850 double hard;
851
852 private:
853 void generateLayer(const ElementData& Edata, const NodeData& Ndata);
854 void generateLayer(const ElementData& Edata, const NodeData& Ndata,
855 const mio::Date& dateOfProfile, const double hoar_density_surf);
856};
857
859class RunInfo {
860 public:
861 RunInfo();
862 RunInfo(const RunInfo& orig);
863 RunInfo& operator=(const RunInfo&) {return *this;} //everything is static, so we can not change anything
864
865 const std::string version;
866 const double version_num;
867 const mio::Date computation_date;
868 const std::string compilation_date;
869 const std::string user;
870 const std::string hostname;
871 const std::string history;
872
873 private:
874 std::string setHistory();
875 static int hexToDecimal(const std::string& hex);
876 static double getNumericVersion(std::string version_str);
877 static mio::Date getRunDate();
878 static std::string getCompilationDate();
879};
880
884class Slope {
885
886 public:
887 Slope(const mio::Config& cfg);
888
890 unsigned int nSlopes;
891 unsigned int mainStation;
892 unsigned int sector;
893 unsigned int first;
894 unsigned int luv;
895 unsigned int lee;
899
900 unsigned int getSectorDir(const double& dir_or_expo) const;
901 void setSlope(const unsigned int slope_sequence, std::vector<SnowStation>& vecXdata, double& wind_dir);
902
903 private:
904 double sector_width;
905};
906
908 public:
909 MainControl(const SnowpackConfig& cfg);
910
911 void getOutputControl(const mio::Date& step, const mio::Date& sno_step);
912 void reset();
913
914 // New members for output control
915 double tsstart;
917 double profstart;
922 double sn_dt;
923
924 size_t nStep;
925 size_t nAvg;
926 size_t HzStep;
927 bool TsDump;
928 bool HzDump;
929 bool PrDump;
931 bool sdbDump;
933};
934
939class Cumsum {
940
941 public:
942 Cumsum(const unsigned int nSlopes) : precip(0.),
943 drift(0.), snow(0.), runoff(0.), rain(0.), dhs_corr(0.), mass_corr(0.),
944 erosion(nSlopes, 0.) {}
945
946 double precip;
948 double dhs_corr, mass_corr; // inflate/deflate variables
949 std::vector<double> erosion; // Cumulated eroded mass; dumped to file as rate
950};
951
952#endif
@ SOLID
Solid.
Definition DataClasses.h:42
@ GAS
Gas.
Definition DataClasses.h:44
@ LIQUID
Liquid.
Definition DataClasses.h:43
@ NUMBER_OF_PHASES
Definition DataClasses.h:45
SN_SOIL_DATA
The different soil fields (PERMAFROST)
Definition DataClasses.h:177
@ SOIL_RHO
Bulk density of dry soil component (without accounting for porosity)
Definition DataClasses.h:178
@ SOIL_C
Specific heat of dry soil component.
Definition DataClasses.h:180
@ SOIL_K
Bulk conductivity of dry soil component.
Definition DataClasses.h:179
@ N_SOIL_FIELDS
Definition DataClasses.h:181
double ssa
Single Scattering Albedo.
Definition DataClasses.h:52
double perc
Percentage of Energy.
Definition DataClasses.h:58
double exteff
Extinction Efficiency.
Definition DataClasses.h:51
SN_FIELD
The 3 mathematical fields that can be solved.
Definition DataClasses.h:159
@ SEEPAGE
Water transport.
Definition DataClasses.h:161
@ N_SN_FIELDS
Definition DataClasses.h:163
@ TEMPERATURE
Temperature (phase change and metamorphism)
Definition DataClasses.h:160
@ SETTLEMENT
Creep displacements.
Definition DataClasses.h:162
double nm
Wavelength.
Definition DataClasses.h:57
double ggg
Asymmetry Parameter.
Definition DataClasses.h:50
@ AIR
Air.
Definition DataClasses.h:172
@ WATER_PREF
Water in preferential flow.
Definition DataClasses.h:171
@ SOIL
Soil.
Definition DataClasses.h:168
@ ICE
Ice.
Definition DataClasses.h:169
@ N_COMPONENTS
Definition DataClasses.h:173
@ WATER
Water.
Definition DataClasses.h:170
Optical Properties of snow.
Definition DataClasses.h:49
Spectrum of incoming solar radiation.
Definition DataClasses.h:56
BoundCond is used to set Neumann boundary conditions.
Definition DataClasses.h:722
double qs
sensible heat
Definition DataClasses.h:731
double qg
geothermal heat flux or heat flux at lower boundary
Definition DataClasses.h:734
double ql
latent heat
Definition DataClasses.h:732
BoundCond()
Definition DataClasses.h:725
double lw_out
outgoing longwave radiation
Definition DataClasses.h:729
const std::string toString() const
Definition DataClasses.cc:315
double qr
rain energy
Definition DataClasses.h:733
double lw_net
net longwave radiation
Definition DataClasses.h:730
void reset()
Definition DataClasses.cc:325
Canopy data used as a pointer in the SnowStation structure.
Definition DataClasses.h:442
double wp_fraction
Wilting point, defined as a fraction of water content at field capacity (-)
Definition DataClasses.h:536
CanopyData()
Definition DataClasses.h:444
double wetfraction
fraction of canopy covered by interception [-]
Definition DataClasses.h:561
double intcapacity
maximum interception storage [mm]
Definition DataClasses.h:562
double rc
from canopy to canopy air
Definition DataClasses.h:555
double f3_gd
gd (Pa-1) parameter for canopy surface resistance response to vapour pressure:
Definition DataClasses.h:532
double sigftrunk
radiation interception cross section for trunk layer ()
Definition DataClasses.h:589
double latentcorr
Definition DataClasses.h:577
double LWnet_Trunks
net LW to trunks (>0 towards trunks)
Definition DataClasses.h:593
double rswrac
upward shortwave above canopy
Definition DataClasses.h:564
double rlnet
net longwave radiation
Definition DataClasses.h:573
double snowfac
snowfall above canopy
Definition DataClasses.h:586
double CondFluxTrunks
biomass heat storage flux towards Trunks (if 2L)
Definition DataClasses.h:592
friend std::istream & operator>>(std::istream &is, CanopyData &data)
Definition DataClasses.cc:963
double height
Definition DataClasses.h:551
double CondFluxCanop
biomass heat storage flux towards Canopy (if 1L) towards Leaves (if 2L). (>0 towards canopy)
Definition DataClasses.h:591
double can_alb_snow
Definition DataClasses.h:489
bool canopy_stabilitycorrection
Definition DataClasses.h:504
double krnt_lai
Definition DataClasses.h:490
double zdispl
Definition DataClasses.h:550
double totalalb
total albedo above canopy and snow/soil surface [-]
Definition DataClasses.h:560
double iswrbc
downward shortwave radiation below canopy
Definition DataClasses.h:567
double transp
Definition DataClasses.h:579
double can_rs_mult
1+CAN_RS_MULT = maximum factor to increase Cdata->rs below canopy
Definition DataClasses.h:523
double rswrbc
upward shortwave below canopy
Definition DataClasses.h:566
const std::string toString() const
Definition DataClasses.cc:1053
double rs
from subsurface to canpopy air
Definition DataClasses.h:556
double rlwrbc
upward longwave radiation BELOW canopy
Definition DataClasses.h:571
void multiplyFluxes(const double &factor)
If multiple fluxes have been summed over multiple time steps, the fluxes then need to be averaged by ...
Definition DataClasses.cc:844
double trunkalb
Definition DataClasses.h:500
double rsmin
TRANSPIRATION.
Definition DataClasses.h:526
double ra
from canopy air to reference height
Definition DataClasses.h:554
double SWnet_Trunks
net SW to trunks (>0 towards trunks)
Definition DataClasses.h:594
double rstransp
stomatal surface resistance for transpiration
Definition DataClasses.h:557
void reset(const bool &cumsum_mass)
Definition DataClasses.cc:804
double biomass_heat_capacity
Definition DataClasses.h:495
double HMTrunks
Trunks heat mass (J K-1 /m2 ground surface)
Definition DataClasses.h:599
double interception_timecoef
Definition DataClasses.h:484
double z0m
Definition DataClasses.h:548
double rsnet
net shortwave radiation
Definition DataClasses.h:572
double interception
Definition DataClasses.h:582
double lai
Definition DataClasses.h:547
double can_alb_dry
RADIATION BALANCE.
Definition DataClasses.h:487
double can_ch0
minimum heat exchange (Wm-2K-1) at zero wind
Definition DataClasses.h:521
double ilwrbc
downward longwave radiation BELOW canopy
Definition DataClasses.h:570
double BasalArea
basal area of trees on the stand
Definition DataClasses.h:597
double direct_throughfall
Definition DataClasses.h:552
double lai_frac_top_default
Definition DataClasses.h:497
double biomass_density
Definition DataClasses.h:496
double latent
Definition DataClasses.h:576
void initializeSurfaceExchangeData()
Function called to initialize the canopy "Surface" exchange data (to enable accumulated mass and ener...
Definition DataClasses.cc:1150
double HMLeaves
Leaves heat mass (J K-1 /m2 ground surface)
Definition DataClasses.h:598
double can_alb_wet
Definition DataClasses.h:488
void initialize(const SN_SNOWSOIL_DATA &SSdata, const bool useCanopyModel, const bool isAlpine3D)
Initialize all the CData elements value with values by default or with values read from the SNO file....
Definition DataClasses.cc:591
double int_cap_rain
Specific interception capacity for rain (I_LAI) (mm/LAI)
Definition DataClasses.h:479
double intevap
Definition DataClasses.h:580
double iswrac
downward shortwave radiation above canopy
Definition DataClasses.h:565
double roughmom_to_canopyheight_ratio
Ratio between canopy height and roughness length.
Definition DataClasses.h:506
double rainfac
rainfall above canopy
Definition DataClasses.h:587
double int_cap_snow
Definition DataClasses.h:477
double temp
temperature (K)
Definition DataClasses.h:543
double displ_to_canopyheight_ratio
As above for displacement height.
Definition DataClasses.h:508
double storage
intercepted water (mm or kg m-2)
Definition DataClasses.h:542
double h_wilt
Wilting point pressure head, when using Richards equation for soil.
Definition DataClasses.h:538
double rootdepth
Root depth, determining the soil layers influenced by root water uptake.
Definition DataClasses.h:534
double sigf
radiation transmissivity (1)
Definition DataClasses.h:544
double rlwrac
upward longwave radiation ABOVE canopy
Definition DataClasses.h:569
double liquidfraction
Definition DataClasses.h:588
double snowunload
Definition DataClasses.h:584
double roughheat_to_roughmom_ratio
(~=1, but Not allowed to be exactly 1)
Definition DataClasses.h:519
double sensible
Definition DataClasses.h:575
friend std::ostream & operator<<(std::ostream &os, const CanopyData &data)
Definition DataClasses.cc:873
double trunk_frac_height
Definition DataClasses.h:498
double ilwrac
downward longwave radiation ABOVE canopy
Definition DataClasses.h:568
double Ttrunk
trunk temperature (K)
Definition DataClasses.h:590
double forestfloor_alb
albedo of the forest floor
Definition DataClasses.h:596
double QStrunks
sensible heat flux from trunks (>0 if heat lost from trunk)
Definition DataClasses.h:595
double z0h
Definition DataClasses.h:549
double canopytemp_maxchange_perhour
Maximum allowed canopy temperature change (K hr-1)
Definition DataClasses.h:517
double ec
longwave emissivity (1)
Definition DataClasses.h:545
double raincrease_snow
Definition DataClasses.h:514
double can_diameter
Definition DataClasses.h:492
double canopyalb
canopy albedo [-]
Definition DataClasses.h:559
double throughfall
Definition DataClasses.h:583
double et
Definition DataClasses.h:501
Definition DataClasses.h:939
double precip
Definition DataClasses.h:946
double rain
Definition DataClasses.h:947
double dhs_corr
Definition DataClasses.h:948
Cumsum(const unsigned int nSlopes)
Definition DataClasses.h:942
double snow
Definition DataClasses.h:947
double mass_corr
Definition DataClasses.h:948
double drift
Definition DataClasses.h:947
double runoff
Definition DataClasses.h:947
std::vector< double > erosion
Definition DataClasses.h:949
CurrentMeteo is the class of interpolated meteo data for the current calculation time step.
Definition DataClasses.h:86
std::vector< double > conc
Solute concentrations in precipitation.
Definition DataClasses.h:141
mio::Date date
Date of current meteo data.
Definition DataClasses.h:105
double adv_heat
Advective heat to inject in the soil (if ADVECTIVE_HEAT and related parameters set to true)
Definition DataClasses.h:137
void getFixedPositions(std::vector< double > &positions) const
Definition DataClasses.cc:3463
void reset(const SnowpackConfig &i_cfg)
Definition DataClasses.cc:3385
double vw
Wind velocity at snow station (m s-1)
Definition DataClasses.h:109
size_t getNumberMeasTemperatures() const
Returns the number of measured snow/soil temperatures stored in MeteoData.
Definition DataClasses.cc:3444
CurrentMeteo()
Definition DataClasses.cc:3359
double rime_hn
riming index of new snow
Definition DataClasses.h:143
const std::string toString() const
Definition DataClasses.cc:3646
double lwc_hn
liquid water content of new snow
Definition DataClasses.h:144
bool poor_ea
when ilwr has not been measured nor parametrized in good conditions, it could be redone later on
Definition DataClasses.h:146
double z0
The roughness length computed in SnowDrift and also used later for the MeteoHeat fluxes (m)
Definition DataClasses.h:116
double psum_ph
precipitation phase for the current timestep (between 0 and 1, 0 is fully solid while 1 is fully liqu...
Definition DataClasses.h:131
double hs_rate
The rate of change in snow depth (m h-1)
Definition DataClasses.h:135
double vw_max
Maximum wind velocity at snow station (m s-1)
Definition DataClasses.h:111
double iswr
Incoming SHORTWAVE radiation (W m-2)
Definition DataClasses.h:118
size_t getNumberFixedPositions() const
Definition DataClasses.cc:3468
void setMeasTempParameters(const mio::MeteoData &md)
Definition DataClasses.cc:3406
double rho_hn
Measured new snow density (kg m-3)
Definition DataClasses.h:142
friend std::ostream & operator<<(std::ostream &os, const CurrentMeteo &data)
Definition DataClasses.cc:3514
double ta
Air temperature (K)
Definition DataClasses.h:106
double vw_avg
Running mean of wind velocity at snow station (m s-1)
Definition DataClasses.h:110
double lw_net
Net longwave radiation (W m-2)
Definition DataClasses.h:125
double dw
Wind direction at snow station (deg)
Definition DataClasses.h:112
double tss_a24h
Snow surface temperature averaged over past 24 hours (K)
Definition DataClasses.h:128
friend std::istream & operator>>(std::istream &is, CurrentMeteo &data)
Definition DataClasses.cc:3578
double dw_drift
Wind direction of blowing and drifting snow (operational: wind ridge station)
Definition DataClasses.h:114
double vw_drift
Wind velocity for blowing and drifting snow (operational: wind ridge station)
Definition DataClasses.h:113
double psum
precipitation sum over the current timestep (mm)
Definition DataClasses.h:130
double rswr
Reflected SHORTWAVE radiation (W m-2) divide this value by the ALBEDO to get iswr.
Definition DataClasses.h:119
double diff
Diffuse radiation from the sky (W m-2)
Definition DataClasses.h:121
double ustar
The friction velocity (m s-1) computed in mt_MicroMet() and also used later for the MeteoHeat fluxes.
Definition DataClasses.h:115
std::vector< double > zv_ts
Positions of all measured snow or/and soil temperatures (m)
Definition DataClasses.h:140
void copySnowTemperatures(const mio::MeteoData &md, const unsigned int &current_slope)
Definition DataClasses.cc:3483
double psi_s
Stability correction for scalar heat fluxes.
Definition DataClasses.h:117
double psum_tech
Equivalent precipitation water sum for technical snow over the current timestep (mm)
Definition DataClasses.h:132
double hs_a3h
Snow depth averaged over 3 past hours.
Definition DataClasses.h:134
double rh_avg
Running mean of relative humidity (1)
Definition DataClasses.h:108
double tss_a12h
Snow surface temperature averaged over past 12 hours (K)
Definition DataClasses.h:127
size_t getMaxNumberMeasTemperatures() const
Definition DataClasses.cc:3478
double tss
Snow surface temperature (K)
Definition DataClasses.h:126
double ea
Atmospheric emissivity (1)
Definition DataClasses.h:124
double hs
The measured height of snow (m)
Definition DataClasses.h:133
void copySolutes(const mio::MeteoData &md, const size_t &i_number_of_solutes)
Definition DataClasses.cc:3500
double ts0
Bottom temperatures of snow/soil pack (K)
Definition DataClasses.h:129
std::vector< double > ts
Measured snow or/and soil temperatures (K)
Definition DataClasses.h:139
double rh
Relative humidity (% or 1)
Definition DataClasses.h:107
double geo_heat
Geo heat flux (W/m^2), for the neumann lower boundary condition in the heat equation.
Definition DataClasses.h:136
size_t getNumberFixedRates() const
Definition DataClasses.cc:3473
double elev
Solar elevation to be used in Canopy.c (rad) => see also.
Definition DataClasses.h:123
double mAlbedo
Measured snow albedo.
Definition DataClasses.h:120
double dir_h
Horizontal direct radiation from the sky (W m-2)
Definition DataClasses.h:122
The physical properties of an individual element used in snow layers (one or multiple elements are co...
Definition DataClasses.h:288
double L
Original and present element thickness (m)
Definition DataClasses.h:329
std::vector< double > c
For example, specific heat of TEMPERATURE field (J kg-1 K-1)
Definition DataClasses.h:339
double salinity
bulk salinity (PSU, which is g/kg)
Definition DataClasses.h:355
double Qph_down
Heat source/sink due to phase changes for the heat equation (W/m^3), at the lower node of the element...
Definition DataClasses.h:379
double QIntmf
Apparent change in internal energy due to phase change (caused by difference in heat capacity of wate...
Definition DataClasses.h:359
double neck2VolumetricStrain() const
Relates the neck strain to the global volumetric strain.
Definition DataClasses.cc:1700
vanGenuchten VG
Van Genuchten Model for water retention.
Definition DataClasses.h:371
double soilFieldCapacity() const
Field Capacity Soil is dependent on grain properties. This nice formulation is based on some tedious ...
Definition DataClasses.cc:1588
double Te
mean element temperature (K)
Definition DataClasses.h:330
double Qmf
Subsurface Melting & Freezing Data: change of energy due to phase changes (melt-freeze)
Definition DataClasses.h:358
double CDot
Stress rate (Pa s-1), that is the overload change rate.
Definition DataClasses.h:365
double Eps_e
Definition DataClasses.h:360
unsigned short int getSnowType() const
Determine the type of snow First revisited by Fierz and Bellaire 2006 and 2007 TODO needs to be adap...
Definition DataClasses.cc:1718
double S_dr
Stability Index based on deformation rate (Direct Action Avalanching)
Definition DataClasses.h:369
double soilRelativeHumidity() const
Relative humidity in soil.
Definition DataClasses.cc:1625
double coldContent() const
Computes cold content of an element, taking meltfreeze_tk as reference.
Definition DataClasses.cc:1490
ElementData & operator=(const ElementData &)=default
Assignement operator.
double PrefFlowArea
Preferential flow path relative area (-)
Definition DataClasses.h:373
double Eps_v
Total element strain (GREEN'S strains – TOTAL LAGRANGIAN FORMULATION): Eps_e is elastic and Eps_v is ...
Definition DataClasses.h:360
double res_wat_cont
Residual water content.
Definition DataClasses.h:357
double extinction() const
Density dependent extinction coefficient -> Michi's magic trick... out of his magic hat.
Definition DataClasses.cc:1529
unsigned short int type
grain class
Definition DataClasses.h:353
Young_Modulus
This enum provides names for possible Young's modulus calculations.
Definition DataClasses.h:291
@ Pow
another power law
Definition DataClasses.h:293
@ Exp
exponential law
Definition DataClasses.h:294
@ Sigrist
Sigrist, 2006.
Definition DataClasses.h:292
double sw_abs
total absorbed shortwave radiation by the element (W m-2)
Definition DataClasses.h:344
double theta_i_reservoir_cumul
Volumetric ice content in cumulated ice reservoir (1)
Definition DataClasses.h:376
double M
the total mass of the element (kg m-2)
Definition DataClasses.h:343
double vapTrans_fluxDiff
vapor dissusion flux in the case of vapor transport (W/m^2/s)
Definition DataClasses.h:389
double vapTrans_underSaturationDegree
the degree of undersaturation, (rhov-rohv_sat)/rhov_sat (-)
Definition DataClasses.h:392
double E
Young's modulus of elasticity (Pa)
Definition DataClasses.h:362
double vapTrans_snowDenChangeRate
snow density change rate in the case of vapor transport (kg/m^3/s)
Definition DataClasses.h:390
double metamo
keep track of metamorphism
Definition DataClasses.h:354
double lwc_source
Source/sink term for Richards equation (m^3/m^3 / timestep)
Definition DataClasses.h:372
double rb
grain bond radius (mm)
Definition DataClasses.h:350
friend std::ostream & operator<<(std::ostream &os, const ElementData &data)
Definition DataClasses.cc:1215
size_t mk
grain marker (history dependent)
Definition DataClasses.h:352
unsigned short int ID
Element ID used to track elements.
Definition DataClasses.h:384
double h
capillary pressure head (m)
Definition DataClasses.h:334
std::vector< double > k
For example, heat conductivity of TEMPERATURE field (W m-1 K-1)
Definition DataClasses.h:336
void snowType()
Definition DataClasses.cc:1706
double rg
grain radius (mm)
Definition DataClasses.h:346
double rhov
vapor density...(kg/m^3)
Definition DataClasses.h:387
mio::Array2D< double > conc
Concentration for chemical constituents in (kg m-3)
Definition DataClasses.h:335
double dsm
Dry snow metamorphism factor.
Definition DataClasses.h:381
void heatCapacity()
Computes heat capacity of an element based on volumetric contents.
Definition DataClasses.cc:1473
double hard
Parameterized hand hardness (1)
Definition DataClasses.h:368
double gradT
temperature gradient over element (K m-1)
Definition DataClasses.h:331
double meltfreeze_tk
melt/freeze temperature of layer (principally initialized as 0 degC, but enables possibility for free...
Definition DataClasses.h:332
static double getYoungModule(const double &rho_slab, const Young_Modulus &model)
Definition DataClasses.cc:1384
double theta_w_transfer
Volumetric content of water transferred from preferential flow to matrix domain (1)
Definition DataClasses.h:374
double theta_i_reservoir
Volumetric ice content in ice reservoir (1)
Definition DataClasses.h:375
std::vector< double > theta
volumetric contents: SOIL, ICE, WATER, WATER_PREF, AIR (1)
Definition DataClasses.h:333
mio::Date depositionDate
Date of deposition.
Definition DataClasses.h:328
friend std::istream & operator>>(std::istream &is, ElementData &data)
Definition DataClasses.cc:1297
double s_strength
Parameterized snow shear strength (kPa)
Definition DataClasses.h:367
double Qph_up
Heat source/sink due to phase changes for the heat equation (W/m^3), at the upper node of the element...
Definition DataClasses.h:378
double S
Total Element Stress (Pa), S being the energy conjugate stress.
Definition DataClasses.h:363
double ps2rb
proportion of grain bond growth due to pressure sintering (1)
Definition DataClasses.h:366
double C
Total Element Stress (Pa), C being the real or the Cauchy stress, which is output.
Definition DataClasses.h:364
double Eps_vDot
Total Strain Rate, elastic and viscous, respectively (s-1) (Simply, Eps/sn_dt)
Definition DataClasses.h:361
double Eps_Dot
Definition DataClasses.h:361
double N3
grain Coordination number (1)
Definition DataClasses.h:351
double vapTrans_cumulativeDenChange
cumulative density change in the case of vapor transport (kg/m^3)
Definition DataClasses.h:391
double Eps
Definition DataClasses.h:360
double neckStressEnhancement() const
Computes the enhancement of hydrostatically applied stress (overburden) in the necks (or bonds)
Definition DataClasses.cc:1660
double dth_w
Subsurface Melting & Freezing Data: change of water content.
Definition DataClasses.h:356
double Rho
mean element density (or BULK density; kg m-3), that is, rho=M/V=sum( theta(i)*rho(i) )
Definition DataClasses.h:342
double SlopeParFlux
Slope parallel flux (m^3/m^3 * m / timestep)
Definition DataClasses.h:377
double neckLength() const
Computes the neck (or bond) length (mm)
Definition DataClasses.cc:1689
void updDensity()
Updates element density.
Definition DataClasses.cc:1499
double rime
Rime index.
Definition DataClasses.h:382
double L0
Definition DataClasses.h:329
double ogs
optical equivalent grain size (mm)
Definition DataClasses.h:349
bool checkVolContent()
Check volumetric content.
Definition DataClasses.cc:1412
void opticalEquivalentGrainSize()
Opical equivalent grain size CROCUS implementation as described in Vionnet et al.,...
Definition DataClasses.cc:1515
static const unsigned short int noID
Definition DataClasses.h:385
void snowResidualWaterContent()
Definition DataClasses.cc:1537
std::vector< double > soil
Contains the heat conductivity, capacity and dry density of the soil (solid, non-ice) component phase...
Definition DataClasses.h:341
double dd
snow dendricity: 0 = none, 1 = newsnow
Definition DataClasses.h:347
double snowElasticity() const
SNOW ELASTICITY : This important routine was programmed by Marc Christen, who took it directly from M...
Definition DataClasses.cc:1645
double crit_cut_length
Critical cut length (m)
Definition DataClasses.h:370
const std::string toString() const
Definition DataClasses.cc:1872
double sp
sphericity: 1 = round, 0 = angular
Definition DataClasses.h:348
double concaveNeckRadius() const
A non-generic function to compute the concave neck radius (mm). It is assumed that the neck is bound...
Definition DataClasses.cc:1674
double Qmm
Heat source/sink due to phase changes in the case of vapor transport (W/m^3)
Definition DataClasses.h:388
double dEps
Definition DataClasses.h:360
Parameters of the different layers of the snowpack.
Definition DataClasses.h:189
double sp
Micro-structure : Sphericity.
Definition DataClasses.h:216
double rg
Micro-structure : Grainsize in mm.
Definition DataClasses.h:215
double phiIceReservoir
Volumetric ice reservoir content in %.
Definition DataClasses.h:203
double salinity
bulk salinity (g/kg)
Definition DataClasses.h:223
double phiVoids
Volumetric void content in %.
Definition DataClasses.h:207
double phiSoil
Volumetric soil content in %.
Definition DataClasses.h:201
double phiIce
Volumetric ice content in %.
Definition DataClasses.h:202
double dsm
dry snow metamorphism factor
Definition DataClasses.h:225
double h
capillary pressure head (m)
Definition DataClasses.h:224
std::vector< double > cVoids
Solute concentrations in Air.
Definition DataClasses.h:211
double CDot
Stress rate (Pa s-1), that is the LAST overload change rate.
Definition DataClasses.h:221
mio::Date depositionDate
Date of deposition (mainly used for snow layers)
Definition DataClasses.h:197
std::vector< double > cWater
Solute concentrations in Water.
Definition DataClasses.h:210
double phiIceReservoirCumul
Volumetric cumulated ice reservoir content in %.
Definition DataClasses.h:204
std::vector< double > cIce
Solute concentrations in Ice.
Definition DataClasses.h:209
std::vector< double > cSoil
Solute concentrations in Soil.
Definition DataClasses.h:208
double phiWaterPref
Volumetric preferential water content in %.
Definition DataClasses.h:206
double metamo
keep track of metamorphism
Definition DataClasses.h:222
const std::string toString() const
Definition DataClasses.cc:3915
friend std::istream & operator>>(std::istream &is, LayerData &data)
Definition DataClasses.cc:3863
double rb
Micro-structure : Bond Radius in mm.
Definition DataClasses.h:218
double tl
Temperature at the top of the layer in K.
Definition DataClasses.h:200
double hl
The thickness of the layer in m.
Definition DataClasses.h:198
double hr
Surface hoar Mass in kg m-2.
Definition DataClasses.h:220
double SoilC
Heat Capacity of soil.
Definition DataClasses.h:214
double SoilK
Conductivity of soil.
Definition DataClasses.h:213
friend std::ostream & operator<<(std::ostream &os, const LayerData &data)
Definition DataClasses.cc:3815
double SoilRho
Density of soil in kg m-3.
Definition DataClasses.h:212
LayerData()
Definition DataClasses.cc:3807
double phiWater
Volumetric water content in %.
Definition DataClasses.h:205
double dd
Micro-structure : Dendricity.
Definition DataClasses.h:217
unsigned short int mk
Micro-structure : Marker.
Definition DataClasses.h:219
size_t ne
Number of finite elements in the the layer (hl/ne defines elm. size)
Definition DataClasses.h:199
Definition DataClasses.h:907
double backup_days_between
Interval (days) between Xdata backups.
Definition DataClasses.h:920
double tsdaysbetween
Interval (days) between time series dumps.
Definition DataClasses.h:916
bool sdbDump
Dump to data base if required in operational mode.
Definition DataClasses.h:931
bool HzDump
Calculation of hazard information will be performed.
Definition DataClasses.h:928
void reset()
Reset all fields not read from the config file to zero or false.
Definition DataClasses.cc:4054
bool resFirstDump
Flag to dump initial state of snowpack.
Definition DataClasses.h:932
double profdaysbetween
Interval (days) between profile dumps.
Definition DataClasses.h:918
double calculation_step_length
Length of each calculation step (minutes)
Definition DataClasses.h:921
bool PrDump
Flag for profile dump.
Definition DataClasses.h:929
double sn_dt
calculation step length in seconds
Definition DataClasses.h:922
bool XdataDump
Backup of Xdata will be performed.
Definition DataClasses.h:930
size_t nStep
Time step number.
Definition DataClasses.h:924
bool TsDump
Flag for time series dump.
Definition DataClasses.h:927
double tsstart
Start time for time series dump (Julian)
Definition DataClasses.h:915
size_t nAvg
Number of calculation time steps to average fluxes etc.
Definition DataClasses.h:925
double first_backup
Start time for first Xdata backup (Julian)
Definition DataClasses.h:919
void getOutputControl(const mio::Date &step, const mio::Date &sno_step)
Determine which outputs need to be done for the current time step.
Definition DataClasses.cc:4027
double profstart
Start time for profile dump (Julian)
Definition DataClasses.h:917
size_t HzStep
Hazard step number (should be half of nStep in operational mode)
Definition DataClasses.h:926
NODAL DATA used as a pointer in the SnowStation structure.
Definition DataClasses.h:396
double udot
downward creep velocity in m s-1
Definition DataClasses.h:408
double rhov
nodal vapor density in kg/m^3
Definition DataClasses.h:424
double Sigdsm
Definition DataClasses.h:419
double S_n
Stability Index for natural avalanches.
Definition DataClasses.h:410
double dsm
Dry snow metamorphism factor.
Definition DataClasses.h:417
double S_s
Stability Index for skier triggered avalanches.
Definition DataClasses.h:411
double hoar
Mass of surface hoar collected while node was exposed to surface.
Definition DataClasses.h:414
friend std::ostream & operator<<(std::ostream &os, const NodeData &data)
Definition DataClasses.cc:1895
NodeData()
Definition DataClasses.h:398
double f
reaction or unbalanced forces (CREEP)
Definition DataClasses.h:407
double rta
Relative Threshold Sum apprach.
Definition DataClasses.h:413
double u
creep displacements in m
Definition DataClasses.h:406
double ssi
Structural Stability Index.
Definition DataClasses.h:412
double T
nodal temperature in K
Definition DataClasses.h:409
const std::string toString() const
Definition DataClasses.cc:1937
friend std::istream & operator>>(std::istream &is, NodeData &data)
Definition DataClasses.cc:1916
double water_flux
Water flowing through the node (kg/m2). Positive values denote downward fluxes.
Definition DataClasses.h:422
double S_dsm
Definition DataClasses.h:418
double rime
Definition DataClasses.h:420
double z
nodal height from ground in m
Definition DataClasses.h:405
class to collect the information about the current simulation (version, date)
Definition DataClasses.h:859
const mio::Date computation_date
Date of computation.
Definition DataClasses.h:867
const double version_num
SNOWPACK version formatted as a number.
Definition DataClasses.h:866
const std::string version
SNOWPACK version.
Definition DataClasses.h:865
const std::string hostname
hostname of the computer running the simulation
Definition DataClasses.h:870
RunInfo()
Definition DataClasses.cc:60
const std::string compilation_date
Date of compilation.
Definition DataClasses.h:868
const std::string user
logname of the user running the simulation
Definition DataClasses.h:869
RunInfo & operator=(const RunInfo &)
Definition DataClasses.h:863
const std::string history
History string, like in ACDD, combining several of the information below.
Definition DataClasses.h:871
SN_SNOWSOIL_DATA includes all important station parameters as well as LayerData.
Definition DataClasses.h:233
const std::string toString() const
Definition DataClasses.cc:3744
double TimeCountDeltaHS
Definition DataClasses.h:266
double Canopy_alb_dry
Definition DataClasses.h:272
mio::Date profileDate
Date of profile.
Definition DataClasses.h:252
double Height
Total height of soil-snow column in m (sum of the layer heights)
Definition DataClasses.h:254
size_t nN
Total number of FE nodes after loading.
Definition DataClasses.h:253
int ErosionLevel
Erosion Level in operational mode (flat field virtual erosion)
Definition DataClasses.h:265
double Canopy_Direct_Throughfall
Direct throughfall [fraction of precipitation].
Definition DataClasses.h:264
mio::StationData meta
Station meta data.
Definition DataClasses.h:251
friend std::ostream & operator<<(std::ostream &os, const SN_SNOWSOIL_DATA &data)
Definition DataClasses.cc:3678
double Canopy_alb_wet
Definition DataClasses.h:273
double Canopy_BasalArea
OPTIONAL PARAMETERS, a warning will be thrown in CANOPY::Initialize if no value is provided.
Definition DataClasses.h:268
double Emissivity_soil
OPTIONAL PARAMETERS, if not provided Constants::emissivity_soil will be used.
Definition DataClasses.h:276
size_t nLayers
Total number of soil and snow layers at loading.
Definition DataClasses.h:255
double Canopy_LAI
Canopy Leaf Area Index in m2 m-2.
Definition DataClasses.h:263
double Canopy_diameter
Average canopy (tree) diameter [m], parameter in the new radiation transfer model.
Definition DataClasses.h:269
double SoilAlb
Soil albedo, default 0.2.
Definition DataClasses.h:260
double Canopy_Height
Canopy Height in m.
Definition DataClasses.h:262
SN_SNOWSOIL_DATA()
Definition DataClasses.h:235
std::vector< LayerData > Ldata
contains all the information required to construct the Xdata
Definition DataClasses.h:256
double Canopy_int_cap_snow
Specific interception capacity for rain (I_LAI) (mm/LAI)
Definition DataClasses.h:271
double BareSoil_z0
Bare soil roughness in m, default 0.02 m.
Definition DataClasses.h:261
double Canopy_lai_frac_top_default
fraction of total LAI that is attributed to the uppermost layer. Here calibrated for Alptal.
Definition DataClasses.h:270
double Canopy_alb_snow
Definition DataClasses.h:274
friend std::istream & operator>>(std::istream &is, SN_SNOWSOIL_DATA &data)
Definition DataClasses.cc:3710
double Albedo
REQUIRED PARAMETERS, an error will be thrown at reading (SnowpackIO) if no parameter are provided.
Definition DataClasses.h:259
double HS_last
Definition DataClasses.h:257
Definition SeaIce.h:41
Slope a C. Fierz class ;-) to handle the multiple expositions in Snowpack standalone.
Definition DataClasses.h:884
unsigned int luv
Definition DataClasses.h:894
bool south
Definition DataClasses.h:896
bool snow_redistribution
Definition DataClasses.h:898
unsigned int mainStation
main station, flat field or slope
Definition DataClasses.h:891
unsigned int getSectorDir(const double &dir_or_expo) const
Determine either direction of blowing wind or slope exposition. NOTE that station slope....
Definition DataClasses.cc:3958
bool snow_erosion
Definition DataClasses.h:897
bool luvDriftIndex
Definition DataClasses.h:898
void setSlope(const unsigned int slope_sequence, std::vector< SnowStation > &vecXdata, double &wind_dir)
Set slope variables.
Definition DataClasses.cc:3974
unsigned int nSlopes
Definition DataClasses.h:890
bool north
Definition DataClasses.h:896
unsigned int lee
Definition DataClasses.h:895
unsigned int first
first virtual slope station in computing sequence
Definition DataClasses.h:893
bool mainStationDriftIndex
Definition DataClasses.h:897
double prevailing_wind_dir
Definition DataClasses.h:889
unsigned int sector
main station (0) or current slope sector (1:nSlopes)
Definition DataClasses.h:892
Defines structure for snow profile layers.
Definition DataClasses.h:820
double theta_w
0 to 1, volume fraction of water (-)
Definition DataClasses.h:840
double height
Height of snow or snow depth; 0 to 1000 (cm)
Definition DataClasses.h:834
double theta_a
0 to 1, volume fraction of air (-)
Definition DataClasses.h:841
void average(const double &w1, const double &w2, const SnowProfileLayer &Pdata)
Determines the averaged quantities of the current layer with another layer.
Definition DataClasses.cc:291
double T
-50 to 50, snow temperature at top of layer (degC)
Definition DataClasses.h:836
double hard
0. to 5. (1)
Definition DataClasses.h:850
mio::Date profileDate
Date of profile.
Definition DataClasses.h:828
mio::Date depositionDate
Date of deposition (mainly used for snow layers)
Definition DataClasses.h:833
unsigned short int marker
0 to 999 (1)
Definition DataClasses.h:848
SnowProfileLayer()
Definition DataClasses.cc:174
static std::vector< SnowProfileLayer > generateProfile(const mio::Date &dateOfProfile, const SnowStation &Xdata, const double hoar_density_surf, const double hoar_min_size_surf)
Generates a snow profile from snow station data (1 element = 1 layer)
Definition DataClasses.cc:246
double v_strain_rate
0 to 1.0e-5, viscous strain rate (s-1)
Definition DataClasses.h:838
std::string stationname
Definition DataClasses.h:829
unsigned char loc_for_wind
Definition DataClasses.h:831
double coordin_num
0 to 10 (1)
Definition DataClasses.h:847
unsigned char loc_for_snow
Definition DataClasses.h:830
double ogs
0 to 100, optical equivalent grain size (mm)
Definition DataClasses.h:846
double rho
0 to 1000 (kg m-3)
Definition DataClasses.h:835
short unsigned int type
0 to 999 (1)
Definition DataClasses.h:849
double sphericity
0 to 1 (1)
Definition DataClasses.h:845
double grain_size
0 to 100 (mm)
Definition DataClasses.h:842
double gradT
-1000 to 1000, temperature gradient across layer (K m-1)
Definition DataClasses.h:837
double dendricity
0 to 1 (1)
Definition DataClasses.h:844
double bond_size
0 to 100 (mm)
Definition DataClasses.h:843
double theta_i
0 to 1, volume fraction of ice (-)
Definition DataClasses.h:839
Station data including all information on snowpack layers (elements and nodes) and on canopy.
Definition DataClasses.h:609
void combineElements(const size_t &number_top_elements, const bool &reduce_n_elements, const size_t &cond, const double &comb_thresh_l)
If more than NUMBER_TOP_ELEMENTS snow elements exist, attempt to reduce their number in the FEM mesh,...
Definition DataClasses.cc:2326
double findMarkedReferenceLayer() const
returns the height of a marked reference layer inside the model domain Searches for the layer that is...
Definition DataClasses.cc:3138
static const double comb_thresh_sp
Sphericity (1)
Definition DataClasses.h:706
size_t SoilNode
The top soil node, 0 in case of SNP_SOIL == 0.
Definition DataClasses.h:667
void deflateInflate(const CurrentMeteo &Mdata, double &dhs_corr, double &mass_corr, const bool &prn_check)
Deflates or inflates the snowpack for warning service purposes.
Definition DataClasses.cc:2964
size_t getNumberOfNodes() const
Definition DataClasses.cc:2278
bool hasSoilLayers() const
Definition DataClasses.cc:2299
double z_S_n
Depth of Minimum S_n.
Definition DataClasses.h:686
void initialize(const SN_SNOWSOIL_DATA &SSdata, const size_t &i_sector)
This routine initializes the snow cover structure which contains all information about a station incl...
Definition DataClasses.cc:2439
size_t getNumberOfElements() const
Definition DataClasses.cc:2273
char S_class1
Stability class based on hand hardness, grain class ...
Definition DataClasses.h:681
static const double thresh_moist_soil
Definition DataClasses.h:707
static void mergeElements(ElementData &Edata0, const ElementData &Edata1, const bool &merge, const bool &topElement, const bool &VapourTransport=false)
Merging two elements.
Definition DataClasses.cc:2808
friend std::istream & operator>>(std::istream &is, SnowStation &data)
Definition DataClasses.cc:3231
double S_n
Minimum natural stability index.
Definition DataClasses.h:685
double S_s
Minimum skier stability index sk38 (Sk38)
Definition DataClasses.h:687
double hn
Depth of new snow to be used on slopes.
Definition DataClasses.h:676
mio::StationData meta
Station meta data.
Definition DataClasses.h:656
size_t find_tag(const size_t &tag) const
Find element with corresponding tag or return IOUtils::npos if not found.
Definition DataClasses.cc:2288
double SoilAlb
Soil albedo.
Definition DataClasses.h:664
double rime_hn
rime of new snow to be used on slopes
Definition DataClasses.h:678
double ErosionMass
Eroded mass either real or virtually (storage if less than one element)
Definition DataClasses.h:680
static const size_t number_top_elements
Number of top elements left untouched by the join functions.
Definition DataClasses.h:708
SeaIce * Seaice
Pointer to sea ice class.
Definition DataClasses.h:661
double S_d
Minimum deformation rate stability index.
Definition DataClasses.h:683
double swc_sum_soil
Total solid water in soil.
Definition DataClasses.h:675
double dIntEnergy
Internal energy change of snowpack (J m-2)
Definition DataClasses.h:698
void * Kt
Pointer to pseudo-conductivity and stiffnes matrix.
Definition DataClasses.h:695
double cos_sl
Cosinus of slope angle, initialized once!
Definition DataClasses.h:657
void resize(const size_t &number_of_elements)
Reallocate element and node data Edata and Ndata as well as nElems and nNodes are reallocated or res...
Definition DataClasses.cc:2253
double z_S_4
Depth of Minimum S_4.
Definition DataClasses.h:690
double rho_hn
Density of new snow to be used on slopes.
Definition DataClasses.h:677
~SnowStation()
Definition DataClasses.cc:2050
double z_S_s
Depth of Minimum S_s.
Definition DataClasses.h:688
double meltFreezeEnergy
Melt freeze part of internal energy change of snowpack (J m-2)
Definition DataClasses.h:700
double getTotalLateralFlowSoil() const
Computes the total lateral flow in soil (kg / m2)
Definition DataClasses.cc:2225
double lwc_sum_soil
Total liquid water in soil.
Definition DataClasses.h:674
double ColdContent
Cold content of snowpack (J m-2)
Definition DataClasses.h:696
double S_4
placeholder - currently Minimum structural stability index (SSI)
Definition DataClasses.h:689
bool windward
True for windward (luv) slope.
Definition DataClasses.h:703
double S_5
placeholder
Definition DataClasses.h:691
void splitElement(const size_t &e)
Split the element provided as first argument.
Definition DataClasses.cc:2722
double ColdContentSoil
Cold content of soil (J m-2)
Definition DataClasses.h:697
double getModelledTemperature(const double &z) const
Returns modelled internal snow or/and soil temperature (instantaneous value; degC),...
Definition DataClasses.cc:2192
double mass_sum
Total mass summing mass of snow elements.
Definition DataClasses.h:671
double swe
Total mass summing snow water equivalent of elements.
Definition DataClasses.h:672
static const double comb_thresh_rg
Grain radius (mm)
Definition DataClasses.h:706
void compSnowpackMasses()
Computes the actual total masses of the snowpack (kg m-2)
Definition DataClasses.cc:2073
void reduceNumberOfElements(const size_t &rnE)
Remove the upper "marked" element of two (snow only) .
Definition DataClasses.cc:2372
double z_S_d
Depth of Minimum S_d.
Definition DataClasses.h:684
std::vector< NodeData > Ndata
pointer to nodal data array (e.g. T, z, u, etc..)
Definition DataClasses.h:693
double ReSolver_dt
Last used RE time step in the previous SNOWPACK time step.
Definition DataClasses.h:702
static unsigned short number_of_solutes
The model treats that number of solutes.
Definition DataClasses.h:709
double BareSoil_z0
Bare soil roughness in m.
Definition DataClasses.h:666
static const double comb_thresh_dd
Dendricity (1)
Definition DataClasses.h:706
void reset_water_fluxes()
Definition DataClasses.cc:2304
double mH
The MEASURED height, including soil depth if SNP_SOIL == 1.
Definition DataClasses.h:670
SnowStation & operator=(const SnowStation &)
Assignement operator.
Definition DataClasses.cc:1985
std::vector< ElementData > Edata
pointer to element data array (e.g. Te, L, Rho, etc..)
Definition DataClasses.h:694
double Albedo
Snow albedo used by the model.
Definition DataClasses.h:663
double dIntEnergySoil
Internal energy change of soil (J m-2)
Definition DataClasses.h:699
double z_S_5
Depth of Minimum S_5.
Definition DataClasses.h:692
friend std::ostream & operator<<(std::ostream &os, const SnowStation &data)
Definition DataClasses.cc:3151
double getTotalLateralFlowSnow() const
Computes the total lateral flow in snow (kg / m2)
Definition DataClasses.cc:2210
double averageFromTop(const double &averagingDepth, const std::function< double(const ElementData &)> &Elementproperty)
Extracts a weighted average of a snow bulk property from the top down to a given depth.
Definition DataClasses.cc:2154
static const double comb_thresh_water
Water content (1)
Definition DataClasses.h:705
size_t sector
current slope sector of width 360./max(1, nSlopes-1)
Definition DataClasses.h:658
double Ground
The ground height – meaning the height of the top soil node.
Definition DataClasses.h:668
const std::string toString() const
Definition DataClasses.cc:3316
void resetSlopeParFlux()
Reset lateral flow.
Definition DataClasses.cc:2240
static const double comb_thresh_ice
Volumetric ice content (1), i.e., about 46 kg m-3.
Definition DataClasses.h:705
bool needDeflateInflate(const double &sn_dt)
Check if deflateInfate should be called.
Definition DataClasses.cc:2912
char S_class2
Stability class based on hand hardness, grain class ...
Definition DataClasses.h:682
double getLiquidWaterIndex() const
Computes the liquid water index defined as the ratio of total liquid water content (in mm w....
Definition DataClasses.cc:2180
double forcedErosion(const double hs)
Forced erosion of a missed event.
Definition DataClasses.cc:3072
void compSoilInternalEnergyChange(const double &sn_dt)
Computes the internal energy change of the soil during one computation time step (J m-2)
Definition DataClasses.cc:2114
bool isGlacier(const bool &hydro=false) const
returns if a snow profile can be considered as a glacier. Practically, the hydrological criteria is t...
Definition DataClasses.cc:3097
double SoilEmissivity
Soil emissivity.
Definition DataClasses.h:665
double TimeCountDeltaHS
Time counter tracking erroneous settlement in operational mode.
Definition DataClasses.h:704
double lwc_sum
Total liquid water in snowpack.
Definition DataClasses.h:673
static const double comb_thresh_l_ratio
The default ratio between height_new_elem and comb_thresh_l, in case comb_thresh_l is not explicitly ...
Definition DataClasses.h:705
double cH
The CALCULATED height, including soil depth if SNP_SOIL == 1.
Definition DataClasses.h:669
double meltFreezeEnergySoil
Melt freeze part of internal energy change of soil (J m-2)
Definition DataClasses.h:701
double pAlbedo
Parameterized snow albedo.
Definition DataClasses.h:662
void splitElements(const double &max_element_length, const double &comb_thresh_l)
Split elements when they are near the top of the snowpack, when REDUCE_N_ELEMENTS is used.
Definition DataClasses.cc:2770
size_t ErosionLevel
Element where snow erosion stopped previously for the drift index.
Definition DataClasses.h:679
static bool combineCondition(const ElementData &Edata0, const ElementData &Edata1, const double &depth, const bool &reduce_n_elements, const double &comb_thresh_l)
Boolean routine to check whether two snow elements can be combined.
Definition DataClasses.cc:2671
void compSnowpackInternalEnergyChange(const double &sn_dt)
Computes the internal energy change of the snowpack during one computation time step (J m-2)
Definition DataClasses.cc:2092
CanopyData Cdata
Pointer to canopy data.
Definition DataClasses.h:660
static const double thresh_moist_snow
Snow elements with a LWC above this threshold are considered at least to be moist.
Definition DataClasses.h:707
Definition SnowpackConfig.h:28
The surface fluxes data as computed by Snowpack.
Definition DataClasses.h:743
SN_MASS_CHANGES
The different types of mass fluxes: Mass fluxes in kg m-2 Rates in kg m-2 h-1 (MS_HNW,...
Definition DataClasses.h:750
@ MS_WATER
The total amount of water in the snowpack at the present time.
Definition DataClasses.h:753
@ MS_SUBLIMATION
The mass loss or gain of the top element due to snow (ice) sublimating.
Definition DataClasses.h:760
@ MS_TOTALMASS
This of course is the total mass of the snowpack at the present time.
Definition DataClasses.h:751
@ MS_HNW
Solid precipitation rate.
Definition DataClasses.h:756
@ MS_WIND
Mass loss rate due to wind erosion.
Definition DataClasses.h:758
@ MS_FLOODING
The mass gain due to adding ocean water to snow- seaice by flodding process.
Definition DataClasses.h:764
@ MS_ICE_SOIL
The total amount of ice in the soil at the present time.
Definition DataClasses.h:755
@ MS_SWE
This too, of course, but summing rho*L.
Definition DataClasses.h:752
@ MS_SOIL_RUNOFF
Equivalent to MS_SNOWPACK_RUNOFF but at bottom soil node.
Definition DataClasses.h:763
@ MS_SNOWPACK_RUNOFF
The mass loss of snowpack from snow melt due to water transport (virtual lysimeter)
Definition DataClasses.h:761
@ MS_WATER_SOIL
The total amount of water in the soil at the present time.
Definition DataClasses.h:754
@ MS_EVAPORATION
The mass loss or gain of the top element due to water evaporating.
Definition DataClasses.h:759
@ N_MASS_CHANGES
Total number of different mass change types.
Definition DataClasses.h:766
@ MS_RAIN
Rain rate.
Definition DataClasses.h:757
@ MS_SURFACE_MASS_FLUX
The total mass loss of snowpack due to water transport (virtual lysimeter)
Definition DataClasses.h:762
@ MS_ICEBASE_MELTING_FREEZING
The mass gain/loss of the ice base due to melting-freezing.
Definition DataClasses.h:765
std::vector< double > load
Total load (kg m-2) in water runoff from solutes like nitrate.
Definition DataClasses.h:810
friend std::ostream & operator<<(std::ostream &os, const SurfaceFluxes &data)
Definition DataClasses.cc:497
double lw_in
Energy fluxes: Energy change of snowpack in kJ m-2 (dIntEnergy) Fluxes in W m-2.
Definition DataClasses.h:785
double sw_dir
incoming direct shortwave radiation; on slopes: projected
Definition DataClasses.h:798
double sw_hor
incoming global shortwave radiation on horizontal surface
Definition DataClasses.h:794
double sw_diff
incoming diffuse shortwave radiation
Definition DataClasses.h:799
double mAlbedo
measured Albedo (used for OUTPUT only)
Definition DataClasses.h:801
double cRho_hn
Computed new snow density (kg m-3)
Definition DataClasses.h:812
SurfaceFluxes()
Definition DataClasses.cc:335
friend std::istream & operator>>(std::istream &is, SurfaceFluxes &data)
Definition DataClasses.cc:537
void collectSurfaceFluxes(const BoundCond &Bdata, SnowStation &Xdata, const CurrentMeteo &Mdata)
Assign surface data from SnowStation and BoundCond to SurfaceFluxes.
Definition DataClasses.cc:404
double qr
rain energy
Definition DataClasses.h:791
std::vector< double > mass
Total mass of snowpack PLUS different amounts of total mass change, sublimation, runoff,...
Definition DataClasses.h:809
double lw_net
net longwave radiation
Definition DataClasses.h:787
double qg
geothermal heat flux or heat flux at lower boundary
Definition DataClasses.h:792
double sw_in
incoming global shortwave radiation; on slopes: projected
Definition DataClasses.h:795
void reset(const bool &cumsum_mass)
Definition DataClasses.cc:340
double drift
Other surface data:
Definition DataClasses.h:808
double pAlbedo
parameterized Albedo (used for OUTPUT only)
Definition DataClasses.h:800
double lw_out
outgoing longwave radiation
Definition DataClasses.h:786
double meltFreezeEnergySoil
Melt freeze part of internal energy change in J m-2 in soil (used for OUTPUT only)
Definition DataClasses.h:805
double hoar
mass of surface hoar formed or sublimated
Definition DataClasses.h:790
double dIntEnergySoil
Internal energy change in J m-2 in soil (used for OUTPUT only)
Definition DataClasses.h:803
double dIntEnergy
Internal energy change in J m-2 in snowpack (used for OUTPUT only)
Definition DataClasses.h:802
double sw_out
reflected shortwave radiation
Definition DataClasses.h:796
double qw
net shortwave radiation at the surface (absorbed within the snowpack)
Definition DataClasses.h:797
const std::string toString() const
Definition DataClasses.cc:3778
void multiplyFluxes(const double &factor)
If multiple surface fluxes have been summed over multiple time steps, the fluxes then need to be aver...
Definition DataClasses.cc:475
void compSnowSoilHeatFlux(const SnowStation &Xdata)
Compute ground heat flux at soil/snow boundary.
Definition DataClasses.cc:374
double dhs_corr
operational mode only: snow depth correction in case of squeezing or blow-up (m)
Definition DataClasses.h:811
double qg0
ground heat flux at soil-snow interface
Definition DataClasses.h:793
double qs
sensible heat
Definition DataClasses.h:788
double mRho_hn
Measured new snow density (kg m-3)
Definition DataClasses.h:813
double meltFreezeEnergy
Melt freeze part of internal energy change in J m-2 in snowpack (used for OUTPUT only)
Definition DataClasses.h:804
double ql
latent heat
Definition DataClasses.h:789
This module contains water vapour transport routines for the 1d snowpack model.
Definition VapourTransport.h:50
ZwischenData contains "memory" information mainly for operational outputs.
Definition DataClasses.h:67
ZwischenData()
Definition DataClasses.h:69
void reset()
Sets all the values in the vectors to 0.0.
Definition DataClasses.cc:135
std::vector< double > hn24
Twenty-four hour snow heights every half-hour over three days 144.
Definition DataClasses.h:78
std::vector< double > hn3
Three hour new snow heights every half-hour over three days 144.
Definition DataClasses.h:77
std::vector< double > drift24
Twenty-four hour hoar index every half-hour over one day 48.
Definition DataClasses.h:76
friend std::ostream & operator<<(std::ostream &os, const ZwischenData &data)
Definition DataClasses.cc:143
std::vector< double > hoar24
Twenty-four hour hoar index every half-hour over one day 48.
Definition DataClasses.h:75
friend std::istream & operator>>(std::istream &is, ZwischenData &data)
Definition DataClasses.cc:157
This module contains the van Genuchten model for the water retention curve.
Definition vanGenuchten.h:36
Definition Constants.h:43