|
hydrobricks
|
#include <SplitterSnowRainCemaNeige.h>
Public Member Functions | |
| void | SetParameters (const SplitterSettings &splitterSettings) override |
| void | AttachForcing (Forcing *forcing) override |
| double * | GetValuePointer (const string &name) override |
| void | SetHydroUnitProperties (HydroUnit *unit) override |
| bool | IsValid () const override |
| void | Compute () override |
Public Member Functions inherited from Splitter | |
| virtual void | Validate () const |
| const float * | GetParameterValuePointer (const SplitterSettings &splitterSettings, const string &name) |
| void | AttachFluxIn (Flux *flux) |
| void | AttachFluxOut (std::unique_ptr< Flux > flux) |
| const string & | GetName () const |
| void | SetName (const string &name) |
Protected Attributes | |
| Forcing * | _precipitation |
| Forcing * | _temperature |
| Forcing * | _temperatureMin |
| Forcing * | _temperatureMax |
| double | _elevation |
Protected Attributes inherited from Splitter | |
| string | _name |
| vector< Flux * > | _inputs |
| std::vector< std::unique_ptr< Flux > > | _outputs |
Additional Inherited Members | |
Static Public Member Functions inherited from Splitter | |
| static std::unique_ptr< Splitter > | Factory (const SplitterSettings &splitterSettings) |
CemaNeige rain/snow splitter (Valéry et al., 2014).
Solid fraction formula: fsolid = max(0, min(1, (Tmax - Tmean) / (Tmax - Tmin)))
Temperature interval depends on HydroUnit mean elevation: elevation >= 1500 m: Tmin = -1 °C, Tmax = 3 °C (hardcoded) elevation < 1500 m: Tmin and Tmax are daily observed forcings
No calibrated parameters — only forcing inputs.
|
overridevirtual |
|
overridevirtual |
Compute the output value.
Implements Splitter.
|
overridevirtual |
|
nodiscardoverridevirtual |
Check that everything is correctly defined.
Implements Splitter.
|
overridevirtual |
|
overridevirtual |
Assign the parameters to the splitter.
| splitterSettings | settings of the splitter containing the parameters. |
Implements Splitter.