hydrobricks
Loading...
Searching...
No Matches
ProcessMeltDegreeDayAspect.h
1#ifndef HYDROBRICKS_PROCESS_MELT_DEGREE_DAY_ASPECT_H
2#define HYDROBRICKS_PROCESS_MELT_DEGREE_DAY_ASPECT_H
3
4#include "Forcing.h"
5#include "Includes.h"
6#include "ProcessMelt.h"
7
19 public:
20 explicit ProcessMeltDegreeDayAspect(WaterContainer* container);
21
22 ~ProcessMeltDegreeDayAspect() override = default;
23
29 static void RegisterProcessSettings(SettingsModel* modelSettings);
30
34 [[nodiscard]] bool IsValid() const override;
35
39 void SetHydroUnitProperties(HydroUnit* unit, Brick* brick) override;
40
44 void SetParameters(const ProcessSettings& processSettings) override;
45
49 void AttachForcing(Forcing* forcing) override;
50
51 protected:
52 string _aspectClass;
53 Forcing* _temperature; // non-owning reference
54 const float* _degreeDayFactor;
55 const float* _meltingTemperature;
56
60 const vecDouble& GetRates() override;
61};
62
63#endif // HYDROBRICKS_PROCESS_MELT_DEGREE_DAY_ASPECT_H
Definition Brick.h:22
Definition Forcing.h:7
Definition HydroUnit.h:18
Definition ProcessMeltDegreeDayAspect.h:18
bool IsValid() const override
Definition ProcessMeltDegreeDayAspect.cpp:21
void SetParameters(const ProcessSettings &processSettings) override
Definition ProcessMeltDegreeDayAspect.cpp:39
const vecDouble & GetRates() override
Definition ProcessMeltDegreeDayAspect.cpp:68
static void RegisterProcessSettings(SettingsModel *modelSettings)
Definition ProcessMeltDegreeDayAspect.cpp:13
void SetHydroUnitProperties(HydroUnit *unit, Brick *brick) override
Definition ProcessMeltDegreeDayAspect.cpp:35
void AttachForcing(Forcing *forcing) override
Definition ProcessMeltDegreeDayAspect.cpp:60
Definition ProcessMelt.h:8
Definition SettingsModel.h:70
Definition WaterContainer.h:9
Definition SettingsModel.h:30