MeteoIODoc 20241221.207bde49
mio::ALS_Interpolation Class Reference

Detailed Description

Scale and distribute the precipitation according to Airborn Laser Scans (ALS) grids.

This assumes that precipitation fields can be scaled according to snow heights grids in order to get improved precipitation patterns (see "Scaling Precipitation Input to Spatially Distributed Hydrological Models by Measured Snow Distribution", C. Vögeli, M. Lehning, N. Wever, M. Bavay, 2016, Front. Earth Sci. 4: 108. doi: 10.3389/feart.2016.00108.).

In a first step, the precipitation are spatially distributed with a base method and in a second step the resulting grid is modified to reflect the spatial distribution of the provided snow height grid. Of course, these two steps happen automatically and transparently to the caller of this algorithm.

It takes the following arguments:

  • BASE: the base method to fill the grid (for example, idw_lapse (default));
  • GRID: the name of the file (in GRID2DPATH) containing the gridded ALS data (relying on the GRID2D plugin). This must provide a snow height map that will be used to scale the precipitation patterns.
  • TA_THRESH: an optional air temperature threshold (in K) below which such redistribution occurs (so liquid precipitation is not redistributed)
Note
If there are some time steps when only one station provides the necessary parameter, the base method will automatically switch to "AVG".
PSUM::algorithms = ALS_SCALING
PSUM::als_scaling::base = idw_lapse
PSUM::als_scaling::grid = als_20150213.asc

#include <ALSScaleAlgorithm.h>

Public Member Functions

 ALS_Interpolation (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &i_algo, const std::string &i_param, TimeSeriesManager &i_tsm, GridsManager &i_gdm, Meteo2DInterpolator &i_mi)
 
virtual double getQualityRating (const Date &i_date)
 
virtual void calculate (const DEMObject &dem, Grid2DObject &grid)
 
- Public Member Functions inherited from mio::InterpolationAlgorithm
 InterpolationAlgorithm (const std::vector< std::pair< std::string, std::string > > &, const std::string &i_algo, const std::string &i_param, TimeSeriesManager &i_tsm)
 
virtual ~InterpolationAlgorithm ()
 
virtual double getQualityRating (const Date &i_date)=0
 
virtual void calculate (const DEMObject &dem, Grid2DObject &grid)=0
 
std::string getInfo () const
 Return an information string about the interpolation process. More...
 

Additional Inherited Members

- Public Attributes inherited from mio::InterpolationAlgorithm
const std::string algo
 
- Protected Member Functions inherited from mio::InterpolationAlgorithm
std::vector< double > getData (const Date &i_date, const std::string &i_param)
 
size_t getData (const Date &i_date, const std::string &i_param, std::vector< double > &o_vecData, std::vector< StationData > &o_vecMeta)
 
- Protected Attributes inherited from mio::InterpolationAlgorithm
TimeSeriesManagertsmanager
 
Date date
 
std::vector< MeteoDatavecMeteo
 
std::vector< double > vecData
 store the measurement for the given parameter More...
 
std::vector< StationDatavecMeta
 store the station data for the given parameter More...
 
std::ostringstream info
 to store some extra information about the interplation process More...
 
const std::string param
 the parameter that we will interpolate More...
 
size_t nrOfMeasurments
 Number of stations that have been used, so this can be reported to the user. More...
 

Constructor & Destructor Documentation

◆ ALS_Interpolation()

mio::ALS_Interpolation::ALS_Interpolation ( const std::vector< std::pair< std::string, std::string > > &  vecArgs,
const std::string &  i_algo,
const std::string &  i_param,
TimeSeriesManager i_tsm,
GridsManager i_gdm,
Meteo2DInterpolator i_mi 
)

Member Function Documentation

◆ calculate()

void mio::ALS_Interpolation::calculate ( const DEMObject dem,
Grid2DObject grid 
)
virtual

◆ getQualityRating()

double mio::ALS_Interpolation::getQualityRating ( const Date i_date)
virtual

The documentation for this class was generated from the following files: