15#ifndef OPENSWMM_ENGINE_INFLOW_DATA_HPP
16#define OPENSWMM_ENGINE_INFLOW_DATA_HPP
39 void add(
int ni,
const std::string& cons,
const std::string& ts,
40 const std::string& type,
double mf,
double sf,
double base,
41 const std::string& pat) {
51 if (idx < 0 || idx >=
count())
return;
52 const auto u =
static_cast<std::size_t
>(idx);
74 std::vector<std::string>
pat1;
75 std::vector<std::string>
pat2;
76 std::vector<std::string>
pat3;
77 std::vector<std::string>
pat4;
79 void add(
int ni,
const std::string& cons,
double avg,
80 const std::string& p1,
const std::string& p2,
81 const std::string& p3,
const std::string& p4) {
84 pat1.push_back(p1);
pat2.push_back(p2);
85 pat3.push_back(p3);
pat4.push_back(p4);
89 if (idx < 0 || idx >=
count())
return;
90 const auto u =
static_cast<std::size_t
>(idx);
112 void add(
int ni,
const std::string& uh,
double area) {
118 if (idx < 0 || idx >=
count())
return;
119 const auto u =
static_cast<std::size_t
>(idx);
152 void add_gage(
const std::string& uh_name,
const std::string& gage) {
204 void add(
const std::string& name,
int type,
const std::vector<double>& facs) {
Definition NodeCoupling.cpp:15
Definition InflowData.hpp:68
std::vector< std::string > constituent
"FLOW" or pollutant name
Definition InflowData.hpp:72
void add(int ni, const std::string &cons, double avg, const std::string &p1, const std::string &p2, const std::string &p3, const std::string &p4)
Definition InflowData.hpp:79
std::vector< int > node_idx
Target node.
Definition InflowData.hpp:71
std::vector< std::string > pat1
Monthly pattern name.
Definition InflowData.hpp:74
std::vector< std::string > pat2
Daily pattern name.
Definition InflowData.hpp:75
std::vector< double > avg_value
Average value.
Definition InflowData.hpp:73
void erase(int idx)
Definition InflowData.hpp:88
std::vector< std::string > pat4
Weekend pattern name.
Definition InflowData.hpp:77
int count() const
Definition InflowData.hpp:69
std::vector< std::string > pat3
Hourly pattern name.
Definition InflowData.hpp:76
Definition InflowData.hpp:27
std::vector< std::string > pattern_name
Baseline pattern name.
Definition InflowData.hpp:37
std::vector< std::string > constituent
"FLOW" or pollutant name
Definition InflowData.hpp:31
std::vector< int > node_idx
Target node index.
Definition InflowData.hpp:30
std::vector< double > baseline
Baseline value.
Definition InflowData.hpp:36
int count() const
Definition InflowData.hpp:28
std::vector< std::string > inflow_type
"FLOW","CONCEN","MASS"
Definition InflowData.hpp:33
std::vector< double > s_factor
Scaling factor.
Definition InflowData.hpp:35
std::vector< double > m_factor
Multiplier factor.
Definition InflowData.hpp:34
std::vector< std::string > ts_name
Timeseries name ("" if none)
Definition InflowData.hpp:32
void add(int ni, const std::string &cons, const std::string &ts, const std::string &type, double mf, double sf, double base, const std::string &pat)
Definition InflowData.hpp:39
void erase(int idx)
Definition InflowData.hpp:50
Definition InflowData.hpp:197
std::vector< std::vector< double > > factors
Up to 24 multiplier values.
Definition InflowData.hpp:202
void add(const std::string &name, int type, const std::vector< double > &facs)
Definition InflowData.hpp:204
std::vector< std::string > names
Pattern name.
Definition InflowData.hpp:200
int count() const
Definition InflowData.hpp:198
std::vector< int > types
0=MONTHLY,1=DAILY,2=HOURLY,3=WEEKEND
Definition InflowData.hpp:201
Definition InflowData.hpp:105
std::vector< std::string > uh_name
Unit hydrograph name.
Definition InflowData.hpp:109
std::vector< double > sewer_area
Tributary sewer area.
Definition InflowData.hpp:110
void add(int ni, const std::string &uh, double area)
Definition InflowData.hpp:112
std::vector< int > node_idx
Target node.
Definition InflowData.hpp:108
int count() const
Definition InflowData.hpp:106
void erase(int idx)
Definition InflowData.hpp:117
Definition InflowData.hpp:185
int count() const
Definition InflowData.hpp:186
void add(const RDIIDecayEntry &e)
Definition InflowData.hpp:190
std::vector< RDIIDecayEntry > entries
Definition InflowData.hpp:188
Definition InflowData.hpp:174
double k_T
Thermal recovery rate at T_ref (1/hr)
Definition InflowData.hpp:179
double k_0
Base recovery rate (1/hr)
Definition InflowData.hpp:178
double k_dep
Depletion rate (1/mm) — temperature-independent.
Definition InflowData.hpp:177
double theta_rec
Temperature sensitivity (1/deg C)
Definition InflowData.hpp:181
int response
0=SHORT, 1=MEDIUM, 2=LONG
Definition InflowData.hpp:176
std::string uh_name
Matches UnitHydEntry::name.
Definition InflowData.hpp:175
double T_freeze
Recovery suppressed when T <= T_freeze (deg C)
Definition InflowData.hpp:182
double T_ref
Reference temperature (deg C)
Definition InflowData.hpp:180
Definition InflowData.hpp:143
std::vector< std::string > gage_assignments
Rain gage names associated with each UH group (name → gage name)
Definition InflowData.hpp:149
std::vector< std::string > gage_names
Assigned rain gage names.
Definition InflowData.hpp:150
void add(const UnitHydEntry &e)
Definition InflowData.hpp:157
std::vector< UnitHydEntry > entries
Definition InflowData.hpp:146
void add_gage(const std::string &uh_name, const std::string &gage)
Definition InflowData.hpp:152
int count() const
Definition InflowData.hpp:144
Definition InflowData.hpp:130
double drecov
IA recovery rate.
Definition InflowData.hpp:139
std::string name
UH group name.
Definition InflowData.hpp:131
double t
Time to peak (hours)
Definition InflowData.hpp:136
int response
0=SHORT, 1=MEDIUM, 2=LONG
Definition InflowData.hpp:134
double dmax
Max initial abstraction depth.
Definition InflowData.hpp:138
double r
Fraction of rainfall volume.
Definition InflowData.hpp:135
int month
Month index (0-11, or -1 for ALL)
Definition InflowData.hpp:133
std::string gage_name
Associated rain gage name.
Definition InflowData.hpp:132
double dinit
Initial IA used.
Definition InflowData.hpp:140
double k
Recession-limb-to-peak-time ratio (tBase = t*(1+k); k >= 0)
Definition InflowData.hpp:137