Alpine3D  Alpine3D-3.2.0
DataAssimilation.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 DATAASSIMILATION_H
19 #define DATAASSIMILATION_H
20 
21 #include <meteoio/MeteoIO.h>
22 
23 class DataAssimilation;
24 class SnowpackInterface;
25 class EnergyBalance;
26 
29 
31  public:
32 
33  DataAssimilation(mio::IOManager &myio);
36 
38  void Destroy();
39 
40  void setSnowPack(SnowpackInterface &mysnowpack);
41  void SetEnergyBalance(EnergyBalance &myeb);
42 
43  void Compute(mio::Date julian);
44  void Initialize();
45  std::string getGridsRequirements() const;
46 
47  private:
48  mio::Grid2DObject data;
49  mio::IOManager* io;
50  SnowpackInterface* snowpack;
51  EnergyBalance* eb;
52 };
53 
54 #endif // DATAASSIMILATION_H
std::string getGridsRequirements() const
Definition: DataAssimilation.cc:45
void Destroy()
Definition: DataAssimilation.cc:43
~DataAssimilation()
Definition: DataAssimilation.cc:29
Definition: EnergyBalance.h:68
Definition: SnowpackInterface.h:127
void Compute(mio::Date julian)
Definition: DataAssimilation.cc:69
DataAssimilation & operator=(const DataAssimilation &)
Assignement operator, required because of pointer member.
Definition: DataAssimilation.cc:33
void Initialize()
Definition: DataAssimilation.cc:50
DataAssimilation(mio::IOManager &myio)
Definition: DataAssimilation.cc:22
void setSnowPack(SnowpackInterface &mysnowpack)
Definition: DataAssimilation.cc:58
void SetEnergyBalance(EnergyBalance &myeb)
Definition: DataAssimilation.cc:63
Definition: DataAssimilation.h:30