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