19#ifndef TAUCLDGENERATOR_H
20#define TAUCLDGENERATOR_H
88 typedef enum CLF_PARAMETRIZATION {
95 TauCLDGenerator(
const std::vector< std::pair<std::string, std::string> >& vecArgs,
const std::string& i_algo,
const std::string& i_section,
const double& TZ,
const Config &i_cfg);
98 bool generate(
const size_t& param,
MeteoData& md,
const std::vector<MeteoData>& vecMeteo)
override;
99 bool create(
const size_t& param,
const size_t& ii_min,
const size_t& ii_max, std::vector<MeteoData>& vecMeteo)
override;
113 std::map< std::string , std::vector< std::pair<double,double> > >
masks;
132 void addCloudiness(
const double& julian_gmt,
const double& cloudiness);
A class that reads a key/value file. These files (typically named *.ini) follow the INI file format s...
Definition Config.h:79
A class to represent DEMs and automatically compute some properties. This class stores elevation grid...
Definition DEMObject.h:40
Interface class for the generator models.
Definition GeneratorAlgorithms.h:111
A class to represent a singular measurement received from one station at a certain time (represented ...
Definition MeteoData.h:108
A class to represent meteo stations with attributes like longitude, latitude, etc.
Definition StationData.h:40
A class to calculate Solar radiation characteristics This is largely based on M. Iqbal,...
Definition Sun.h:37
Atmospheric transmissivity generator.
Definition TauCLDGenerator.h:86
bool use_rswr
Definition TauCLDGenerator.h:119
clf_parametrization cloudiness_model
Definition TauCLDGenerator.h:118
double getHorizon(const MeteoData &md, const double &sun_azi)
Definition TauCLDGenerator.cc:116
std::string horizons_outfile
Definition TauCLDGenerator.h:114
std::map< std::string, cloudCache > last_cloudiness
Definition TauCLDGenerator.h:112
DEMObject dem
Definition TauCLDGenerator.h:116
~TauCLDGenerator() override
Definition TauCLDGenerator.cc:74
bool generate(const size_t ¶m, MeteoData &md, const std::vector< MeteoData > &vecMeteo) override
Definition TauCLDGenerator.cc:289
bool use_rad_threshold
Definition TauCLDGenerator.h:119
clf_parametrization
Definition TauCLDGenerator.h:88
@ CLF_CRAWFORD
Definition TauCLDGenerator.h:92
@ KASTEN
Definition TauCLDGenerator.h:91
@ DEFAULT
Definition TauCLDGenerator.h:89
@ CLF_LHOMME
Definition TauCLDGenerator.h:90
bool use_horizons
Definition TauCLDGenerator.h:120
bool write_mask_out
Definition TauCLDGenerator.h:120
static std::vector< std::pair< double, double > > computeMask(const DEMObject &i_dem, const StationData &sd)
Definition TauCLDGenerator.cc:104
double computeCloudiness(const MeteoData &md, bool &is_night)
Compute the atmospheric cloudiness from the available measurements.
Definition TauCLDGenerator.cc:226
double getCloudiness(const MeteoData &md)
Return the atmospheric cloudiness.
Definition TauCLDGenerator.cc:176
double interpolateCloudiness(const std::string &station_hash, const double &julian_gmt) const
Definition TauCLDGenerator.cc:141
SunObject sun
Definition TauCLDGenerator.h:117
double getClearness(const double &cloudiness) const
Compute the clearness index from an atmospheric cloudiness value.
Definition TauCLDGenerator.cc:92
bool create(const size_t ¶m, const size_t &ii_min, const size_t &ii_max, std::vector< MeteoData > &vecMeteo) override
Fill one time series of MeteoData for one station.
Definition TauCLDGenerator.cc:300
const Config & cfg
Definition TauCLDGenerator.h:115
std::map< std::string, std::vector< std::pair< double, double > > > masks
Definition TauCLDGenerator.h:113
bool from_dem
Definition TauCLDGenerator.h:120
This is a small helper structure to store pairs of <timestamp, cloudiness> values for caching.
Definition TauCLDGenerator.h:128
void addCloudiness(const double &julian_gmt, const double &cloudiness)
Add a cloudiness value to the cache.
Definition TauCLDGenerator.cc:162
std::pair< double, double > last_valid
Definition TauCLDGenerator.h:134
CLOUDCACHE(const double &julian_gmt, const double &cloudiness)
Definition TauCLDGenerator.h:130
CLOUDCACHE()
Definition TauCLDGenerator.h:129