23#include <meteoio/MeteoIO.h>
24#include <snowpack/libsnowpack.h>
73 TechSnowA3D(
const mio::Config& cfg,
const mio::DEMObject& dem);
75 void setMeteo(
const mio::Grid2DObject& ta,
76 const mio::Grid2DObject& rh,
77 const mio::Grid2DObject& hs,
78 const mio::Date& timestamp);
85 typedef struct CONDITION {
87 : slope_area(0.), number_snowguns(0), priority(mio::IOUtils::unodata), min_height(0.) {}
89 void setUserProperties(
const unsigned int& nr_snowguns,
const unsigned int& i_priority,
const double& i_min_height,
const double& wb_thresh) {
90 number_snowguns = nr_snowguns;
91 priority = i_priority;
92 min_height = i_min_height;
93 wet_bulb_thresh = wb_thresh;
96 const std::string toString() {std::ostringstream os; os <<
"[" << slope_area <<
"m², " << number_snowguns <<
" snowguns, " << priority <<
" priority, " << min_height <<
"m min, min wbt: " << wet_bulb_thresh <<
"°C]";
return os.str();}
99 unsigned int number_snowguns;
100 unsigned int priority;
102 double wet_bulb_thresh;
105 typedef struct SNOWSTRATEGY {
106 SNOWSTRATEGY() : startProd(), endProd(), startAim(0.), endAim(0.), gunOperation(0.) {}
107 const std::string toString() {std::ostringstream os; os <<
"[" << startProd.toString(mio::Date::ISO) <<
"-" << endProd.toString(mio::Date::ISO) <<
" aim: " << startAim <<
" -> " << endAim <<
" @ " << gunOperation <<
"]";
return os.str();}
116 static TechSnowA3D::snowStrategy setSnowStrategy(
const mio::Config& cfg,
const double& TZ,
const unsigned int& nr);
117 void setSlopeConditions(
const std::string& filename);
118 static size_t getSlopeNumber(
const double& dbl_code);
119 double setPriority(
const mio::Date& date,
const TechSnowA3D::snowStrategy &ppt,
const double& snow_height,
const TechSnowA3D::condition& slope,
const int date_hour)
const;
121 mio::Grid2DObject skiRunsMap;
122 mio::Grid2DObject psum_tech;
124 std::map<size_t, condition> slope_conditions;
125 mio::Date start_season, end_season;
126 mio::Date earliest_production;
127 std::vector<snowStrategy> priorities;
129 double max_snowgun_water;
130 const double mean_elevation;
131 int slope_open, slope_closed;
Parameters
this enum provides names for possible Snowpack grids
Definition: MeteoObj.h:33
Definition: SnowpackInterfaceWorker.h:26
Definition: TechSnowA3D.h:71
mio::Grid2DObject getGrid(const SnGrids::Parameters ¶m) const
Definition: TechSnowA3D.cc:254
TechSnowA3D(const mio::Config &cfg, const mio::DEMObject &dem)
Reading the slope file and slope conditions.
Definition: TechSnowA3D.cc:36
void setMeteo(const mio::Grid2DObject &ta, const mio::Grid2DObject &rh, const mio::Grid2DObject &hs, const mio::Date ×tamp)
Get the grooming and amount of technical snow production map.
Definition: TechSnowA3D.cc:217
static std::string getGridsRequirements()
Definition: TechSnowA3D.h:82