hydrobricks
Loading...
Searching...
No Matches
ProcessSublimationPrevah.h
1#ifndef HYDROBRICKS_PROCESS_SUBLIMATION_PREVAH_H
2#define HYDROBRICKS_PROCESS_SUBLIMATION_PREVAH_H
3
4#include "Forcing.h"
5#include "Includes.h"
6#include "ProcessSublimation.h"
7
8class Snowpack;
9
22 public:
23 explicit ProcessSublimationPrevah(WaterContainer* container);
24
25 ~ProcessSublimationPrevah() override = default;
26
32 static void RegisterProcessSettings(SettingsModel* modelSettings);
33
37 [[nodiscard]] bool IsValid() const override;
38
42 void AttachForcing(Forcing* forcing) override;
43
51 [[nodiscard]] bool HasConstraintPriority() const override {
52 return true;
53 }
54
55 protected:
56 Forcing* _pet; // non-owning reference
57 Snowpack* _snowpack; // non-owning reference (the owning snowpack), resolved lazily
58
62 const vecDouble& GetRates() override;
63};
64
65#endif // HYDROBRICKS_PROCESS_SUBLIMATION_PREVAH_H
Definition Forcing.h:7
Definition ProcessSublimationPrevah.h:21
bool IsValid() const override
Definition ProcessSublimationPrevah.cpp:17
static void RegisterProcessSettings(SettingsModel *modelSettings)
Definition ProcessSublimationPrevah.cpp:13
void AttachForcing(Forcing *forcing) override
Definition ProcessSublimationPrevah.cpp:33
bool HasConstraintPriority() const override
Definition ProcessSublimationPrevah.h:51
const vecDouble & GetRates() override
Definition ProcessSublimationPrevah.cpp:41
Definition ProcessSublimation.h:22
Definition SettingsModel.h:74
Definition Snowpack.h:10
Definition WaterContainer.h:10