MeteoIODoc 20241221.207bde49
mio::ClearSkyLWGenerator Class Reference

Detailed Description

ILWR clear sky parametrization.

Using air temperature (TA) and relative humidity (RH), this offers the choice of several clear sky parametrizations with the following arguments:

  • TYPE: specify the parametrization that should be used, any of the following:
    • BRUTSAERT – from Brutsaert, "On a Derivable Formula for Long-Wave Radiation From Clear Skies", Journal of Water Resources Research, 11, No. 5, October 1975, pp 742-744.
    • DILLEY – from Dilley and O'Brien, "Estimating downward clear sky long-wave irradiance at the surface from screen temperature and precipitable water", Q. J. R. Meteorolo. Soc., 124, 1998, pp 1391-1401.
    • PRATA – from Prata, "A new long-wave formula for estimating downward clear-sky radiation at the surface", Q. J. R. Meteorolo. Soc., 122, 1996, pp 1127-1151.
    • CLARK – from Clark & Allen, "The estimation of atmospheric radiation for clear and cloudy skies", Proceedings of the second national passive solar conference, 2, 1978, p 676.
    • TANG – from Tang et al., "Estimates of clear night sky emissivity in the Negev Highlands, Israel", Energy Conversion and Management, 45.11, 2004, pp 1831-1843.
    • IDSO – from Idso, "A set of equations for full spectrum and 8 to 14 um and 10.5 to 12.5 um thermal radiation from cloudless skies", Water Resources Research, 17, 1981, pp 295-304.

Please keep in mind that for energy balance modeling, this significantly underestimate the ILWR input.

[Generators]
ILWR::generator1 = clearsky_LW
ILWR::arg1::type = Dilley

The graph below shows the comparison between measured and modeled ILWR depending on the chosen parametrization. The measured data (ISWR, TA, RH and the reference ILWR) comes from the Weissfluhjoch *WFJ AWS (2691m, Davos, Switzerland) for the 2010-08-01 – 2019-08-01 period with half-hourly resolution. The data has been binned every 5 W/m², the black dots represent the average of the bin, the greay area contains every data point (ie it shows the minimum and maximum data) while the brown area is defined as average±σ.

Comparison between measured and parametrized ILWR at the Weissfluhjoch *WFJ station (2691m, Davos, Switzerland) for the 2010-08-01 – 2019-08-01 period

#include <ClearSkyLWGenerator.h>

Public Member Functions

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

◆ ClearSkyLWGenerator()

mio::ClearSkyLWGenerator::ClearSkyLWGenerator ( 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::ClearSkyLWGenerator::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::ClearSkyLWGenerator::generate ( const size_t &  param,
MeteoData md,
const std::vector< MeteoData > &  vecMeteo 
)
virtual

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