hydrobricks
Loading...
Searching...
No Matches
ProcessLateralSnowSlide.h
Go to the documentation of this file.
1
11#ifndef HYDROBRICKS_PROCESS_LATERAL_SNOWSLIDE_H
12#define HYDROBRICKS_PROCESS_LATERAL_SNOWSLIDE_H
13
14#include "ProcessLateral.h"
15
16class FluxToBrick;
17
19 public:
20 explicit ProcessLateralSnowSlide(WaterContainer* container);
21
22 ~ProcessLateralSnowSlide() override = default;
23
27 [[nodiscard]] bool IsOk() override;
28
34 static void RegisterProcessParametersAndForcing(SettingsModel* modelSettings);
35
39 void SetHydroUnitProperties(HydroUnit* unit, Brick* brick) override;
40
44 void SetParameters(const ProcessSettings& processSettings) override;
45
49 [[nodiscard]] bool IsLateralProcess() const override {
50 return true;
51 }
52
53 protected:
54 float _slope_deg; // Slope of the hydro unit [°]
55 float* _coeff; // Coefficient in the equation []
56 float* _exp; // Exponent in the equation []
57 float* _minSlope; // Minimum slope for snow holding [°]
58 float* _maxSlope; // Maximum slope for snow holding [°]
59 float* _minSnowHoldingDepth; // Minimum snow holding depth (when slope > maxSlope) [mm]
60 float* _maxSnowDepth; // Maximum snow depth (not in the original method) [mm]
61
65 vecDouble GetRates() override;
66
67 private:
76 double AvoidUnrealisticAccumulation(double rate, Flux* flux);
77};
78
79#endif // HYDROBRICKS_PROCESS_LATERAL_SNOWSLIDE_H
Definition Brick.h:10
Definition FluxToBrick.h:9
Definition Flux.h:9
Definition HydroUnit.h:14
Definition ProcessLateralSnowSlide.h:18
static void RegisterProcessParametersAndForcing(SettingsModel *modelSettings)
Definition ProcessLateralSnowSlide.cpp:23
void SetParameters(const ProcessSettings &processSettings) override
Definition ProcessLateralSnowSlide.cpp:36
vecDouble GetRates() override
Definition ProcessLateralSnowSlide.cpp:46
void SetHydroUnitProperties(HydroUnit *unit, Brick *brick) override
Definition ProcessLateralSnowSlide.cpp:32
bool IsLateralProcess() const override
Definition ProcessLateralSnowSlide.h:49
bool IsOk() override
Definition ProcessLateralSnowSlide.cpp:19
Definition ProcessLateral.h:8
Definition SettingsModel.h:66
Definition WaterContainer.h:9
Definition SettingsModel.h:27