MeteoIODoc  MeteoIODoc-2.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ALSScaleAlgorithm.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 ALS_INTERPOLATION_H
19 #define ALS_INTERPOLATION_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  void initGrid(const DEMObject& dem, Grid2DObject& grid);
48  Grid2DObject ALS_scan;
49  std::string filename, grid2d_path, base_algo, base_algo_user;
50  double ta_thresh, als_mean;
51  bool inputIsAllZeroes;
52 };
53 
54 } //end namespace mio
55 
56 #endif
Scale and distribute the precipitation according to Airborn Laser Scans (ALS) grids. This needs two arguments: first the base method to fill the grid (for example, idw_lapse) and then the name of the file (in GRID2DPATH) containing the gridded ALS data (relying on the GRID2D plugin). If there are some time steps when only one station provides the necessary parameter, the base method will automatically switch to "AVG". A third (optional) argument can be provided that is the air temperature threshold (in K) below which such redistribution occurs (so liquid precipitation is not redistributed).
Definition: ALSScaleAlgorithm.h:39
Definition: GridsManager.h:28
ALS_Interpolation(Meteo2DInterpolator &i_mi, const std::vector< std::string > &i_vecArgs, const std::string &i_algo, TimeSeriesManager &i_tsmanager, GridsManager &i_gridsmanager)
Definition: ALSScaleAlgorithm.cc:25
Parameters
Definition: MeteoData.h:119
A class to perform 2D spatial interpolations. For more, see Spatial interpolations.
Definition: InterpolationAlgorithms.h:43
virtual void calculate(const DEMObject &dem, Grid2DObject &grid)
Definition: ALSScaleAlgorithm.cc:85
A class to represent DEMs and automatically compute some properties. This class stores elevation grid...
Definition: DEMObject.h:39
virtual double getQualityRating(const Date &i_date, const MeteoData::Parameters &in_param)
Definition: ALSScaleAlgorithm.cc:70
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