MeteoIODoc 20241221.207bde49
mio::AllSkySWGenerator Class Reference

Detailed Description

ISWR all sky parametrization.

Using air temperature (TA) and relative humidity (RH) and optionnally cloud transmissivity (TAU_CLD), this computes the potential incoming solar radiation, based on the position of the sun in the sky (as a function of the location and the date) on the horizontal at ground level. If a cloud transmissivity (TAU_CLD) has been provided, or if an incoming long wave measurement is available, it corrects the generated iswr for cloudiness (basically doing like UnsworthGenerator in reverse), otherwise this assumes clear sky! If no TA or RH is available, average values will be used (in order to get an average value for the precipitable water vapor).

[Generators]
ISWR::generator1 = allsky_SW
Note
This relies on SunObject to perform the heavy duty computation.

#include <AllSkySWGenerator.h>

Public Member Functions

 AllSkySWGenerator (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &i_algo, const std::string &i_section, const double &TZ)
 
bool generate (const size_t &param, MeteoData &md, const std::vector< MeteoData > &vecMeteo)
 
bool create (const size_t &param, const size_t &ii_min, const size_t &ii_max, std::vector< MeteoData > &vecMeteo)
 Fill one time series of MeteoData for one station. More...
 
- Public Member Functions inherited from mio::GeneratorAlgorithm
virtual ~GeneratorAlgorithm ()
 
virtual bool generate (const size_t &param, MeteoData &md, const std::vector< MeteoData > &vecMeteo)=0
 
virtual bool create (const size_t &param, const size_t &ii_min, const size_t &ii_max, std::vector< MeteoData > &vecMeteo)=0
 Fill one time series of MeteoData for one station. More...
 
bool skipStation (const std::string &station_id) const
 Should this station be skipped, based on user-provided station ID restrictions? More...
 
bool skipTimeStep (const Date &dt) const
 Should this timestep be skipped, based on user-provided time restrictions? More...
 
bool skipHeight (const double &height) const
 
std::vector< DateRangegetTimeRestrictions () const
 
std::string getAlgo () const
 

Additional Inherited Members

- Protected Member Functions inherited from mio::GeneratorAlgorithm
 GeneratorAlgorithm (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &i_algo, const std::string &i_section, const double &TZ)
 protected constructor only to be called by children More...
 
virtual void parse_args (const std::vector< std::pair< std::string, std::string > > &)
 
void initHeightRestrictions (const std::vector< std::pair< std::string, std::string > > vecArgs)
 
- Static Protected Member Functions inherited from mio::GeneratorAlgorithm
static std::set< std::string > initStationSet (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &keyword)
 
- Protected Attributes inherited from mio::GeneratorAlgorithm
const std::vector< DateRangetime_restrictions
 
const std::set< std::string > excluded_stations
 
const std::set< std::string > kept_stations
 
std::set< double > included_heights
 
std::set< double > excluded_heights
 
bool all_heights
 
const std::string algo
 
const std::string section
 
- Static Protected Attributes inherited from mio::GeneratorAlgorithm
static const double soil_albedo = .23
 
static const double snow_albedo = .85
 
static const double snow_thresh = .1
 
static const double default_height = IOUtils::nodata
 

Constructor & Destructor Documentation

◆ AllSkySWGenerator()

mio::AllSkySWGenerator::AllSkySWGenerator ( const std::vector< std::pair< std::string, std::string > > &  vecArgs,
const std::string &  i_algo,
const std::string &  i_section,
const double &  TZ 
)
inline

Member Function Documentation

◆ create()

bool mio::AllSkySWGenerator::create ( const size_t &  param,
const size_t &  ii_min,
const size_t &  ii_max,
std::vector< MeteoData > &  vecMeteo 
)
virtual

Fill one time series of MeteoData for one station.

This is used by the dataCreators to create a new parameter in one go for the whole timeseries.

Parameters
[in]parammeteo parameter to generate
[in]ii_minminimum index to apply it to in vecMeteo
[in]ii_maxmaximum index to apply it to in vecMeteo
[in]vecMeteometeo timeseries to process
Returns
true if all missing data points for the given parameter could be generated, false otherwise

Implements mio::GeneratorAlgorithm.

◆ generate()

bool mio::AllSkySWGenerator::generate ( const size_t &  param,
MeteoData md,
const std::vector< MeteoData > &  vecMeteo 
)
virtual

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