hydrobricks
Loading...
Searching...
No Matches
SplitterSnowRainLinear.h
1#ifndef HYDROBRICKS_SPLITTER_SNOW_RAIN_LINEAR_H
2#define HYDROBRICKS_SPLITTER_SNOW_RAIN_LINEAR_H
3
4#include "Forcing.h"
5#include "Includes.h"
6#include "Splitter.h"
7
9 public:
10 explicit SplitterSnowRainLinear();
11
15 [[nodiscard]] bool IsValid() const override;
16
20 void SetParameters(const SplitterSettings& splitterSettings) override;
21
25 void AttachForcing(Forcing* forcing) override;
26
30 double* GetValuePointer(const string& name) override;
31
35 void Compute() override;
36
37 protected:
38 Forcing* _precipitation;
39 Forcing* _temperature;
40 const float* _transitionStart; // [°C]
41 const float* _transitionEnd; // [°C]
42 const float* _rainCorrectionFactor; // [-] multiplies the rain output
43 const float* _snowCorrectionFactor; // [-] multiplies the snow output
44};
45
46#endif // HYDROBRICKS_SPLITTER_SNOW_RAIN_LINEAR_H
Definition Forcing.h:7
Definition SplitterSnowRainLinear.h:8
double * GetValuePointer(const string &name) override
Definition SplitterSnowRainLinear.cpp:38
void SetParameters(const SplitterSettings &splitterSettings) override
Definition SplitterSnowRainLinear.cpp:21
void Compute() override
Definition SplitterSnowRainLinear.cpp:49
bool IsValid() const override
Definition SplitterSnowRainLinear.cpp:12
void AttachForcing(Forcing *forcing) override
Definition SplitterSnowRainLinear.cpp:28
Definition Splitter.h:13
Definition SettingsModel.h:38