Alpine3D

Alpine3D Svn Source Tree

Root/trunk/alpine3d/DataAssimilation.h

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
23class DataAssimilation;
24class SnowpackInterface;
25class EnergyBalance;
26
27#include <alpine3d/SnowpackInterface.h>
28#include <alpine3d/ebalance/EnergyBalance.h>
29
30class DataAssimilation{
31public:
32
33DataAssimilation(mio::IOManager &myio);
34DataAssimilation(const DataAssimilation&);
35~DataAssimilation();
36
37DataAssimilation& operator=(const DataAssimilation&); ///<Assignement operator, required because of pointer member
38void Destroy();
39
40void setSnowPack(SnowpackInterface &mysnowpack);
41void SetEnergyBalance(EnergyBalance &myeb);
42
43void Compute(mio::Date julian);
44std::string getGridsRequirements() const;
45
46private:
47void Initialize();
48mio::Grid2DObject data;
49mio::IOManager* io;
50SnowpackInterface* snowpack;
51EnergyBalance* eb;
52};
53
54#endif // DATAASSIMILATION_H

Archive Download this file

Revision: HEAD