MeteoIODoc  MeteoIODoc-2.9.0
mio::TauCLDGenerator Class Reference

Detailed Description

Atmospheric transmissivity generator.

Generate the atmospheric transmissivity (or clearness index, see meteoparam) from other parameters. If a parameter named "CLD" is available, it will be interpreted as cloud cover / cloudiness: in okta between 0 (fully clear) and 8 (fully cloudy). For synop reports, it is possible to include a value of exactly 9 (sky obstructed from view by fog, heavy precipitation...) that will be transparently reset to 8 (fully cloudy).

If no such parameter is available, the atmospheric transmissivity is calculated from the solar index (ratio of measured iswr to potential iswr, therefore using the current location (lat, lon, altitude) and ISWR to parametrize the cloud cover). This relies on (Kasten and Czeplak, 1980).

It takes on (optional) argument: USE_RSWR. If set to TRUE, when no ISWR is available but RSWR and HS are available, a ground albedo is estimated (either soil or snow albedo) and ISWR is then computed from RSWR. Unfortunatelly, this is not very precise... (thus default is false)

[Generators]
TAU_CLD::generator1 = TAU_CLD
TAU_CLD::arg1::use_rswr = false

#include <TauCLDGenerator.h>

Public Types

enum  CLF_PARAMETRIZATION { KASTEN, CLF_CRAWFORD }
 

Public Member Functions

 TauCLDGenerator (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)
 
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 ()
 
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...
 
std::vector< DateRangegetTimeRestrictions () const
 
std::string getAlgo () const
 

Static Public Member Functions

static double getCloudiness (const clf_parametrization &clf_model, const MeteoData &md, const bool &i_use_rswr, SunObject &sun, bool &is_night)
 Compute the atmospheric cloudiness from the available measurements. More...
 

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 > > &)
 
- 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
 
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
 

Member Enumeration Documentation

◆ CLF_PARAMETRIZATION

Enumerator
KASTEN 
CLF_CRAWFORD 

Constructor & Destructor Documentation

◆ TauCLDGenerator()

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

Member Function Documentation

◆ create()

bool mio::TauCLDGenerator::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::TauCLDGenerator::generate ( const size_t &  param,
MeteoData md 
)
virtual

◆ getCloudiness()

double mio::TauCLDGenerator::getCloudiness ( const clf_parametrization &  clf_model,
const MeteoData md,
const bool &  i_use_rswr,
SunObject sun,
bool &  is_night 
)
static

Compute the atmospheric cloudiness from the available measurements.

The clearness index (ie the ratio of the incoming short wave radiation over the ground potential radiation, projected on the horizontal) is computed and used to evaluate the cloudiness, based on the chosen parametrization.

Parameters
[in]clf_modelcloudiness parametrization
[in]mdMeteoData
[in]i_use_rswrif set to true, in case of no iswr measurements, a ground albedo is assumed and used to compute iswr. Based on HS, this albedo can either be a soil ro a snow albedo
sunFor better efficiency, the SunObject for this location (so it can be cached)
[out]is_nightset to TRUE if it is night time
Returns
cloudiness (between 0 and 1)

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