MeteoIODoc  MeteoIODoc-2.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
WinstralAlgorithm.h
Go to the documentation of this file.
1 /***********************************************************************************/
2 /* Copyright 2013 WSL Institute for Snow and Avalanche Research SLF-DAVOS */
3 /***********************************************************************************/
4 /* This file is part of MeteoIO.
5  MeteoIO 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  MeteoIO 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 MeteoIO. If not, see <http://www.gnu.org/licenses/>.
17 */
18 #ifndef WINSTRAL_ALGORITHM_H
19 #define WINSTRAL_ALGORITHM_H
20 
22 
23 namespace mio {
24 
56  public:
58  const std::vector<std::string>& i_vecArgs,
59  const std::string& i_algo, TimeSeriesManager& i_tsmanager, GridsManager& i_gridsmanager);
60  virtual double getQualityRating(const Date& i_date, const MeteoData::Parameters& in_param);
61  virtual void calculate(const DEMObject& dem, Grid2DObject& grid);
62  private:
63  void initGrid(const DEMObject& dem, Grid2DObject& grid);
64  static bool windIsAvailable(const std::vector<MeteoData>& vecMeteo, const std::string& ref_station);
65  static bool isExposed(const DEMObject& dem, Coords location);
66  static double getSynopticBearing(const std::vector<MeteoData>& vecMeteo, const std::string& ref_station);
67  static double getSynopticBearing(const std::vector<MeteoData>& vecMeteo);
68  static double getSynopticBearing(const DEMObject& dem, const std::vector<MeteoData>& vecMeteo);
69 
70  std::string base_algo, ref_station;
71  double user_synoptic_bearing;
72  bool inputIsAllZeroes;
73  static const double dmax;
74 };
75 
76 } //end namespace mio
77 
78 #endif
WinstralAlgorithm(Meteo2DInterpolator &i_mi, const std::vector< std::string > &i_vecArgs, const std::string &i_algo, TimeSeriesManager &i_tsmanager, GridsManager &i_gridsmanager)
Definition: WinstralAlgorithm.cc:28
virtual void calculate(const DEMObject &dem, Grid2DObject &grid)
Definition: WinstralAlgorithm.cc:207
A class to handle geographic coordinate systems. This class offers an easy way to transparently conve...
Definition: Coords.h:81
Definition: GridsManager.h:28
Parameters
Definition: MeteoData.h:119
A class to perform 2D spatial interpolations. For more, see Spatial interpolations.
Definition: InterpolationAlgorithms.h:43
A class to represent DEMs and automatically compute some properties. This class stores elevation grid...
Definition: DEMObject.h:39
std::vector< MeteoData > vecMeteo
Definition: InterpolationAlgorithms.h:74
A class to represent 2D Grids. Typical application as DEM or Landuse Model.
Definition: Grid2DObject.h:37
A class to spatially interpolate meteo parameters. For more, see Spatial interpolations.
Definition: Meteo2DInterpolator.h:99
DEM-based wind-exposure interpolation algorithm. This is an implementation of the method described in...
Definition: WinstralAlgorithm.h:55
A class to handle timestamps. This class handles conversion between different time display formats (I...
Definition: Date.h:79
Definition: TimeSeriesManager.h:31
virtual double getQualityRating(const Date &i_date, const MeteoData::Parameters &in_param)
Definition: WinstralAlgorithm.cc:56