SNOWPACK 20240328.2d1c245
SnowpackIOInterface.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*/
20
21#ifndef SNOWPACKIOINTERFACE_H
22#define SNOWPACKIOINTERFACE_H
23
25#include <snowpack/Hazard.h>
26
28
29 public:
31
32 virtual bool snowCoverExists(const std::string& i_snowfile, const std::string& stationID) const = 0;
33
34 virtual void readSnowCover(const std::string& i_snowfile, const std::string& stationID,
35 SN_SNOWSOIL_DATA& SSdata, ZwischenData& Zdata, const bool& read_salinity) = 0;
36
37 virtual void writeSnowCover(const mio::Date& date, const SnowStation& Xdata,
38 const ZwischenData& Zdata, const bool& forbackup=false) = 0;
39
40 virtual void writeTimeSeries(const SnowStation& Xdata, const SurfaceFluxes& Sdata, const CurrentMeteo& Mdata,
41 const ProcessDat& Hdata, const double wind_trans24) = 0;
42
43 virtual void writeProfile(const mio::Date& date, const SnowStation& Xdata) = 0;
44
45 virtual bool writeHazardData(const std::string& stationID, const std::vector<ProcessDat>& Hdata,
46 const std::vector<ProcessInd>& Hdata_ind, const size_t& num) = 0;
47};
48
49#endif
CurrentMeteo is the class of interpolated meteo data for the current calculation time step It contai...
Definition: DataClasses.h:83
SN_SNOWSOIL_DATA includes all important station parameters as well as LayerData.
Definition: DataClasses.h:230
Definition: DataClasses.h:604
Definition: SnowpackIOInterface.h:27
virtual void writeTimeSeries(const SnowStation &Xdata, const SurfaceFluxes &Sdata, const CurrentMeteo &Mdata, const ProcessDat &Hdata, const double wind_trans24)=0
virtual bool snowCoverExists(const std::string &i_snowfile, const std::string &stationID) const =0
virtual ~SnowpackIOInterface()
Definition: SnowpackIOInterface.h:30
virtual bool writeHazardData(const std::string &stationID, const std::vector< ProcessDat > &Hdata, const std::vector< ProcessInd > &Hdata_ind, const size_t &num)=0
virtual void writeSnowCover(const mio::Date &date, const SnowStation &Xdata, const ZwischenData &Zdata, const bool &forbackup=false)=0
virtual void writeProfile(const mio::Date &date, const SnowStation &Xdata)=0
virtual void readSnowCover(const std::string &i_snowfile, const std::string &stationID, SN_SNOWSOIL_DATA &SSdata, ZwischenData &Zdata, const bool &read_salinity)=0
Definition: DataClasses.h:733
ZwischenData contains "memory" information mainly for operational use It is used to prepare some para...
Definition: DataClasses.h:65
Structure of double values for output to SDB.
Definition: Hazard.h:37