16#ifndef OPENSWMM_SUBCATCHMENTS_H
17#define OPENSWMM_SUBCATCHMENTS_H
166 double f0,
double fmin,
167 double decay,
double dry_time);
171 double suction,
double conductivity,
172 double initial_deficit);
323 double* f0,
double* fmin,
324 double* decay,
double* dry_time);
336 double* suction,
double* conductivity,
489 int pollutant_idx,
double* conc);
513 double* buf,
int count);
void * SWMM_Engine
Opaque handle to an OpenSWMM Engine instance.
Definition openswmm_callbacks.h:35
OpenSWMM Engine — primary transparent C API (master header).
#define SWMM_ENGINE_API
Definition openswmm_engine.h:87
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:190
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:342
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:382
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:254
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:43
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:110
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:222
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:492
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:286
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:246
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:101
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:479
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:159
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:146
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:354
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:426
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:238
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:262
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:214
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:65
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:137
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:315
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:403
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:467
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:307
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:329
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:362
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:370
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:32
SWMM_ENGINE_API int swmm_subcatch_set_area(SWMM_Engine engine, int idx, double area)
Set the subcatchment area.
Definition openswmm_subcatchments_impl.cpp:74
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:518
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:434
SWMM_ENGINE_API int swmm_subcatch_get_area(SWMM_Engine engine, int idx, double *area)
Get the subcatchment area.
Definition openswmm_subcatchments_impl.cpp:206
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:459
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:175
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:83
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:270
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:509
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:128
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:295
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:119
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:230
SWMM_ENGINE_API int swmm_subcatch_count(SWMM_Engine engine)
Get the total number of subcatchments in the model.
Definition openswmm_subcatchments_impl.cpp:22
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:442
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:278
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:92
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:450
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:27