14#ifndef OPENSWMM_LEGACY_SOLVER_H_
15#define OPENSWMM_LEGACY_SOLVER_H_
675#define SWMM_MAX_FLOW_CLASSES 7
850 const char *inputFile,
const char *reportFile,
const char *outputFile,
progress_callback callback);
1115 int *hour,
int *minute,
int *second,
int *dayOfWeek);
1128 int hour,
int minute,
int second);
#define EXPORT_OPENSWMMCORE_SOLVER_API
Definition openswmm_legacy_solver_export.h:15
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_setLidDrain(int lidIndex, double coeff, double expon, double offset)
Set the underdrain flow parameters of a LID process at runtime.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_clearTreatment(int nodeIndex, int pollutantIndex)
Remove the treatment expression for a node/pollutant pair.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_saveHotStart(const char *hotStartFile)
Save hotstart file for SWMM simulation at current time.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_stride(int strideStep, double *elapsedTime)
Perform a SWMM simulation step with a stride step and return the elapsed time.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_run_with_callback(const char *inputFile, const char *reportFile, const char *outputFile, progress_callback callback)
Run a SWMM simulation with the given input file, report file, and output file with a progress callbac...
swmm_AquiferProperty
Enumeration of aquifer properties used in SWMM5.
Definition openswmm_solver.h:469
@ swmm_AQUIFER_UPPER_MOISTURE
Initial upper-zone moisture (volumetric fraction, pre-start-only)
Definition openswmm_solver.h:493
@ swmm_AQUIFER_CONDUCT_SLOPE
Conductivity slope (unitless)
Definition openswmm_solver.h:479
@ swmm_AQUIFER_LOWER_EVAP_DEPTH
Lower-zone evaporation depth (ft or m)
Definition openswmm_solver.h:485
@ swmm_AQUIFER_BOTTOM_ELEV
Aquifer bottom elevation (ft or m, pre-start-only)
Definition openswmm_solver.h:489
@ swmm_AQUIFER_LOWER_LOSS_COEFF
Lower-zone seepage-loss coefficient (in/hr or mm/hr)
Definition openswmm_solver.h:487
@ swmm_AQUIFER_WILTING_POINT
Wilting point (volumetric fraction, pre-start-only)
Definition openswmm_solver.h:473
@ swmm_AQUIFER_UPPER_EVAP_FRAC
Upper-zone evaporation fraction (0-1)
Definition openswmm_solver.h:483
@ swmm_AQUIFER_CONDUCTIVITY
Saturated hydraulic conductivity (in/hr or mm/hr)
Definition openswmm_solver.h:477
@ swmm_AQUIFER_POROSITY
Porosity (volumetric fraction, pre-start-only)
Definition openswmm_solver.h:471
@ swmm_AQUIFER_TENSION_SLOPE
Tension slope (ft or m)
Definition openswmm_solver.h:481
@ swmm_AQUIFER_FIELD_CAPACITY
Field capacity (volumetric fraction, pre-start-only)
Definition openswmm_solver.h:475
@ swmm_AQUIFER_WATER_TABLE_ELEV
Initial water table elevation (ft or m, pre-start-only)
Definition openswmm_solver.h:491
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_step(double *elapsedTime)
Perform a SWMM simulation step and return the elapsed time.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getErrorFromCode(int error_code, char *outErrMsg[1024])
Retrieves the text of the error message that corresponds to the error code number.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getWarnings(void)
Gets the number of warnings issued during a simulation.
swmm_PatternProperty
Enumeration of time-pattern properties used in SWMM5.
Definition openswmm_solver.h:413
@ swmm_PATTERN_TYPE
Pattern type code (read-only): 0 monthly, 1 daily, 2 hourly, 3 weekend.
Definition openswmm_solver.h:419
@ swmm_PATTERN_FACTOR
One multiplier factor (subIndex = factor position)
Definition openswmm_solver.h:415
@ swmm_PATTERN_COUNT
Number of factors in the pattern (read-only)
Definition openswmm_solver.h:417
swmm_PollutProperty
Enumeration of pollutant properties used in SWMM5.
Definition openswmm_solver.h:381
@ swmm_POLLUT_CO_FRACTION
Co-pollutant fraction (0-1)
Definition openswmm_solver.h:395
@ swmm_POLLUT_GW_CONCEN
Groundwater inflow concentration.
Definition openswmm_solver.h:385
@ swmm_POLLUT_SNOW_ONLY
Buildup-only-under-snow flag (0/1)
Definition openswmm_solver.h:397
@ swmm_POLLUT_RAIN_CONCEN
Rain (wet deposition) concentration.
Definition openswmm_solver.h:383
@ swmm_POLLUT_DWF_CONCEN
Dry weather sanitary flow concentration.
Definition openswmm_solver.h:389
@ swmm_POLLUT_RDII_CONCEN
RDII inflow concentration.
Definition openswmm_solver.h:387
@ swmm_POLLUT_KDECAY
First-order decay constant (1/day); read live each step.
Definition openswmm_solver.h:391
@ swmm_POLLUT_INIT_CONCEN
Initial conveyance-network concentration (pre-start only)
Definition openswmm_solver.h:399
@ swmm_POLLUT_CO_POLLUTANT
Co-pollutant index (-1 = none)
Definition openswmm_solver.h:393
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_end(void)
End a SWMM simulation.
double EXPORT_OPENSWMMCORE_SOLVER_API swmm_getValueExpanded(int objType, int property, int index, int subIndex, int pollutantIndex)
Get the value of a property for an object given property, index, and subindex in the SWMM model.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getRunningMassBalErr(float *runoffErr, float *flowErr)
Get the running (timestep-by-timestep) continuity errors while a simulation is in progress.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getNodeStats(int index, swmm_NodeStats *stats)
Get cumulative node statistics.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_setValue(int property, int index, double value)
Set the value of a property for an object of a given property and index in the SWMM model.
swmm_SystemProperty
Enumeration of system properties used in SWMM5.
Definition openswmm_solver.h:501
@ swmm_WINDSPEED
Current wind speed (mph or km/hr; read-only)
Definition openswmm_solver.h:597
@ swmm_API_WINDSPEED
API prescribed wind speed (mph or km/hr). Settable while the simulation is running; overrides the mon...
Definition openswmm_solver.h:602
@ swmm_UNITSYSTEM
Unit system.
Definition openswmm_solver.h:525
@ swmm_LENGTHENINGSTEP
Lengthening step.
Definition openswmm_solver.h:563
@ swmm_SWEEPEND
Sweep end.
Definition openswmm_solver.h:555
@ swmm_IGNORERAINFALL
Ignore rainfall.
Definition openswmm_solver.h:537
@ swmm_MINSURFAREA
Minimum surface area.
Definition openswmm_solver.h:569
@ swmm_EVAPRATE
Current climate-derived evaporation rate (in/day or mm/day), including any monthly adjustments (read-...
Definition openswmm_solver.h:586
@ swmm_COURANTFACTOR
Courant factor.
Definition openswmm_solver.h:567
@ swmm_MAXTRIALS
Maximum trials.
Definition openswmm_solver.h:557
@ swmm_IGNOREROUTING
Ignore routing.
Definition openswmm_solver.h:545
@ swmm_SYSFLOWTOL
System flow tolerance.
Definition openswmm_solver.h:581
@ swmm_MINROUTESTEP
Minimum routing step.
Definition openswmm_solver.h:561
@ swmm_MINSLOPE
Minimum slope.
Definition openswmm_solver.h:571
@ swmm_SKIPSTEADYSTATE
Skip steady state.
Definition openswmm_solver.h:535
@ swmm_QUALERROR
Quality error.
Definition openswmm_solver.h:577
@ swmm_MAXROUTESTEP
Maximum routing step.
Definition openswmm_solver.h:511
@ swmm_SWEEPSTART
Sweep start.
Definition openswmm_solver.h:553
@ swmm_IGNOREQUALITY
Ignore quality.
Definition openswmm_solver.h:547
@ swmm_TEMPERATURE
Current air temperature (deg F or deg C; read-only)
Definition openswmm_solver.h:588
@ swmm_SURCHARGEMETHOD
Surcharge method.
Definition openswmm_solver.h:527
@ swmm_RULESTEP
Rule step.
Definition openswmm_solver.h:551
@ swmm_LATFLOWTOL
Lateral flow tolerance.
Definition openswmm_solver.h:583
@ swmm_ENDDATE
End date.
Definition openswmm_solver.h:521
@ swmm_FLOWERROR
Flow error.
Definition openswmm_solver.h:575
@ swmm_IGNORESNOWMELT
Ignore snowmelt.
Definition openswmm_solver.h:541
@ swmm_STARTDATE
Start date.
Definition openswmm_solver.h:503
@ swmm_EVAP_DRY_ONLY
Evaporation DRY_ONLY option (0/1). Settable while the simulation is running.
Definition openswmm_solver.h:613
@ swmm_INERTIADAMPING
Inertia damping.
Definition openswmm_solver.h:531
@ swmm_CURRENTDATE
Current date.
Definition openswmm_solver.h:505
@ swmm_NOREPORT
No report flag.
Definition openswmm_solver.h:517
@ swmm_IGNORERDII
Ignore RDII.
Definition openswmm_solver.h:539
@ swmm_RUNOFFERROR
Runoff error.
Definition openswmm_solver.h:573
@ swmm_NUMTHREADS
Number of threads.
Definition openswmm_solver.h:559
@ swmm_STARTDRYDAYS
Start dry days.
Definition openswmm_solver.h:565
@ swmm_REPORTSTEP
Reporting step.
Definition openswmm_solver.h:513
@ swmm_API_TEMPERATURE
API prescribed air temperature (deg F or deg C). Settable while the simulation is running; overrides ...
Definition openswmm_solver.h:595
@ swmm_FLOWUNITS
Flow units.
Definition openswmm_solver.h:519
@ swmm_ROUTESTEP
Routing step.
Definition openswmm_solver.h:509
@ swmm_ERROR_CODE
Error code.
Definition openswmm_solver.h:549
@ swmm_API_EVAP
API prescribed system-wide evaporation rate (in/day or mm/day). Settable while the simulation is runn...
Definition openswmm_solver.h:610
@ swmm_ALLOWPONDING
Allow ponding.
Definition openswmm_solver.h:529
@ swmm_HEADTOL
Head tolerance.
Definition openswmm_solver.h:579
@ swmm_ELAPSEDTIME
Elapsed time.
Definition openswmm_solver.h:507
@ swmm_NORMALFLOWLTD
Normal flow limited.
Definition openswmm_solver.h:533
@ swmm_REPORTSTART
Report start.
Definition openswmm_solver.h:523
@ swmm_TOTALSTEPS
Total steps.
Definition openswmm_solver.h:515
@ swmm_IGNOREGROUNDWATER
Ignore groundwater.
Definition openswmm_solver.h:543
swmm_SubcatchProperty
Enumeration of subcatchment properties used in SWMM5 \TODO Add LID properties to this enum.
Definition openswmm_solver.h:126
@ swmm_SUBCATCH_LID_UNIT_RECEIVING_OUTLET_TYPE
The object type of the receiving drain flow.
Definition openswmm_solver.h:194
@ swmm_SUBCATCH_SLOPE
Slope.
Definition openswmm_solver.h:144
@ swmm_SUBCATCH_INFIL
Infiltration.
Definition openswmm_solver.h:136
@ swmm_SUBCATCH_LID_UNITS_DRAIN_FLOW
Subcatch's LID drain flow.
Definition openswmm_solver.h:176
@ swmm_SUBCATCH_LID_UNIT_FROM_IMPERVIOUS
Subcatch's LID unit fraction of impervious area runoff treated.
Definition openswmm_solver.h:188
@ swmm_SUBCATCH_LID_UNIT_TO_PERVIOUS
Whether Subcatch's LID unit's flow is sent to the pervious area.
Definition openswmm_solver.h:192
@ swmm_SUBCATCH_RPTFLAG
Report flag.
Definition openswmm_solver.h:140
@ swmm_SUBCATCH_RAIN_SCALE_FACTOR
Subcatchment rainfall scale factor (optional token 9 of [SUBCATCHMENTS]; default 1....
Definition openswmm_solver.h:256
@ swmm_SUBCATCH_RAINGAGE
Rain gage.
Definition openswmm_solver.h:130
@ swmm_SUBCATCH_LID_UNITS_PERV_AREA
Subcatch's LID pervious area.
Definition openswmm_solver.h:172
@ swmm_SUBCATCH_RUNOFF
Runoff.
Definition openswmm_solver.h:138
@ swmm_SUBCATCH_SNOW_SWE
Snow pack snow water equivalent on a snow subarea (in or mm; sub_index = 0 plowable,...
Definition openswmm_solver.h:239
@ swmm_SUBCATCH_POLLUTANT_RUNOFF_CONCENTRATION
Runoff concentration.
Definition openswmm_solver.h:218
@ swmm_SUBCATCH_API_PET
API prescribed potential evapotranspiration rate (in/day or mm/day). Settable while the simulation is...
Definition openswmm_solver.h:228
@ swmm_SUBCATCH_CURB_LENGTH
Curb length.
Definition openswmm_solver.h:208
@ swmm_SUBCATCH_GW_LOWER_DEPTH
Groundwater saturated (lower) zone depth above the aquifer bottom (ft or m). Settable while the simul...
Definition openswmm_solver.h:235
@ swmm_SUBCATCH_LID_UNIT_FULL_WIDTH
Subcatch's LID unit full top width.
Definition openswmm_solver.h:182
@ swmm_SUBCATCH_LID_UNIT_REPLICATES
Number of Subcatch's LID replicates.
Definition openswmm_solver.h:178
@ swmm_SUBCATCH_SUB_AREA_RUNOFF
Subarea's runoff.
Definition openswmm_solver.h:166
@ swmm_SUBCATCH_POLLUTANT_TOTAL_LOAD
Total pollutant load.
Definition openswmm_solver.h:222
@ swmm_SUBCATCH_GW_MOISTURE
Groundwater upper zone moisture content (volume fraction, 0..porosity). Settable while the simulation...
Definition openswmm_solver.h:232
@ swmm_SUBCATCH_LID_UNIT_FROM_PERVIOUS
Subcatch's LID unit fraction of pervious area runoff treated.
Definition openswmm_solver.h:190
@ swmm_SUBCATCH_SNOW_COLDC
Snow pack cold content on a snow subarea (in or mm of melt equivalent). Settable while the simulation...
Definition openswmm_solver.h:249
@ swmm_SUBCATCH_EXTERNAL_POLLUTANT_BUILDUP
External pollutant buildup.
Definition openswmm_solver.h:216
@ swmm_SUBCATCH_API_SNOWFALL
API provided snowfall.
Definition openswmm_solver.h:212
@ swmm_SUBCATCH_EVAP
Evaporation.
Definition openswmm_solver.h:134
@ swmm_SUBCATCH_LID_UNIT_GREEN_AMPT_CAPILLARY_SUCTION
Subcatch's LID unit green and ampt soil capillary suction.
Definition openswmm_solver.h:202
@ swmm_SUBCATCH_API_RAINFALL
API provided rainfall.
Definition openswmm_solver.h:210
@ swmm_SUBCATCH_LID_UNIT_RECEIVING_OUTLET_INDEX
The index of the object receiving drain flow.
Definition openswmm_solver.h:196
@ swmm_SUBCATCH_POLLUTANT_PONDED_CONCENTRATION
Ponded concentration.
Definition openswmm_solver.h:220
@ swmm_SUBCATCH_LID_UNIT_BOTTOM_WIDTH
Subcatch's LID unit bottom width.
Definition openswmm_solver.h:184
@ swmm_SUBCATCH_LID_UNITS_FLOW_TO_PERV_AREA
Subcatch's LID flow to pervious area.
Definition openswmm_solver.h:174
@ swmm_SUBCATCH_FRACTION_IMPERVIOUS
Fraction impervious.
Definition openswmm_solver.h:152
@ swmm_SUBCATCH_OUTLET_TYPE
Outlet type.
Definition openswmm_solver.h:146
@ swmm_SUBCATCH_LID_UNIT_SURFACE_DEPTH
Subcatch's LID unit surface depth.
Definition openswmm_solver.h:198
@ swmm_SUBCATCH_LID_UNIT_GREEN_AMPT_SATURATED_CONDUCTIVITY
Subcatch's LID unit green and ampt saturated conductivity.
Definition openswmm_solver.h:204
@ swmm_SUBCATCH_WIDTH
Width.
Definition openswmm_solver.h:142
@ swmm_SUBCATCH_SUB_AREA_MANNINGS_N
Subarea's Manning's n.
Definition openswmm_solver.h:158
@ swmm_SUBCATCH_SUB_AREA_ROUTE_TO
Subarea routing to.
Definition openswmm_solver.h:154
@ swmm_SUBCATCH_SUB_AREA_FRACTION_AREA
Subarea's depression storage.
Definition openswmm_solver.h:160
@ swmm_SUBCATCH_LID_UNIT_SOIL_MOISTURE
Subcatch's LID unit soil moisture content of biocell soil layer.
Definition openswmm_solver.h:200
@ swmm_SUBCATCH_SUB_AREA_INFLOW
Subarea's inflow.
Definition openswmm_solver.h:164
@ swmm_SUBCATCH_AREA
Area.
Definition openswmm_solver.h:128
@ swmm_SUBCATCH_LID_UNIT_AREA
Subcatch's LID unit area.
Definition openswmm_solver.h:180
@ swmm_SUBCATCH_RAINFALL
Rainfall.
Definition openswmm_solver.h:132
@ swmm_SUBCATCH_LID_UNIT_GREEN_AMPT_MAXIMUM_SOIL_MOISTURE_DEFICIT
Subcatch's LID unit green and ampt maximum soil moisture deficit.
Definition openswmm_solver.h:206
@ swmm_SUBCATCH_SUB_AREA_DEPRESSION_STORAGE
Subarea's depression storage.
Definition openswmm_solver.h:162
@ swmm_SUBCATCH_LID_UNIT_INIT_SATURATION
Subcatch's LID unit initial saturation of soil and storage layers.
Definition openswmm_solver.h:186
@ swmm_SUBCATCH_INFILTRATION_MODEL
Infiltration model.
Definition openswmm_solver.h:150
@ swmm_SUBCATCH_SUB_AREA_DEPTH
Subarea's depth.
Definition openswmm_solver.h:168
@ swmm_SUBCATCH_SNOW_FW
Snow pack free water on a snow subarea (in or mm; sub_index as for swmm_SUBCATCH_SNOW_SWE)....
Definition openswmm_solver.h:243
@ swmm_SUBCATCH_SNOW_ATI
Snow pack antecedent temperature index on a snow subarea (deg F or deg C). Settable while the simulat...
Definition openswmm_solver.h:246
@ swmm_SUBCATCH_LID_UNITS_COUNT
Subcatch's LID unit count.
Definition openswmm_solver.h:170
@ swmm_SUBCATCH_POLLUTANT_BUILDUP
Pollutant buildup.
Definition openswmm_solver.h:214
@ swmm_SUBCATCH_OUTLET_INDEX
Outlet index.
Definition openswmm_solver.h:148
@ swmm_SUBCATCH_SUB_AREA_FRACTION_OUTLET
Fraction subarea routed to outlet.
Definition openswmm_solver.h:156
@ swmm_SUBCATCH_SNOW_SCALE_FACTOR
Subcatchment snowfall scale factor (optional token 10 of [SUBCATCHMENTS]; default 1....
Definition openswmm_solver.h:263
void(* swmm_LegacyWarningCallback)(const char *message, void *userData)
Callback type invoked for each warning the engine emits.
Definition openswmm_solver.h:977
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getVersion(void)
Get the version of the SWMM engine.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getPumpStats(int index, swmm_PumpStats *stats)
Get cumulative pump statistics.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getIndex(int objType, const char *name)
Retrieves the index of a named object.
swmm_NodeProperty
Enumeration of node properties used in SWMM5.
Definition openswmm_solver.h:271
@ swmm_NODE_SURCHARGE_DEPTH
Surcharge depth.
Definition openswmm_solver.h:293
@ swmm_NODE_POLLUTANT_CONCENTRATION
Pollutant concentration.
Definition openswmm_solver.h:299
@ swmm_NODE_OVERFLOW
Overflow.
Definition openswmm_solver.h:289
@ swmm_NODE_LATFLOW
Lateral inflow.
Definition openswmm_solver.h:285
@ swmm_NODE_INFLOW
Inflow.
Definition openswmm_solver.h:287
@ swmm_NODE_ELEV
Elevation.
Definition openswmm_solver.h:275
@ swmm_NODE_TYPE
Node type.
Definition openswmm_solver.h:273
@ swmm_NODE_VOLUME
Volume.
Definition openswmm_solver.h:283
@ swmm_NODE_MAXDEPTH
Maximum depth.
Definition openswmm_solver.h:277
@ swmm_NODE_PONDED_AREA
Ponded area.
Definition openswmm_solver.h:295
@ swmm_NODE_DEPTH
Depth.
Definition openswmm_solver.h:279
@ swmm_NODE_RPTFLAG
Report flag.
Definition openswmm_solver.h:291
@ swmm_NODE_OUTFLOW
Total outflow.
Definition openswmm_solver.h:303
@ swmm_NODE_INITIAL_DEPTH
Initial depth.
Definition openswmm_solver.h:297
@ swmm_NODE_POLLUTANT_LATMASS_FLUX
Pollutant lateral mass flux inflow.
Definition openswmm_solver.h:301
@ swmm_NODE_HEAD
Hydraulic head.
Definition openswmm_solver.h:281
#define SWMM_MAX_FLOW_CLASSES
Maximum number of flow classification classes for link statistics.
Definition openswmm_solver.h:675
double EXPORT_OPENSWMMCORE_SOLVER_API swmm_encodeDate(int year, int month, int day, int hour, int minute, int second)
Encode date values into a double date value.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getMassBalErr(float *runoffErr, float *flowErr, float *qualErr)
Get the mass balance errors for a SWMM simulation.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getLinkStats(int index, swmm_LinkStats *stats)
Get cumulative link statistics.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_open(const char *inputFile, const char *reportFile, const char *outputFile)
Open a SWMM simulation with the given input file, report file, and output file.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getName(int objType, int index, char *name, int size)
Retrieves the ID name of an object.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_setValueExpanded(int objType, int property, int index, int subIndex, int pollutantIndex, double value)
Set the value of a property for an object given property, index, and subindex in the SWMM model.
void EXPORT_OPENSWMMCORE_SOLVER_API swmm_decodeDate(double date, int *year, int *month, int *day, int *hour, int *minute, int *second, int *dayOfWeek)
Decode double date value into year, month, day, hour, minute, second, and day of week.
void(* progress_callback)(double progress)
Callback function for progress reporting.
Definition openswmm_solver.h:830
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getOutfallStats(int index, swmm_OutfallStats *stats)
Get cumulative outfall node statistics.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getError(char *errMsg, int msgLen)
Retrieves the code number and text of the error condition that caused SWMM to abort its analysis.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_setWarningCallback(swmm_LegacyWarningCallback cb, void *userData)
Registers a callback invoked for each warning the engine emits.
swmm_LinkType
Enumeration of link types used in SWMM5.
Definition openswmm_solver.h:91
@ swmm_ORIFICE
Orifice link.
Definition openswmm_solver.h:97
@ swmm_PUMP
Pump link.
Definition openswmm_solver.h:95
@ swmm_CONDUIT
Conduit link.
Definition openswmm_solver.h:93
@ swmm_OUTLET
Outlet link.
Definition openswmm_solver.h:101
@ swmm_WEIR
Weir link.
Definition openswmm_solver.h:99
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getSubcatchStats(int index, swmm_SubcatchStats *stats)
Get cumulative subcatchment statistics.
void EXPORT_OPENSWMMCORE_SOLVER_API swmm_writeLine(const char *line)
Write a line of text to the SWMM report file.
swmm_Object
Enumeration of object types used in SWMM5.
Definition openswmm_solver.h:29
@ swmm_CONTROL_RULE
Control rules.
Definition openswmm_solver.h:49
@ swmm_CURVE
Curve functions.
Definition openswmm_solver.h:45
@ swmm_TIMESERIES
Time series.
Definition openswmm_solver.h:47
@ swmm_INLET
Inlet.
Definition openswmm_solver.h:65
@ swmm_STREET
Street.
Definition openswmm_solver.h:63
@ swmm_TRANSECT
Transects.
Definition openswmm_solver.h:51
@ swmm_POLLUTANT
Pollutants.
Definition openswmm_solver.h:39
@ swmm_TIME_PATTERN
Time patterns.
Definition openswmm_solver.h:43
@ smmm_XSECTION_SHAPE
Cross section shape.
Definition openswmm_solver.h:59
@ swmm_UNIT_HYDROGRAPH
Unit hydrographs.
Definition openswmm_solver.h:55
@ swmm_LID
Low impact development units.
Definition openswmm_solver.h:61
@ swmm_AQUIFER
Aquifers.
Definition openswmm_solver.h:53
@ swmm_SYSTEM
System.
Definition openswmm_solver.h:67
@ swmm_LINK
Links.
Definition openswmm_solver.h:37
@ swmm_SNOWPACK
Snow packs.
Definition openswmm_solver.h:57
@ swmm_GAGE
Rain gages.
Definition openswmm_solver.h:31
@ swmm_SUBCATCH
Subcatchments.
Definition openswmm_solver.h:33
@ swmm_NODE
Nodes.
Definition openswmm_solver.h:35
@ swmm_LANDUSE
Land uses.
Definition openswmm_solver.h:41
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_close(void)
Close a SWMM simulation.
swmm_LanduseProperty
Enumeration of land-use properties used in SWMM5.
Definition openswmm_solver.h:430
@ swmm_LANDUSE_BUILDUP_COEFF3
Buildup coefficient c2 / exponent (subIndex = pollutant)
Definition openswmm_solver.h:442
@ swmm_LANDUSE_WASHOFF_COEFF
Washoff coefficient (subIndex = pollutant)
Definition openswmm_solver.h:448
@ swmm_LANDUSE_WASHOFF_EXPON
Washoff exponent (subIndex = pollutant)
Definition openswmm_solver.h:450
@ swmm_LANDUSE_WASHOFF_BMP_EFFIC
Washoff BMP removal efficiency 0-1 (subIndex = pollutant)
Definition openswmm_solver.h:454
@ swmm_LANDUSE_BUILDUP_COEFF1
Buildup coefficient c0 / max buildup (subIndex = pollutant)
Definition openswmm_solver.h:438
@ swmm_LANDUSE_WASHOFF_FUNC
Washoff function type code (subIndex = pollutant)
Definition openswmm_solver.h:446
@ swmm_LANDUSE_SWEEP_INTERVAL
Street-sweeping interval (days)
Definition openswmm_solver.h:432
@ swmm_LANDUSE_WASHOFF_SWEEP_EFFIC
Washoff street-sweeping removal efficiency 0-1 (subIndex = pollutant)
Definition openswmm_solver.h:452
@ swmm_LANDUSE_BUILDUP_FUNC
Buildup function type code (subIndex = pollutant index)
Definition openswmm_solver.h:436
@ swmm_LANDUSE_SWEEP_REMOVAL
Fraction of buildup available for sweeping (0-1)
Definition openswmm_solver.h:434
@ swmm_LANDUSE_BUILDUP_NORMALIZER
Buildup normalizer code: 0 area, 1 curb length (subIndex = pollutant)
Definition openswmm_solver.h:444
@ swmm_LANDUSE_BUILDUP_COEFF2
Buildup coefficient c1 / rate (subIndex = pollutant)
Definition openswmm_solver.h:440
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getSystemRunoffTotals(swmm_RunoffTotals *totals)
Get system-level surface runoff mass balance totals.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getCount(int objType)
Retrieves the number of objects of a specific type.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_useHotStart(const char *hotStartFile)
Set hotstart file for SWMM simulation.
swmm_LinkProperty
Enumeration of link properties used in SWMM5.
Definition openswmm_solver.h:311
@ swmm_LINK_TIMEOPEN
Time open.
Definition openswmm_solver.h:329
@ swmm_LINK_VELOCITY
Velocity.
Definition openswmm_solver.h:337
@ swmm_LINK_POLLUTANT_LATMASS_FLUX
Pollutant lateral mass flux.
Definition openswmm_solver.h:369
@ swmm_LINK_CAPACITY
Capacity.
Definition openswmm_solver.h:343
@ swmm_LINK_INITIAL_FLOW
Initial flow.
Definition openswmm_solver.h:351
@ swmm_LINK_NODE1
Upstream node.
Definition openswmm_solver.h:315
@ swmm_LINK_POLLUTANT_CONCENTRATION
Pollutant concentration.
Definition openswmm_solver.h:365
@ swmm_LINK_OFFSET2
Downstream invert offset.
Definition openswmm_solver.h:349
@ swmm_LINK_AVERAGE_LOSS
Average loss.
Definition openswmm_solver.h:359
@ swmm_LINK_VOLUME
Volume.
Definition openswmm_solver.h:341
@ swmm_LINK_SEEPAGE_RATE
Seepage rate.
Definition openswmm_solver.h:361
@ swmm_LINK_TIMECLOSED
Time closed.
Definition openswmm_solver.h:331
@ swmm_LINK_TYPE
Link type.
Definition openswmm_solver.h:313
@ swmm_LINK_OFFSET1
Upstream invert offset.
Definition openswmm_solver.h:347
@ swmm_LINK_OUTLET_LOSS
Outlet loss.
Definition openswmm_solver.h:357
@ swmm_LINK_FULLDEPTH
Full depth.
Definition openswmm_solver.h:323
@ swmm_LINK_SLOPE
Slope.
Definition openswmm_solver.h:321
@ swmm_LINK_POLLUTANT_LOAD
Pollutant load.
Definition openswmm_solver.h:367
@ swmm_LINK_DEPTH
Depth.
Definition openswmm_solver.h:335
@ swmm_LINK_FLOW
Flow.
Definition openswmm_solver.h:333
@ swmm_LINK_FULLFLOW
Full flow.
Definition openswmm_solver.h:325
@ swmm_LINK_LENGTH
Length.
Definition openswmm_solver.h:319
@ swmm_LINK_RPTFLAG
Report flag.
Definition openswmm_solver.h:345
@ swmm_LINK_FLOW_LIMIT
Flow limit.
Definition openswmm_solver.h:353
@ swmm_LINK_INLET_LOSS
Inlet loss.
Definition openswmm_solver.h:355
@ swmm_LINK_NODE2
Downstream node.
Definition openswmm_solver.h:317
@ swmm_LINK_SETTING
Setting.
Definition openswmm_solver.h:327
@ swmm_LINK_HAS_FLAPGATE
Flap gate.
Definition openswmm_solver.h:363
@ swmm_LINK_TOPWIDTH
Top width.
Definition openswmm_solver.h:339
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getSystemRoutingTotals(swmm_RoutingTotals *totals)
Get system-level flow routing mass balance totals.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_getStorageStats(int index, swmm_StorageStats *stats)
Get cumulative storage node statistics.
double EXPORT_OPENSWMMCORE_SOLVER_API swmm_getSavedValue(int property, int index, int period)
Get saved value of.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_report(void)
Writes simulation results to the report file.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_run(const char *inputFile, const char *reportFile, const char *outputFile)
Run a SWMM simulation with the given input file, report file, and output file.
swmm_GageProperty
Enumeration of gage properties used in SWMM5.
Definition openswmm_solver.h:109
@ swmm_GAGE_RAINFALL
Rainfall.
Definition openswmm_solver.h:113
@ swmm_GAGE_SCALEFACTOR
Rainfall scaling factor (dimensionless, > 0).
Definition openswmm_solver.h:117
@ swmm_GAGE_TOTAL_PRECIPITATION
Total precipitation.
Definition openswmm_solver.h:111
@ swmm_GAGE_SNOWFALL
Snowfall.
Definition openswmm_solver.h:115
swmm_API_Errors
Enumeration of API errors used in SWMM5.
Definition openswmm_solver.h:641
@ ERR_API_OBJECT_TYPE
API error for errorneous object type.
Definition openswmm_solver.h:649
@ ERR_API_HOTSTART_FILE_FORMAT
API error for errorneous hotstart file format.
Definition openswmm_solver.h:663
@ ERR_API_NOT_ENDED
API error for API not ended.
Definition openswmm_solver.h:647
@ ERR_API_TIME_PERIOD
API error for errorneous time period.
Definition openswmm_solver.h:659
@ ERR_API_IS_RUNNING
API error for API already running.
Definition openswmm_solver.h:665
@ ERR_API_NOT_OPEN
API error for file not opened.
Definition openswmm_solver.h:643
@ ERR_API_HOTSTART_FILE_OPEN
API error for errorneous hotstart file open.
Definition openswmm_solver.h:661
@ ERR_API_OBJECT_INDEX
API error for errorneous object index.
Definition openswmm_solver.h:651
@ ERR_API_PROPERTY_TYPE
API error for errorneous property type.
Definition openswmm_solver.h:655
@ ERR_API_PROPERTY_VALUE
API error for errorneous property value.
Definition openswmm_solver.h:657
@ ERR_API_OBJECT_NAME
API error for errorneous object name.
Definition openswmm_solver.h:653
@ ERR_API_NOT_STARTED
API error for API not started.
Definition openswmm_solver.h:645
double EXPORT_OPENSWMMCORE_SOLVER_API swmm_getValue(int property, int index)
Get the value of a property for an object of a given property in the SWMM model.
swmm_FlowUnitsProperty
Enumeration of flow units used in SWMM5.
Definition openswmm_solver.h:621
@ swmm_CFS
Cubic feet per second.
Definition openswmm_solver.h:623
@ swmm_MGD
Million gallons per day.
Definition openswmm_solver.h:627
@ swmm_LPS
Liters per second.
Definition openswmm_solver.h:631
@ swmm_CMS
Cubic meters per second.
Definition openswmm_solver.h:629
@ swmm_GPM
Gallons per minute.
Definition openswmm_solver.h:625
@ swmm_MLD
Million liters per day.
Definition openswmm_solver.h:633
swmm_NodeType
Enumeration of node types used in SWMM5.
Definition openswmm_solver.h:75
@ swmm_DIVIDER
Divider node.
Definition openswmm_solver.h:83
@ swmm_OUTFALL
Outfall node.
Definition openswmm_solver.h:79
@ swmm_JUNCTION
Junction node.
Definition openswmm_solver.h:77
@ swmm_STORAGE
Storage node.
Definition openswmm_solver.h:81
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_setTreatment(int nodeIndex, int pollutantIndex, const char *expression)
Set (or replace) the treatment expression for a node/pollutant pair.
int EXPORT_OPENSWMMCORE_SOLVER_API swmm_start(int saveFlag)
Start a SWMM simulation with the given save flag.
Cumulative link statistics.
Definition openswmm_solver.h:748
double timeCapacityLimited
Definition openswmm_solver.h:759
double timeFullUpstream
Definition openswmm_solver.h:756
double maxDepth
Definition openswmm_solver.h:752
double maxFlow
Definition openswmm_solver.h:749
double timeNormalFlow
Definition openswmm_solver.h:753
double timeCourantCritical
Definition openswmm_solver.h:761
double timeFullFlow
Definition openswmm_solver.h:758
int flowTurnSign
Definition openswmm_solver.h:763
double timeInletControl
Definition openswmm_solver.h:754
long flowTurns
Definition openswmm_solver.h:762
double maxFlowDate
Definition openswmm_solver.h:750
double timeInFlowClass[SWMM_MAX_FLOW_CLASSES]
Definition openswmm_solver.h:760
double timeFullDnstream
Definition openswmm_solver.h:757
double timeSurcharged
Definition openswmm_solver.h:755
double maxVeloc
Definition openswmm_solver.h:751
Cumulative node statistics.
Definition openswmm_solver.h:698
double maxRptDepth
Definition openswmm_solver.h:702
double avgDepth
Definition openswmm_solver.h:699
double maxInflowDate
Definition openswmm_solver.h:712
double timeCourantCritical
Definition openswmm_solver.h:706
double maxInflow
Definition openswmm_solver.h:709
double totLatFlow
Definition openswmm_solver.h:707
double timeSurcharged
Definition openswmm_solver.h:705
double volFlooded
Definition openswmm_solver.h:703
double maxDepth
Definition openswmm_solver.h:700
double maxDepthDate
Definition openswmm_solver.h:701
double maxLatFlow
Definition openswmm_solver.h:708
double maxPondedVol
Definition openswmm_solver.h:711
double timeFlooded
Definition openswmm_solver.h:704
double maxOverflowDate
Definition openswmm_solver.h:713
double maxOverflow
Definition openswmm_solver.h:710
Cumulative outfall node statistics.
Definition openswmm_solver.h:736
double * totalLoad
Definition openswmm_solver.h:739
double avgFlow
Definition openswmm_solver.h:737
double maxFlow
Definition openswmm_solver.h:738
int totalPeriods
Definition openswmm_solver.h:740
Cumulative pump statistics.
Definition openswmm_solver.h:771
double utilized
Definition openswmm_solver.h:772
double minFlow
Definition openswmm_solver.h:773
double volume
Definition openswmm_solver.h:776
int startUps
Definition openswmm_solver.h:780
double maxFlow
Definition openswmm_solver.h:775
double energy
Definition openswmm_solver.h:777
double offCurveHigh
Definition openswmm_solver.h:779
int totalPeriods
Definition openswmm_solver.h:781
double offCurveLow
Definition openswmm_solver.h:778
double avgFlow
Definition openswmm_solver.h:774
System-level flow routing mass balance totals (all in ft3 or m3).
Definition openswmm_solver.h:789
double evapLoss
Definition openswmm_solver.h:797
double dwInflow
Definition openswmm_solver.h:790
double finalStorage
Definition openswmm_solver.h:801
double gwInflow
Definition openswmm_solver.h:792
double iiInflow
Definition openswmm_solver.h:793
double pctError
Definition openswmm_solver.h:802
double seepLoss
Definition openswmm_solver.h:798
double outflow
Definition openswmm_solver.h:796
double reacted
Definition openswmm_solver.h:799
double wwInflow
Definition openswmm_solver.h:791
double exInflow
Definition openswmm_solver.h:794
double initStorage
Definition openswmm_solver.h:800
double flooding
Definition openswmm_solver.h:795
System-level surface runoff mass balance totals.
Definition openswmm_solver.h:810
double pctError
Definition openswmm_solver.h:822
double snowRemoved
Definition openswmm_solver.h:821
double finalSnowCover
Definition openswmm_solver.h:820
double runon
Definition openswmm_solver.h:816
double drains
Definition openswmm_solver.h:815
double initSnowCover
Definition openswmm_solver.h:819
double runoff
Definition openswmm_solver.h:814
double infil
Definition openswmm_solver.h:813
double evap
Definition openswmm_solver.h:812
double initStorage
Definition openswmm_solver.h:817
double finalStorage
Definition openswmm_solver.h:818
double rainfall
Definition openswmm_solver.h:811
Cumulative storage node statistics.
Definition openswmm_solver.h:721
double evapLosses
Definition openswmm_solver.h:726
double maxVolDate
Definition openswmm_solver.h:728
double maxVol
Definition openswmm_solver.h:724
double initVol
Definition openswmm_solver.h:722
double exfilLosses
Definition openswmm_solver.h:727
double avgVol
Definition openswmm_solver.h:723
double maxFlow
Definition openswmm_solver.h:725
Cumulative subcatchment statistics.
Definition openswmm_solver.h:682
double runoff
Definition openswmm_solver.h:687
double infil
Definition openswmm_solver.h:686
double maxFlow
Definition openswmm_solver.h:688
double evap
Definition openswmm_solver.h:685
double precip
Definition openswmm_solver.h:683
double impervRunoff
Definition openswmm_solver.h:689
double runon
Definition openswmm_solver.h:684
double pervRunoff
Definition openswmm_solver.h:690