OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm_subcatchments.h
Go to the documentation of this file.
1
16#ifndef OPENSWMM_SUBCATCHMENTS_H
17#define OPENSWMM_SUBCATCHMENTS_H
18
19#include "openswmm_engine.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25/* =========================================================================
26 * Identity
27 * ========================================================================= */
28
35
42SWMM_ENGINE_API int swmm_subcatch_index(SWMM_Engine engine, const char* id);
43
50SWMM_ENGINE_API const char* swmm_subcatch_id(SWMM_Engine engine, int idx);
51
52/* =========================================================================
53 * Creation (BUILDING or OPENED — "editable" states)
54 * ========================================================================= */
55
69SWMM_ENGINE_API int swmm_subcatch_add(SWMM_Engine engine, const char* id);
70
71/* =========================================================================
72 * Property setters (BUILDING or OPENED)
73 * ========================================================================= */
74
82SWMM_ENGINE_API int swmm_subcatch_set_outlet(SWMM_Engine engine, int idx, int node_idx);
83
91SWMM_ENGINE_API int swmm_subcatch_set_area(SWMM_Engine engine, int idx, double area);
92
100SWMM_ENGINE_API int swmm_subcatch_set_width(SWMM_Engine engine, int idx, double width);
101
109SWMM_ENGINE_API int swmm_subcatch_set_slope(SWMM_Engine engine, int idx, double slope);
110
118SWMM_ENGINE_API int swmm_subcatch_set_imperv_pct(SWMM_Engine engine, int idx, double pct);
119
127SWMM_ENGINE_API int swmm_subcatch_set_n_imperv(SWMM_Engine engine, int idx, double n);
128
136SWMM_ENGINE_API int swmm_subcatch_set_n_perv(SWMM_Engine engine, int idx, double n);
137
145SWMM_ENGINE_API int swmm_subcatch_set_ds_imperv(SWMM_Engine engine, int idx, double ds);
146
154SWMM_ENGINE_API int swmm_subcatch_set_ds_perv(SWMM_Engine engine, int idx, double ds);
155
163SWMM_ENGINE_API int swmm_subcatch_set_gage(SWMM_Engine engine, int idx, int gage_idx);
164
165/* --- Infiltration parameters (BUILDING or OPENED) --- */
166
169 double f0, double fmin,
170 double decay, double dry_time);
171
174 double suction, double conductivity,
175 double initial_deficit);
176
179 double cn);
180
181/* =========================================================================
182 * Property getters
183 * ========================================================================= */
184
192SWMM_ENGINE_API int swmm_subcatch_get_area(SWMM_Engine engine, int idx, double* area);
193
201SWMM_ENGINE_API int swmm_subcatch_get_imperv_pct(SWMM_Engine engine, int idx, double* pct);
202
210SWMM_ENGINE_API int swmm_subcatch_get_outlet(SWMM_Engine engine, int idx, int* node_idx);
211
219SWMM_ENGINE_API int swmm_subcatch_get_width(SWMM_Engine engine, int idx, double* w);
220
228SWMM_ENGINE_API int swmm_subcatch_get_slope(SWMM_Engine engine, int idx, double* s);
229
237SWMM_ENGINE_API int swmm_subcatch_get_n_imperv(SWMM_Engine engine, int idx, double* n);
238
246SWMM_ENGINE_API int swmm_subcatch_get_n_perv(SWMM_Engine engine, int idx, double* n);
247
255SWMM_ENGINE_API int swmm_subcatch_get_ds_imperv(SWMM_Engine engine, int idx, double* ds);
256
264SWMM_ENGINE_API int swmm_subcatch_get_ds_perv(SWMM_Engine engine, int idx, double* ds);
265
273SWMM_ENGINE_API int swmm_subcatch_get_gage(SWMM_Engine engine, int idx, int* gage_idx);
274
287SWMM_ENGINE_API int swmm_subcatch_set_outlet_subcatch(SWMM_Engine engine, int idx, int sc_idx);
288
296SWMM_ENGINE_API int swmm_subcatch_get_outlet_subcatch(SWMM_Engine engine, int idx, int* sc_idx);
297
298/* =========================================================================
299 * Infiltration getters
300 * ========================================================================= */
301
313SWMM_ENGINE_API int swmm_subcatch_get_infil_model(SWMM_Engine engine, int idx, int* model);
314
326 double* f0, double* fmin,
327 double* decay, double* dry_time);
328
339 double* suction, double* conductivity,
340 double* deficit);
341
350
351/* =========================================================================
352 * Subcatchment statistics
353 * ========================================================================= */
354
362SWMM_ENGINE_API int swmm_subcatch_get_stat_precip(SWMM_Engine engine, int idx, double* vol);
363
371SWMM_ENGINE_API int swmm_subcatch_get_stat_runoff_vol(SWMM_Engine engine, int idx, double* vol);
372
380SWMM_ENGINE_API int swmm_subcatch_get_stat_max_runoff(SWMM_Engine engine, int idx, double* rate);
381
382/* =========================================================================
383 * Subcatchment landuse coverage
384 * ========================================================================= */
385
398SWMM_ENGINE_API int swmm_subcatch_set_coverage(SWMM_Engine engine, int sc_idx, int lu_idx, double fraction);
399
408SWMM_ENGINE_API int swmm_subcatch_get_coverage(SWMM_Engine engine, int sc_idx, int lu_idx, double* fraction);
409
410/* =========================================================================
411 * Hydraulic state getters
412 * ========================================================================= */
413
421SWMM_ENGINE_API int swmm_subcatch_get_runoff(SWMM_Engine engine, int idx, double* runoff);
422
430SWMM_ENGINE_API int swmm_subcatch_get_groundwater(SWMM_Engine engine, int idx, double* gw_flow);
431
439SWMM_ENGINE_API int swmm_subcatch_get_rainfall(SWMM_Engine engine, int idx, double* rainfall);
440
448SWMM_ENGINE_API int swmm_subcatch_get_snow_depth(SWMM_Engine engine, int idx, double* depth);
449
457SWMM_ENGINE_API int swmm_subcatch_get_evap(SWMM_Engine engine, int idx, double* evap);
458
466SWMM_ENGINE_API int swmm_subcatch_get_infil(SWMM_Engine engine, int idx, double* infil);
467
468/* --- Runtime forcing (RUNNING state only) --- */
469
477SWMM_ENGINE_API int swmm_subcatch_set_rainfall(SWMM_Engine engine, int idx, double rainfall);
478
479/* =========================================================================
480 * Water quality
481 * ========================================================================= */
482
491SWMM_ENGINE_API int swmm_subcatch_get_quality(SWMM_Engine engine, int subcatch_idx,
492 int pollutant_idx, double* conc);
493
494/* =========================================================================
495 * Bulk access
496 * ========================================================================= */
497
505SWMM_ENGINE_API int swmm_subcatch_get_runoff_bulk(SWMM_Engine engine, double* buf, int count);
506
516 double* buf, int count);
517
518/* =========================================================================
519 * Phase 3 bulk getters — added in OpenSWMM 6.0.0 to eliminate the N
520 * round-trip cost of per-subcatchment scalar accessors. All return a
521 * caller-allocated @c double buffer of length @c count (clipped at
522 * @c swmm_subcatch_count()); the IDs variant returns a stride-packed
523 * UTF-8 buffer following the same format as @ref swmm_node_get_ids_bulk.
524 * ========================================================================= */
525
531SWMM_ENGINE_API int swmm_subcatch_get_rainfall_bulk(SWMM_Engine engine, double* buf, int count);
532
539SWMM_ENGINE_API int swmm_subcatch_get_evap_bulk(SWMM_Engine engine, double* buf, int count);
540
547SWMM_ENGINE_API int swmm_subcatch_get_infil_bulk(SWMM_Engine engine, double* buf, int count);
548
557SWMM_ENGINE_API int swmm_subcatch_get_snow_depth_bulk(SWMM_Engine engine, double* buf, int count);
558
574 char* buf,
575 int stride,
576 int count);
577
578/* =========================================================================
579 * Ponded quality (mass in standing water between events)
580 * ========================================================================= */
581
584 int subcatch_idx, int pollutant_idx, double* mass);
585
588 int subcatch_idx, int pollutant_idx, double mass);
589
593SWMM_ENGINE_API int swmm_subcatch_rename(SWMM_Engine engine, int idx, const char* newId);
594
595/* =========================================================================
596 * Aquifer definitions ([AQUIFERS] section) — Slice BM.0 / BP.6.6.4
597 * ========================================================================= */
598
605
612SWMM_ENGINE_API int swmm_aquifer_index(SWMM_Engine engine, const char* id);
613
620SWMM_ENGINE_API const char* swmm_aquifer_id(SWMM_Engine engine, int idx);
621
633SWMM_ENGINE_API int swmm_aquifer_add(SWMM_Engine engine, const char* id);
634
635/* =========================================================================
636 * Snowpack definitions ([SNOWPACKS] section) — Slice BM.0 / BP.6.6.5
637 * ========================================================================= */
638
645
652SWMM_ENGINE_API int swmm_snowpack_index(SWMM_Engine engine, const char* id);
653
660SWMM_ENGINE_API const char* swmm_snowpack_id(SWMM_Engine engine, int idx);
661
675SWMM_ENGINE_API int swmm_snowpack_add(SWMM_Engine engine, const char* id);
676
677/* =========================================================================
678 * Tag — free-form string label from the INP `[TAGS]` section
679 * ========================================================================= */
680
683 char* buf, int buflen);
684
687 const char* tag);
688
689#ifdef __cplusplus
690} /* extern "C" */
691#endif
692
693#endif /* OPENSWMM_SUBCATCHMENTS_H */
#define SWMM_ENGINE_API
Definition openswmm_2d.h:37
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:35
OpenSWMM Engine — primary transparent C API (master header).
SWMM_ENGINE_API int swmm_subcatch_set_infil_curve_number(SWMM_Engine engine, int idx, double cn)
Set Curve Number infiltration parameter.
Definition openswmm_subcatchments_impl.cpp:198
SWMM_ENGINE_API int swmm_subcatch_get_infil_curve_number(SWMM_Engine engine, int idx, double *cn)
Get the Curve Number infiltration parameter for a subcatchment.
Definition openswmm_subcatchments_impl.cpp:350
SWMM_ENGINE_API int swmm_subcatch_set_coverage(SWMM_Engine engine, int sc_idx, int lu_idx, double fraction)
Set the land use coverage fraction for a subcatchment.
Definition openswmm_subcatchments_impl.cpp:390
SWMM_ENGINE_API int swmm_subcatch_get_n_perv(SWMM_Engine engine, int idx, double *n)
Get Manning's n for the pervious area.
Definition openswmm_subcatchments_impl.cpp:262
SWMM_ENGINE_API int swmm_subcatch_add(SWMM_Engine engine, const char *id)
Add a new subcatchment to the model.
Definition openswmm_subcatchments_impl.cpp:47
SWMM_ENGINE_API int swmm_subcatch_set_n_imperv(SWMM_Engine engine, int idx, double n)
Set Manning's n for the impervious area.
Definition openswmm_subcatchments_impl.cpp:118
SWMM_ENGINE_API int swmm_subcatch_get_ids_bulk(SWMM_Engine engine, char *buf, int stride, int count)
Get subcatchment IDs for all subcatchments in a single call (stride-packed UTF-8).
Definition openswmm_subcatchments_impl.cpp:593
SWMM_ENGINE_API int swmm_subcatch_get_outlet(SWMM_Engine engine, int idx, int *node_idx)
Get the outlet node index for a subcatchment.
Definition openswmm_subcatchments_impl.cpp:230
SWMM_ENGINE_API int swmm_subcatch_get_quality(SWMM_Engine engine, int subcatch_idx, int pollutant_idx, double *conc)
Get the pollutant concentration in subcatchment runoff.
Definition openswmm_subcatchments_impl.cpp:500
SWMM_ENGINE_API int swmm_subcatch_rename(SWMM_Engine engine, int idx, const char *newId)
Rename the subcatchment at idx to newId. Returns SWMM_ERR_BADPARAM if newId is null,...
Definition openswmm_subcatchments_impl.cpp:645
SWMM_ENGINE_API int swmm_subcatch_set_outlet_subcatch(SWMM_Engine engine, int idx, int sc_idx)
Set a subcatchment's outlet to another subcatchment (cascading).
Definition openswmm_subcatchments_impl.cpp:294
SWMM_ENGINE_API int swmm_subcatch_get_n_imperv(SWMM_Engine engine, int idx, double *n)
Get Manning's n for the impervious area.
Definition openswmm_subcatchments_impl.cpp:254
SWMM_ENGINE_API int swmm_subcatch_set_imperv_pct(SWMM_Engine engine, int idx, double pct)
Set the percentage of impervious area.
Definition openswmm_subcatchments_impl.cpp:109
SWMM_ENGINE_API int swmm_subcatch_set_rainfall(SWMM_Engine engine, int idx, double rainfall)
Override rainfall on a subcatchment for the current timestep.
Definition openswmm_subcatchments_impl.cpp:487
SWMM_ENGINE_API int swmm_subcatch_set_infil_horton(SWMM_Engine engine, int idx, double f0, double fmin, double decay, double dry_time)
Set Horton infiltration parameters.
Definition openswmm_subcatchments_impl.cpp:167
SWMM_ENGINE_API int swmm_subcatch_set_gage(SWMM_Engine engine, int idx, int gage_idx)
Assign a rain gage to a subcatchment.
Definition openswmm_subcatchments_impl.cpp:154
SWMM_ENGINE_API int swmm_subcatch_get_stat_precip(SWMM_Engine engine, int idx, double *vol)
Get the total precipitation volume at a subcatchment.
Definition openswmm_subcatchments_impl.cpp:362
SWMM_ENGINE_API int swmm_subcatch_get_runoff(SWMM_Engine engine, int idx, double *runoff)
Get the current runoff rate from a subcatchment.
Definition openswmm_subcatchments_impl.cpp:434
SWMM_ENGINE_API const char * swmm_snowpack_id(SWMM_Engine engine, int idx)
Get the string identifier of a snowpack definition by index.
Definition openswmm_subcatchments_impl.cpp:749
SWMM_ENGINE_API int swmm_aquifer_index(SWMM_Engine engine, const char *id)
Look up an aquifer's zero-based index by its string identifier.
Definition openswmm_subcatchments_impl.cpp:689
SWMM_ENGINE_API int swmm_subcatch_get_slope(SWMM_Engine engine, int idx, double *s)
Get the average surface slope.
Definition openswmm_subcatchments_impl.cpp:246
SWMM_ENGINE_API int swmm_aquifer_add(SWMM_Engine engine, const char *id)
Add a new aquifer definition with default (zero) parameters.
Definition openswmm_subcatchments_impl.cpp:705
SWMM_ENGINE_API int swmm_subcatch_get_ds_imperv(SWMM_Engine engine, int idx, double *ds)
Get the depression storage depth for the impervious area.
Definition openswmm_subcatchments_impl.cpp:270
SWMM_ENGINE_API int swmm_subcatch_get_imperv_pct(SWMM_Engine engine, int idx, double *pct)
Get the percentage of impervious area.
Definition openswmm_subcatchments_impl.cpp:222
SWMM_ENGINE_API int swmm_subcatch_set_outlet(SWMM_Engine engine, int idx, int node_idx)
Set the outlet node that receives runoff from this subcatchment.
Definition openswmm_subcatchments_impl.cpp:73
SWMM_ENGINE_API int swmm_subcatch_get_infil_bulk(SWMM_Engine engine, double *buf, int count)
Get infiltration losses for all subcatchments in a single call.
Definition openswmm_subcatchments_impl.cpp:572
SWMM_ENGINE_API int swmm_subcatch_get_snow_depth_bulk(SWMM_Engine engine, double *buf, int count)
Get snow depths for all subcatchments in a single call.
Definition openswmm_subcatchments_impl.cpp:582
SWMM_ENGINE_API int swmm_subcatch_set_tag(SWMM_Engine engine, int idx, const char *tag)
Set or clear the subcatchment's tag. Null/empty clears. Persists across rename.
Definition openswmm_subcatchments_impl.cpp:669
SWMM_ENGINE_API int swmm_subcatch_set_ds_perv(SWMM_Engine engine, int idx, double ds)
Set the depression storage depth for the pervious area.
Definition openswmm_subcatchments_impl.cpp:145
SWMM_ENGINE_API int swmm_subcatch_get_infil_horton(SWMM_Engine engine, int idx, double *f0, double *fmin, double *decay, double *dry_time)
Get Horton infiltration parameters for a subcatchment.
Definition openswmm_subcatchments_impl.cpp:323
SWMM_ENGINE_API int swmm_subcatch_get_coverage(SWMM_Engine engine, int sc_idx, int lu_idx, double *fraction)
Get the land use coverage fraction for a subcatchment.
Definition openswmm_subcatchments_impl.cpp:411
SWMM_ENGINE_API int swmm_subcatch_get_tag(SWMM_Engine engine, int idx, char *buf, int buflen)
Read the subcatchment's tag into buf (NUL-terminated, truncated if too small).
Definition openswmm_subcatchments_impl.cpp:654
SWMM_ENGINE_API int swmm_subcatch_get_infil(SWMM_Engine engine, int idx, double *infil)
Get the current infiltration rate at a subcatchment.
Definition openswmm_subcatchments_impl.cpp:475
SWMM_ENGINE_API const char * swmm_aquifer_id(SWMM_Engine engine, int idx)
Get the string identifier of an aquifer definition by index.
Definition openswmm_subcatchments_impl.cpp:698
SWMM_ENGINE_API int swmm_subcatch_get_infil_model(SWMM_Engine engine, int idx, int *model)
Get the infiltration model type for a subcatchment.
Definition openswmm_subcatchments_impl.cpp:315
SWMM_ENGINE_API int swmm_subcatch_get_infil_green_ampt(SWMM_Engine engine, int idx, double *suction, double *conductivity, double *deficit)
Get Green–Ampt infiltration parameters for a subcatchment.
Definition openswmm_subcatchments_impl.cpp:337
SWMM_ENGINE_API int swmm_subcatch_get_evap_bulk(SWMM_Engine engine, double *buf, int count)
Get evaporation losses for all subcatchments in a single call.
Definition openswmm_subcatchments_impl.cpp:562
SWMM_ENGINE_API int swmm_subcatch_get_stat_runoff_vol(SWMM_Engine engine, int idx, double *vol)
Get the total runoff volume from a subcatchment.
Definition openswmm_subcatchments_impl.cpp:370
SWMM_ENGINE_API int swmm_subcatch_get_stat_max_runoff(SWMM_Engine engine, int idx, double *rate)
Get the maximum runoff rate from a subcatchment.
Definition openswmm_subcatchments_impl.cpp:378
SWMM_ENGINE_API int swmm_snowpack_count(SWMM_Engine engine)
Get the total number of snowpack definitions in the model.
Definition openswmm_subcatchments_impl.cpp:735
SWMM_ENGINE_API const char * swmm_subcatch_id(SWMM_Engine engine, int idx)
Get the string identifier of a subcatchment by index.
Definition openswmm_subcatchments_impl.cpp:36
SWMM_ENGINE_API int swmm_subcatch_set_area(SWMM_Engine engine, int idx, double area)
Set the subcatchment area.
Definition openswmm_subcatchments_impl.cpp:82
SWMM_ENGINE_API int swmm_aquifer_count(SWMM_Engine engine)
Get the total number of aquifer definitions in the model.
Definition openswmm_subcatchments_impl.cpp:684
SWMM_ENGINE_API int swmm_snowpack_add(SWMM_Engine engine, const char *id)
Add a new snowpack definition with default (zero) parameters.
Definition openswmm_subcatchments_impl.cpp:756
SWMM_ENGINE_API int swmm_subcatch_get_ponded_quality(SWMM_Engine engine, int subcatch_idx, int pollutant_idx, double *mass)
Get ponded quality mass for a subcatchment-pollutant pair.
Definition openswmm_subcatchments_impl.cpp:617
SWMM_ENGINE_API int swmm_subcatch_get_quality_bulk(SWMM_Engine engine, int pollutant_idx, double *buf, int count)
Get pollutant concentrations for all subcatchments for one pollutant.
Definition openswmm_subcatchments_impl.cpp:526
SWMM_ENGINE_API int swmm_subcatch_get_groundwater(SWMM_Engine engine, int idx, double *gw_flow)
Get the current groundwater flow from a subcatchment.
Definition openswmm_subcatchments_impl.cpp:442
SWMM_ENGINE_API int swmm_subcatch_get_area(SWMM_Engine engine, int idx, double *area)
Get the subcatchment area.
Definition openswmm_subcatchments_impl.cpp:214
SWMM_ENGINE_API int swmm_subcatch_get_evap(SWMM_Engine engine, int idx, double *evap)
Get the current evaporation rate at a subcatchment.
Definition openswmm_subcatchments_impl.cpp:467
SWMM_ENGINE_API int swmm_subcatch_set_infil_green_ampt(SWMM_Engine engine, int idx, double suction, double conductivity, double initial_deficit)
Set Green-Ampt infiltration parameters.
Definition openswmm_subcatchments_impl.cpp:183
SWMM_ENGINE_API int swmm_subcatch_set_width(SWMM_Engine engine, int idx, double width)
Set the characteristic overland flow width.
Definition openswmm_subcatchments_impl.cpp:91
SWMM_ENGINE_API int swmm_subcatch_get_ds_perv(SWMM_Engine engine, int idx, double *ds)
Get the depression storage depth for the pervious area.
Definition openswmm_subcatchments_impl.cpp:278
SWMM_ENGINE_API int swmm_subcatch_get_runoff_bulk(SWMM_Engine engine, double *buf, int count)
Get runoff rates for all subcatchments in a single call.
Definition openswmm_subcatchments_impl.cpp:517
SWMM_ENGINE_API int swmm_subcatch_set_ds_imperv(SWMM_Engine engine, int idx, double ds)
Set the depression storage depth for the impervious area.
Definition openswmm_subcatchments_impl.cpp:136
SWMM_ENGINE_API int swmm_subcatch_get_rainfall_bulk(SWMM_Engine engine, double *buf, int count)
Get rainfall rates for all subcatchments in a single call.
Definition openswmm_subcatchments_impl.cpp:552
SWMM_ENGINE_API int swmm_subcatch_get_outlet_subcatch(SWMM_Engine engine, int idx, int *sc_idx)
Get the downstream subcatchment index (for cascading outlets).
Definition openswmm_subcatchments_impl.cpp:303
SWMM_ENGINE_API int swmm_subcatch_set_n_perv(SWMM_Engine engine, int idx, double n)
Set Manning's n for the pervious area.
Definition openswmm_subcatchments_impl.cpp:127
SWMM_ENGINE_API int swmm_subcatch_get_width(SWMM_Engine engine, int idx, double *w)
Get the characteristic overland flow width.
Definition openswmm_subcatchments_impl.cpp:238
SWMM_ENGINE_API int swmm_subcatch_count(SWMM_Engine engine)
Get the total number of subcatchments in the model.
Definition openswmm_subcatchments_impl.cpp:26
SWMM_ENGINE_API int swmm_subcatch_get_rainfall(SWMM_Engine engine, int idx, double *rainfall)
Get the current rainfall intensity at a subcatchment.
Definition openswmm_subcatchments_impl.cpp:450
SWMM_ENGINE_API int swmm_subcatch_get_gage(SWMM_Engine engine, int idx, int *gage_idx)
Get the rain gage index assigned to a subcatchment.
Definition openswmm_subcatchments_impl.cpp:286
SWMM_ENGINE_API int swmm_subcatch_set_slope(SWMM_Engine engine, int idx, double slope)
Set the average surface slope.
Definition openswmm_subcatchments_impl.cpp:100
SWMM_ENGINE_API int swmm_snowpack_index(SWMM_Engine engine, const char *id)
Look up a snowpack's zero-based index by its string identifier.
Definition openswmm_subcatchments_impl.cpp:740
SWMM_ENGINE_API int swmm_subcatch_get_snow_depth(SWMM_Engine engine, int idx, double *depth)
Get the current snow depth on a subcatchment.
Definition openswmm_subcatchments_impl.cpp:458
SWMM_ENGINE_API int swmm_subcatch_index(SWMM_Engine engine, const char *id)
Look up a subcatchment's zero-based index by its string identifier.
Definition openswmm_subcatchments_impl.cpp:31
SWMM_ENGINE_API int swmm_subcatch_set_ponded_quality(SWMM_Engine engine, int subcatch_idx, int pollutant_idx, double mass)
Set ponded quality mass for a subcatchment-pollutant pair.
Definition openswmm_subcatchments_impl.cpp:631