hydrobricks
Loading...
Searching...
No Matches
ProcessETHBV.h
1#ifndef HYDROBRICKS_PROCESS_ET_HBV_H
2#define HYDROBRICKS_PROCESS_ET_HBV_H
3
4#include "Forcing.h"
5#include "Includes.h"
6#include "ProcessET.h"
7
19class ProcessETHBV : public ProcessET {
20 public:
21 explicit ProcessETHBV(WaterContainer* container);
22
23 ~ProcessETHBV() override = default;
24
30 static void RegisterProcessSettings(SettingsModel* modelSettings);
31
35 [[nodiscard]] bool IsValid() const override;
36
40 void SetParameters(const ProcessSettings& processSettings) override;
41
45 void AttachForcing(Forcing* forcing) override;
46
47 protected:
48 Forcing* _pet; // non-owning reference
49 const float* _lp; // soil moisture fraction above which ET reaches the potential rate [-]
50 const float* _etCorrectionFactor; // evaporation correction factor (cevpf) [-]
51
55 vecDouble GetRates() override;
56};
57
58#endif // HYDROBRICKS_PROCESS_ET_HBV_H
Definition Forcing.h:7
Definition ProcessETHBV.h:19
void AttachForcing(Forcing *forcing) override
Definition ProcessETHBV.cpp:45
bool IsValid() const override
Definition ProcessETHBV.cpp:19
static void RegisterProcessSettings(SettingsModel *modelSettings)
Definition ProcessETHBV.cpp:13
vecDouble GetRates() override
Definition ProcessETHBV.cpp:53
void SetParameters(const ProcessSettings &processSettings) override
Definition ProcessETHBV.cpp:39
Definition ProcessET.h:8
Definition SettingsModel.h:69
Definition WaterContainer.h:9
Definition SettingsModel.h:29