MeteoIODoc 2.11.0
mio::WinstralListonAlgorithm Class Reference

Detailed Description

DEM-based wind-exposure interpolation algorithm, for a spatially explicit varying DW field.

This is an implementation of the method described in Winstral, Elder, & Davis, "Spatial snow modeling of wind-redistributed snow using terrain-based parameters", 2002, Journal of Hydrometeorology, 3(5), 524-538. The wind direction for determining wind-exposure is taken from a 2D wind direction field. The DEM is used to compute wind exposure factors that are used to alter the precipitation fields. It is usually a good idea to provide a DEM that also contain the accumulated snow height in order to get a progressive softening of the terrain features.

It takes the following arguments:

  • BASE:: provide the base algorithm to pre-fill the grid, since this method must first use another algorithm to generate an initial precipitation field, and then modify it. By default, this base method is "idw_lapse" and switches to "avg" if only one station can provide the precipitation at a given time step (for an easy fallback). Please do not forget to provide any necessary arguments for this base method!
  • DMAX: maximum search distance or radius (default: 300m);
Remarks
  • Only cells with an air temperature below freezing participate in the redistribution
  • Using the WinstralListonAlgorithm also requires the specification of an interpolation method for DW
PSUM::algorithms = WINSTRAL++
PSUM::winstral++::base = idw_lapse
PSUM::winstral++::dmax = 300
DW::algorithms = LISTON_WIND
DW::liston_wind::scale = 300

#include <WinstralListonAlgorithm.h>

Public Member Functions

 WinstralListonAlgorithm (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

◆ WinstralListonAlgorithm()

mio::WinstralListonAlgorithm::WinstralListonAlgorithm ( 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::WinstralListonAlgorithm::calculate ( const DEMObject dem,
Grid2DObject grid 
)
virtual

◆ getQualityRating()

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

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