8#ifndef HYDROBRICKS_PROCESS_LATERAL_SNOW_REDISTRIBUTION_FREY_H
9#define HYDROBRICKS_PROCESS_LATERAL_SNOW_REDISTRIBUTION_FREY_H
11#include "ProcessLateral.h"
47 [[nodiscard]]
bool IsValid()
const override;
81 void Reset()
override;
99 const float* _correction;
100 const float* _holdingCapacity;
101 const float* _rhoMax;
102 const float* _maxSnowDepth;
103 const float* _snowDensity;
104 const float* _rhoMin;
105 const float* _rhoFreshMax;
106 const float* _rhoSettling;
107 const float* _rhoScale;
108 const float* _tScale;
115 const vecDouble&
GetRates()
override;
124 [[nodiscard]]
double GetSnowDensity()
const;
131 [[nodiscard]]
double ComputeFreshSnowDensity()
const;
141 double AvoidUnrealisticAccumulation(
double rate,
Flux* flux);
Definition FluxToBrick.h:9
Definition HydroUnit.h:18
Definition ProcessLateralSnowRedistributionFrey.h:38
void AttachForcing(Forcing *forcing) override
Definition ProcessLateralSnowRedistributionFrey.cpp:85
bool IsValid() const override
Definition ProcessLateralSnowRedistributionFrey.cpp:34
void Finalize() override
Definition ProcessLateralSnowRedistributionFrey.cpp:109
static void RegisterProcessSettingsDynamic(SettingsModel *modelSettings)
Definition ProcessLateralSnowRedistributionFrey.cpp:51
const vecDouble & GetRates() override
Definition ProcessLateralSnowRedistributionFrey.cpp:149
bool IsLateralProcess() const noexcept override
Definition ProcessLateralSnowRedistributionFrey.h:91
void SetHydroUnitProperties(HydroUnit *unit, Brick *brick) override
Definition ProcessLateralSnowRedistributionFrey.cpp:64
void SetParameters(const ProcessSettings &processSettings) override
Definition ProcessLateralSnowRedistributionFrey.cpp:68
void Reset() override
Definition ProcessLateralSnowRedistributionFrey.cpp:93
static void RegisterProcessSettings(SettingsModel *modelSettings)
Definition ProcessLateralSnowRedistributionFrey.cpp:43
Definition ProcessLateral.h:8
Definition SettingsModel.h:70
Definition WaterContainer.h:9
Definition SettingsModel.h:30