Sinusoid generator.
Generate a sinusoidal variation for this parameter, as provided in argument (please remember that it must be in SI units). The arguments that must be provided are the following:
- TYPE: the sinusoidal period, either
- MIN: the minimum value (SI units, mandatory);
- MAX: the maximum value (SI units, mandatory);
- PHASE: the time offset specifying when the minimum value should be reached, within one period (expressed as fraction of such period, defaults to zero);
The example below generates a yearly sinusoidal variation for the air temperature, the minimum being 268.26 K and occuring at 1/12 of the period (which practically means, at the end of the first month).
[Generators]
TA::generator1 = Sin
TA::arg1::type = yearly
TA::arg1::min = 268.26
TA::arg1::max = 285.56
TA::arg1::phase = 0.0833
|
| SinGenerator (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 ¶m, MeteoData &md, const std::vector< MeteoData > &vecMeteo) |
|
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. More...
|
|
virtual | ~GeneratorAlgorithm () |
|
virtual bool | generate (const size_t ¶m, MeteoData &md, const std::vector< MeteoData > &vecMeteo)=0 |
|
virtual bool | create (const size_t ¶m, 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...
|
|
std::vector< DateRange > | getTimeRestrictions () const |
|
std::string | getAlgo () const |
|
|
| 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 std::set< std::string > | initStationSet (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &keyword) |
|
const std::vector< DateRange > | time_restrictions |
|
const std::set< std::string > | excluded_stations |
|
const std::set< std::string > | kept_stations |
|
const std::string | algo |
|
const std::string | section |
|
static const double | soil_albedo = .23 |
|
static const double | snow_albedo = .85 |
|
static const double | snow_thresh = .1 |
|