1#ifndef HYDROBRICKS_SNOWPACK_H
2#define HYDROBRICKS_SNOWPACK_H
7#include "SnowContainer.h"
8#include "SurfaceComponent.h"
17 void Reset()
override;
37 [[nodiscard]]
bool IsValid(
bool checkProcesses =
true)
const override;
59 [[nodiscard]]
double GetContent(ContentType type)
const override;
96 [[nodiscard]]
bool HasSnow()
const;
110 static constexpr double kFreshSnowfallRate = 0.01;
112 static constexpr double kEmptySnowContent = 0.01;
114 std::unique_ptr<SnowContainer> _snow;
116 double _initialSnowAge = 0;
117 double _snowfallInput = 0;
double * GetValuePointer(std::string_view name) override
Definition Snowpack.cpp:155
void SetInitialState(double value, ContentType type) override
Definition Snowpack.cpp:74
double GetSnowAge() const
Definition Snowpack.cpp:170
void SetParameters(const BrickSettings &brickSettings) override
Definition Snowpack.cpp:24
WaterContainer * GetSnowContainer() const
Definition Snowpack.cpp:59
void ApplyConstraints(double timeStep) override
Definition Snowpack.cpp:138
void Finalize() override
Definition Snowpack.cpp:63
void AttachFluxIn(Flux *flux) override
Definition Snowpack.cpp:28
void UpdateContentFromInputs(double timeStepInDays=1.0) override
Definition Snowpack.cpp:114
void UpdateContent(double value, ContentType type) override
Definition Snowpack.cpp:100
vecDoublePt GetDynamicContentChanges() override
Definition Snowpack.cpp:143
void ResetInputBooking() override
Definition Snowpack.cpp:133
bool HasSnow() const
Definition Snowpack.cpp:166
void Reset() override
Definition Snowpack.cpp:9
bool IsValid(bool checkProcesses=true) const override
Definition Snowpack.cpp:40
double GetContent(ContentType type) const override
Definition Snowpack.cpp:88
void SaveAsInitialState() override
Definition Snowpack.cpp:18
Definition SurfaceComponent.h:10
Definition WaterContainer.h:10
Definition SettingsModel.h:52