MeteoIODoc 20241221.207bde49
mio::ILWREpsAlgorithm Class Reference

Detailed Description

Incoming Long Wave Radiation interpolation algorithm.

Each ILWR is converted to an emissivity (using the local air temperature), interpolated using IDW_LAPSE and reconverted to ILWR. As a side effect, the user must have defined algorithms to be used for air temperature (since this is needed for emissivity to ILWR conversion). The lapse rate definition arguments as parsed by Trend::Trend() are supported (but keep in mind these apply to the emissivity, not to the ILWR!) as well as the following arguments:

  • SCALE: this is a scaling parameter to smooth the IDW distribution. In effect, this is added to the distance in order to move into the tail of the 1/d distribution (default: 1000m);
  • ALPHA: this is an exponent to the 1/d distribution (default: 1);
Note
the emissivity variation is not linear with elevation, but it is possible to derive some approximate lapse rate for the elevation on interest, for example from Centeno, M. "New formulae for the equivalent night sky emissivity", 1982, Solar Energy, 28(6), 489-498 (watch out, an exponent is wrong in quation 13 page 491). A better approach would be to use a power function to fit the emissivity as a function of the elevation...
ILWR::algorithms = ILWR_EPS
ILWR::ilwr_eps::soft = true
ILWR::ilwr_eps::rate = -1.8e-5 ;around 2000m elevation

#include <ILWREpsAlgorithm.h>

Public Member Functions

 ILWREpsAlgorithm (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &i_algo, const std::string &i_param, TimeSeriesManager &i_tsm, 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

◆ ILWREpsAlgorithm()

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

Member Function Documentation

◆ calculate()

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

◆ getQualityRating()

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

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