MeteoIODoc  MeteoIODoc-2.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IDWLapseAlgorithm.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 IDWLAPSE_ALGORITHM_H
19 #define IDWLAPSE_ALGORITHM_H
20 
22 
23 namespace mio {
24 
40  public:
42  const std::vector<std::string>& i_vecArgs,
43  const std::string& i_algo, TimeSeriesManager& i_tsmanager, GridsManager& i_gridsmanager);
44  virtual double getQualityRating(const Date& i_date, const MeteoData::Parameters& in_param);
45  virtual void calculate(const DEMObject& dem, Grid2DObject& grid);
46  private:
47  bool lapse_rate_provided;
48 };
49 
50 } //end namespace mio
51 
52 #endif
virtual double getQualityRating(const Date &i_date, const MeteoData::Parameters &in_param)
Definition: IDWLapseAlgorithm.cc:36
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
Inverse Distance Weighting interpolation algorithm with elevation detrending/reprojection. The input data is detrended and the residuals are spatially interpolated using an Inverse Distance Weighting interpolation algorithm (see IDWAlgorithm). Then, each value is reprojected to the real elevation of the relative cell (re-trending). The lapse rate is either calculated from the data (if no extra argument is provided), or given by the user-provided the optional argument "idw_lapse". If followed by "soft", then an attempt to calculate the lapse rate from the data is made, any only if unsuccessful or too bad (r^2<0.6), then the user provided lapse rate is used as a fallback. If the optional user given lapse rate is followed by "frac", then the lapse rate is understood as a fractional lapse rate, that is a relative change of the value as a function of the elevation (for example, +0.05% per meters given as 0.0005). In this case, no attempt to calculate the fractional lapse from the data is made.
Definition: IDWLapseAlgorithm.h:39
A class to represent DEMs and automatically compute some properties. This class stores elevation grid...
Definition: DEMObject.h:39
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
A class to handle timestamps. This class handles conversion between different time display formats (I...
Definition: Date.h:79
Definition: TimeSeriesManager.h:31
virtual void calculate(const DEMObject &dem, Grid2DObject &grid)
Definition: IDWLapseAlgorithm.cc:48
IDWLapseAlgorithm(Meteo2DInterpolator &i_mi, const std::vector< std::string > &i_vecArgs, const std::string &i_algo, TimeSeriesManager &i_tsmanager, GridsManager &i_gridsmanager)
Definition: IDWLapseAlgorithm.cc:24