|
hydrobricks
|
#include <ProcessETHBV.h>
Public Member Functions | |
| ProcessETHBV (WaterContainer *container) | |
| bool | IsValid () const override |
| void | SetParameters (const ProcessSettings &processSettings) override |
| void | AttachForcing (Forcing *forcing) override |
Public Member Functions inherited from ProcessET | |
| ProcessET (WaterContainer *container) | |
| int | GetConnectionCount () const override |
| double * | GetValuePointer (std::string_view name) override |
| bool | ToAtmosphere () const override |
Public Member Functions inherited from Process | |
| Process (WaterContainer *container) | |
| virtual void | Reset () |
| virtual void | Validate () const |
| virtual void | SetHydroUnitProperties (HydroUnit *unit, Brick *brick) |
| void | AttachFluxOut (std::unique_ptr< Flux > flux) |
| int | GetOutputFluxCount () const |
| Flux * | GetOutputFlux (size_t index) const |
| virtual bool | NeedsTargetBrickLinking () const |
| virtual vecDouble | GetChangeRates () |
| virtual void | StoreInOutgoingFlux (double *rate, int index) |
| void | ApplyChange (int connectionIndex, double rate, double timeStepInDays) |
| virtual void | Finalize () |
| virtual vecDoublePt | GetStateVariables () |
| const string & | GetName () const |
| void | SetName (const string &name) |
| void | SetTimeMachine (TimeMachine *timeMachine) |
| WaterContainer * | GetWaterContainer () const |
| virtual void | SetTargetBrick (Brick *) |
| virtual bool | LinksMultipleTargets () const |
| virtual void | AddTargetBrickWithWeights (Brick *, const std::vector< Brick * > &) |
| virtual bool | IsLateralProcess () const noexcept |
| bool | HasOutputFluxes () const noexcept |
| bool | HasWaterContainer () const noexcept |
Static Public Member Functions | |
| static void | RegisterProcessSettings (SettingsModel *modelSettings) |
Static Public Member Functions inherited from Process | |
| static std::unique_ptr< Process > | Factory (const ProcessSettings &processSettings, Brick *brick) |
| static bool | RegisterSettings (SettingsModel *modelSettings, const string &processType) |
| static bool | HasParameter (const ProcessSettings &processSettings, std::string_view name) |
| static const float * | GetParameterValuePointer (const ProcessSettings &processSettings, std::string_view name) |
Protected Member Functions | |
| vecDouble | GetRates () override |
Protected Member Functions inherited from Process | |
| double | GetSumChangeRatesOtherProcesses () const |
Protected Attributes | |
| Forcing * | _pet |
| const float * | _lp |
| const float * | _etCorrectionFactor |
Protected Attributes inherited from Process | |
| string | _name |
| WaterContainer * | _container |
| TimeMachine * | _timeMachine {nullptr} |
| std::vector< std::unique_ptr< Flux > > | _outputs |
HBV actual evapotranspiration (Lindström et al., 1997).
Lives on the soil moisture brick (capacity FC). The actual evaporation increases linearly with the soil moisture and reaches the (corrected) potential rate at the limit LP (expressed as a fraction of FC): Ea = cevpf × PET × min(SM / (LP × FC), 1)
The evaporation correction factor cevpf (default 1) scales the potential evaporation per land cover, allowing e.g. a higher evaporation over forests.
|
overridevirtual |
|
overrideprotectedvirtual |
|
nodiscardoverridevirtual |
Check that everything is correctly defined.
Reimplemented from ProcessET.
|
static |
Register the process parameters and forcing in the settings model.
| modelSettings | The settings model to register the parameters in. |
|
overridevirtual |
Assign the parameters to the process.
| processSettings | settings of the process containing the parameters. |
Reimplemented from Process.