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);
99 bool create(
const size_t& param,
const size_t& ii_min,
const size_t& ii_max, std::vector<MeteoData>& vecMeteo);
102 typedef struct CLOUDCACHE {
104 CLOUDCACHE(
const double& julian_gmt,
const double& cloudiness) : last_valid(std::make_pair(IOUtils::
nodata, IOUtils::
nodata)) { addCloudiness(julian_gmt, cloudiness); }
115 static std::vector< std::pair<double,double> >
computeMask(
const DEMObject& i_dem,
const StationData& sd);
116 double getHorizon(
const MeteoData& md,
const double& sun_azi);
119 std::map< std::string , std::vector< std::pair<double,double> > >
masks;
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:107
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:125
clf_parametrization cloudiness_model
Definition: TauCLDGenerator.h:124
double getHorizon(const MeteoData &md, const double &sun_azi)
Definition: TauCLDGenerator.cc:116
std::string horizons_outfile
Definition: TauCLDGenerator.h:120
std::map< std::string, cloudCache > last_cloudiness
Definition: TauCLDGenerator.h:118
DEMObject dem
Definition: TauCLDGenerator.h:122
bool use_rad_threshold
Definition: TauCLDGenerator.h:125
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:126
bool generate(const size_t ¶m, MeteoData &md, const std::vector< MeteoData > &vecMeteo)
Definition: TauCLDGenerator.cc:284
bool write_mask_out
Definition: TauCLDGenerator.h:126
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:221
double getCloudiness(const MeteoData &md)
Return the atmospheric cloudiness.
Definition: TauCLDGenerator.cc:171
double interpolateCloudiness(const std::string &station_hash, const double &julian_gmt) const
Definition: TauCLDGenerator.cc:141
bool create(const size_t ¶m, const size_t &ii_min, const size_t &ii_max, std::vector< MeteoData > &vecMeteo)
Fill one time series of MeteoData for one station.
Definition: TauCLDGenerator.cc:295
SunObject sun
Definition: TauCLDGenerator.h:123
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)
Definition: TauCLDGenerator.cc:29
double getClearness(const double &cloudiness) const
Compute the clearness index from an atmospheric cloudiness value.
Definition: TauCLDGenerator.cc:92
~TauCLDGenerator()
Definition: TauCLDGenerator.cc:74
const Config & cfg
Definition: TauCLDGenerator.h:121
std::map< std::string, std::vector< std::pair< double, double > > > masks
Definition: TauCLDGenerator.h:119
bool from_dem
Definition: TauCLDGenerator.h:126
const double nodata
This is the internal nodata value.
Definition: IOUtils.h:75
Definition: TauCLDGenerator.h:102
CLOUDCACHE(const double &julian_gmt, const double &cloudiness)
Definition: TauCLDGenerator.h:104
std::pair< double, double > last_valid
Definition: TauCLDGenerator.h:108
CLOUDCACHE()
Definition: TauCLDGenerator.h:103
void addCloudiness(const double &julian_gmt, const double &cloudiness)