71 virtual void pack(
int e,
double* output)
const = 0;
93 const double* rain_ft_s,
const double* snow_ft_s,
double gamma,
Polymorphic point and native-batch snow boundary. One owner serializes state mutation and buffer use....
Definition SnowModel.hpp:44
virtual int stateSize() const =0
Read the element payload length expected by pack/unpack.
virtual void unpack(int e, const double *input)=0
Restore one matching model's element payload.
virtual void plowSnow(SimulationContext &context, double dt_s, const double *snow_ft_s)=0
Accumulate and redistribute native batch snowfall through derived lifecycle.
virtual void pack(int e, double *output) const =0
Copy one model's element payload into a caller buffer.
virtual ~SnowModel()=default
Destroy derived owned snow state through the base interface. Caller ends all active callbacks/borrows...
virtual void initializeElements(int n)=0
Allocate/reset model-specific storage for point elements.
virtual void step(int e, const SnowInputs &input, SnowOutputs &output)=0
Advance one model element through its SI point boundary.
virtual void execute(SimulationContext &context, double dt_s, double temp_F, double wind_mph, const double *rain_ft_s, const double *snow_ft_s, double gamma, double ea)=0
Execute the native subcatchment batch boundary for legacy arithmetic/order.
Definition GroundHeat.hpp:19
Definition ExchangeLaw.hpp:60
Central, reentrant simulation context.
Definition SimulationContext.hpp:390
Point snow results: interval depths metres and model-specific thermal state. melt_m can include pack ...
Definition SnowModel.hpp:35
double cover_frac
Definition SnowModel.hpp:36
double melt_m
Definition SnowModel.hpp:36
double swe_m
Definition SnowModel.hpp:36
double sublim_m
Definition SnowModel.hpp:36
double throughfall_m
Definition SnowModel.hpp:36
double albedo
Definition SnowModel.hpp:37
double energy_kJm2
Definition SnowModel.hpp:37
double Ts_C
Definition SnowModel.hpp:37
double T_C
Definition SnowModel.hpp:37