40#ifndef OPENSWMM_SNOW_HPP
41#define OPENSWMM_SNOW_HPP
69 std::vector<double>
fw;
71 std::vector<double>
ati;
72 std::vector<double>
awe;
77 std::vector<double>
dhm;
112 std::vector<double>
si;
161 void init(
int n_subcatch);
187 double temp,
double wind,
const double* rainfall,
188 const double* snowfall,
189 double gamma = 0.0,
double ea = 0.0);
196 double temp,
double wind,
double rainfall,
197 double snowfall = 0.0,
198 double gamma = 0.0,
double ea = 0.0);
229 static double rainMeltRate(
double temp,
double wind,
double gamma,
230 double ea,
double rainfall);
const SnowSoA & state() const
Definition Snow.hpp:223
void execute(SimulationContext &ctx, double dt, double temp, double wind, const double *rainfall, const double *snowfall, double gamma=0.0, double ea=0.0)
Compute snowmelt for all subcatchments (batch).
Definition Snow.cpp:225
SnowSoA & state()
Definition Snow.hpp:222
void init(int n_subcatch)
Definition Snow.cpp:74
void setMeltCoeffs(int day_of_year)
Update seasonal melt coefficients based on day of year.
Definition Snow.cpp:449
void plowSnow(SimulationContext &ctx, double dt, const double *snowfall)
Snow accumulation + plowing — adds new snowfall to each pack and redistributes excess snow between su...
Definition Snow.cpp:487
constexpr int SNOW_IMPERV
Definition Snow.hpp:57
constexpr int SNOW_PERV
Definition Snow.hpp:58
constexpr int N_SUBAREAS
Plowable, Impervious, Pervious.
Definition Snow.hpp:55
constexpr int SNOW_PLOWABLE
Definition Snow.hpp:56
Definition NodeCoupling.cpp:16
Central, reentrant simulation context.
Definition SimulationContext.hpp:353
std::vector< double > sfrac
Definition Snow.hpp:126
double precip_age
Definition Snow.hpp:143
std::vector< int > to_subcatch
Target subcatchment for plowed snow.
Definition Snow.hpp:129
std::vector< double > fwfrac
Free water capacity fraction.
Definition Snow.hpp:80
double removed
Cumulative snow plowed out of system (ft3)
Definition Snow.hpp:135
double adc_perv[10]
Definition Snow.hpp:119
std::vector< double > dhmin
Min melt coeff (winter solstice) (ft/deg-F/sec)
Definition Snow.hpp:78
std::vector< double > asc
Computed areal snow coverage (0–1), per subarea.
Definition Snow.hpp:115
std::vector< double > sbws
Snow water equiv at end of new-snow ADC.
Definition Snow.hpp:114
std::vector< double > coldc
Cold content (ft water equiv)
Definition Snow.hpp:70
std::vector< double > wsnow
Snow water equivalent (ft)
Definition Snow.hpp:68
double adc_imperv[10]
Definition Snow.hpp:118
std::vector< double > age
Definition Snow.hpp:100
std::vector< double > awe
Areal depletion index.
Definition Snow.hpp:72
double tipm
ATI weighting factor.
Definition Snow.hpp:132
int n_subcatch
Definition Snow.hpp:65
double rnm
Negative melt ratio.
Definition Snow.hpp:133
std::vector< double > tbase
Base melt temperature (deg F)
Definition Snow.hpp:76
std::vector< double > imelt
Melt rate output (ft/sec)
Definition Snow.hpp:73
std::vector< double > fArea
Fraction of total area for each subarea.
Definition Snow.hpp:83
std::vector< double > out_age
Definition Snow.hpp:109
std::vector< double > snn
Plowable fraction of impervious area.
Definition Snow.hpp:122
std::vector< double > si
Snow depth for 100% cover (ft)
Definition Snow.hpp:112
void resize(int n)
Definition Snow.cpp:37
double season
Current snowmelt season factor (-1 to +1)
Definition Snow.hpp:134
std::vector< double > fw
Free water in pack (ft)
Definition Snow.hpp:69
std::vector< double > sba
Snow coverage area at start of new-snow ADC.
Definition Snow.hpp:113
bool track_age
Definition Snow.hpp:150
std::vector< double > dhmax
Max melt coeff (summer solstice) (ft/deg-F/sec)
Definition Snow.hpp:79
std::vector< double > ati
Antecedent temperature index (deg F)
Definition Snow.hpp:71
std::vector< double > dhm
Degree-day melt factor (ft/deg-F/sec)
Definition Snow.hpp:77
std::vector< double > weplow
Depth at which plowing begins (ft)
Definition Snow.hpp:125