Alpine3D 20240511.cd14b8b
AlpineControl.h
Go to the documentation of this file.
1/***********************************************************************************/
2/* Copyright 2009-2015 WSL Institute for Snow and Avalanche Research SLF-DAVOS */
3/***********************************************************************************/
4/* This file is part of Alpine3D.
5 Alpine3D is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 Alpine3D is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with Alpine3D. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef ALPINECONTROL_H
19#define ALPINECONTROL_H
20
21#include <stdio.h>
22
23#include <meteoio/MeteoIO.h>
24#include <snowpack/libsnowpack.h>
25
30#include <alpine3d/MeteoObj.h>
31#include <alpine3d/MPIControl.h>
32
50{
51 public:
53 SnowDriftA3D *mysnowdrift,
54 EnergyBalance *myeb,
55 const mio::Config& cfg,
56 const mio::DEMObject& in_dem);
57 void Run(mio::Date i_startdate, const unsigned int max_steps);
58 void setNoCompute(bool i_nocompute) {nocompute = i_nocompute;}
59
60 private:
61 const mio::DEMObject& dem;
62 MeteoObj meteo;
63
64 SnowpackInterface *snowpack;
65 SnowDriftA3D *snowdrift;
66 EnergyBalance *eb;
67 //DataAssimilation* da;
68 double snow_days_between;
69 bool nocompute, out_snow, correct_meteo_grids_HS, dataFromGrids; // no computation, only parse inputs (check mode)
70};
71
72#endif
Definition: AlpineControl.h:50
void setNoCompute(bool i_nocompute)
Definition: AlpineControl.h:58
void Run(mio::Date i_startdate, const unsigned int max_steps)
Definition: AlpineControl.cc:47
AlpineControl(SnowpackInterface *mysnowpack, SnowDriftA3D *mysnowdrift, EnergyBalance *myeb, const mio::Config &cfg, const mio::DEMObject &in_dem)
Constructs and initialise the time steps loop. This module calls all the necessary other modules (ie ...
Definition: AlpineControl.cc:34
Definition: EnergyBalance.h:70
Definition: MeteoObj.h:92
Definition: SnowDrift.h:78
Definition: SnowpackInterface.h:126