OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
openswmm_output.h
Go to the documentation of this file.
1
43#ifndef OPENSWMM_OUTPUT_H
44#define OPENSWMM_OUTPUT_H
45
46#include "openswmm_engine_export.h"
47
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52/* =========================================================================
53 * Opaque handle
54 * ========================================================================= */
55
57typedef void* SWMM_Output;
58
59/* =========================================================================
60 * Result variable enumerations
61 * ========================================================================= */
62
80
96
111
133
134/* =========================================================================
135 * Lifecycle
136 * ========================================================================= */
137
145
152
153/* =========================================================================
154 * Metadata queries
155 * ========================================================================= */
156
163
171
178
185
192
199
206
214 double* start_date);
215
222
223/* =========================================================================
224 * Object ID retrieval
225 * ========================================================================= */
226
234 int index);
235
243 int index);
244
252 int index);
253
254/* =========================================================================
255 * Per-period result retrieval (all objects, one variable, one period)
256 * ========================================================================= */
257
268 int period,
269 int var,
270 float* values);
271
282 int period,
283 int var,
284 float* values);
285
296 int period,
297 int var,
298 float* values);
299
310 int period,
311 int var,
312 float* value);
313
314/* =========================================================================
315 * Time series retrieval (one object, one variable, period range)
316 * ========================================================================= */
317
330 int subcatch_idx,
331 int var,
332 int start_period,
333 int end_period,
334 float* values);
335
348 int node_idx,
349 int var,
350 int start_period,
351 int end_period,
352 float* values);
353
366 int link_idx,
367 int var,
368 int start_period,
369 int end_period,
370 float* values);
371
383 int var,
384 int start_period,
385 int end_period,
386 float* values);
387
388/* =========================================================================
389 * Per-object result retrieval (all variables for one object at one period)
390 * ========================================================================= */
391
403 int subcatch_idx,
404 int period,
405 float* values,
406 int* count);
407
419 int node_idx,
420 int period,
421 float* values,
422 int* count);
423
435 int link_idx,
436 int period,
437 float* values,
438 int* count);
439
440/* =========================================================================
441 * Simulation time retrieval
442 * ========================================================================= */
443
453 int period,
454 double* time);
455
456/* =========================================================================
457 * Error reporting
458 * ========================================================================= */
459
466
467#ifdef __cplusplus
468}
469#endif
470
471#endif /* OPENSWMM_OUTPUT_H */
SWMM_ENGINE_API int swmm_output_get_pollut_count(SWMM_Output handle)
Get the number of pollutants in the output file.
Definition openswmm_output_impl.cpp:80
SWMM_ENGINE_API int swmm_output_get_version(SWMM_Output handle)
Get the SWMM version stored in the output file.
Definition openswmm_output_impl.cpp:55
SWMM_ENGINE_API int swmm_output_get_node_attribute(SWMM_Output handle, int node_idx, int period, float *values, int *count)
Get all result variables for a single node at one period.
Definition openswmm_output_impl.cpp:225
SWMM_ENGINE_API int swmm_output_get_subcatch_attribute(SWMM_Output handle, int subcatch_idx, int period, float *values, int *count)
Get all result variables for a single subcatchment at one period.
Definition openswmm_output_impl.cpp:215
SWMM_ENGINE_API int swmm_output_get_error_code(SWMM_Output handle)
Get the error code stored in the output file footer.
Definition openswmm_output_impl.cpp:260
SWMM_OutSystemVar
System-wide result variable indices.
Definition openswmm_output.h:117
@ SWMM_OUT_SYS_PET
Definition openswmm_output.h:131
@ SWMM_OUT_SYS_OUTFLOW
Definition openswmm_output.h:128
@ SWMM_OUT_SYS_RAINFALL
Definition openswmm_output.h:119
@ SWMM_OUT_SYS_TEMPERATURE
Definition openswmm_output.h:118
@ SWMM_OUT_SYS_DW_INFLOW
Definition openswmm_output.h:124
@ SWMM_OUT_SYS_SNOW_DEPTH
Definition openswmm_output.h:120
@ SWMM_OUT_SYS_INFIL
Definition openswmm_output.h:122
@ SWMM_OUT_SYS_RUNOFF
Definition openswmm_output.h:123
@ SWMM_OUT_SYS_STORAGE
Definition openswmm_output.h:129
@ SWMM_OUT_SYS_LAT_INFLOW
Definition openswmm_output.h:126
@ SWMM_OUT_SYS_GW_INFLOW
Definition openswmm_output.h:125
@ SWMM_OUT_SYS_EVAP_TOTAL
Definition openswmm_output.h:130
@ SWMM_OUT_SYS_FLOODING
Definition openswmm_output.h:127
@ SWMM_OUT_SYS_EVAP
Definition openswmm_output.h:121
SWMM_ENGINE_API int swmm_output_get_period_count(SWMM_Output handle)
Get the number of reporting periods (timesteps) in the output file.
Definition openswmm_output_impl.cpp:85
SWMM_ENGINE_API int swmm_output_get_subcatch_result(SWMM_Output handle, int period, int var, float *values)
Get one subcatchment variable for all subcatchments at a given period.
Definition openswmm_output_impl.cpp:129
SWMM_OutNodeVar
Node result variable indices.
Definition openswmm_output.h:87
@ SWMM_OUT_NODE_TOTAL_INFLOW
Definition openswmm_output.h:92
@ SWMM_OUT_NODE_POLLUT_BASE
Definition openswmm_output.h:94
@ SWMM_OUT_NODE_HEAD
Definition openswmm_output.h:89
@ SWMM_OUT_NODE_DEPTH
Definition openswmm_output.h:88
@ SWMM_OUT_NODE_VOLUME
Definition openswmm_output.h:90
@ SWMM_OUT_NODE_OVERFLOW
Definition openswmm_output.h:93
@ SWMM_OUT_NODE_LATERAL_INFLOW
Definition openswmm_output.h:91
SWMM_ENGINE_API int swmm_output_get_report_step(SWMM_Output handle)
Get the report step in seconds.
Definition openswmm_output_impl.cpp:98
SWMM_OutSubcatchVar
Subcatchment result variable indices.
Definition openswmm_output.h:69
@ SWMM_OUT_SUBCATCH_INFIL
Definition openswmm_output.h:73
@ SWMM_OUT_SUBCATCH_RAINFALL
Definition openswmm_output.h:70
@ SWMM_OUT_SUBCATCH_POLLUT_BASE
Definition openswmm_output.h:78
@ SWMM_OUT_SUBCATCH_GW_FLOW
Definition openswmm_output.h:75
@ SWMM_OUT_SUBCATCH_RUNOFF
Definition openswmm_output.h:74
@ SWMM_OUT_SUBCATCH_EVAP
Definition openswmm_output.h:72
@ SWMM_OUT_SUBCATCH_SNOW_DEPTH
Definition openswmm_output.h:71
@ SWMM_OUT_SUBCATCH_SOIL_MOIST
Definition openswmm_output.h:77
@ SWMM_OUT_SUBCATCH_GW_ELEV
Definition openswmm_output.h:76
SWMM_ENGINE_API int swmm_output_get_node_series(SWMM_Output handle, int node_idx, int var, int start_period, int end_period, float *values)
Get a node variable time series across a range of periods.
Definition openswmm_output_impl.cpp:177
SWMM_ENGINE_API int swmm_output_get_system_series(SWMM_Output handle, int var, int start_period, int end_period, float *values)
Get a system variable time series across a range of periods.
Definition openswmm_output_impl.cpp:201
SWMM_ENGINE_API int swmm_output_get_link_result(SWMM_Output handle, int period, int var, float *values)
Get one link variable for all links at a given period.
Definition openswmm_output_impl.cpp:145
SWMM_ENGINE_API int swmm_output_get_start_date(SWMM_Output handle, double *start_date)
Get the simulation start date as a Julian date (double).
Definition openswmm_output_impl.cpp:90
SWMM_ENGINE_API int swmm_output_get_link_attribute(SWMM_Output handle, int link_idx, int period, float *values, int *count)
Get all result variables for a single link at one period.
Definition openswmm_output_impl.cpp:235
SWMM_ENGINE_API int swmm_output_get_flow_units(SWMM_Output handle)
Get the flow units code.
Definition openswmm_output_impl.cpp:60
SWMM_ENGINE_API int swmm_output_get_link_count(SWMM_Output handle)
Get the number of links in the output file.
Definition openswmm_output_impl.cpp:75
SWMM_ENGINE_API int swmm_output_get_link_series(SWMM_Output handle, int link_idx, int var, int start_period, int end_period, float *values)
Get a link variable time series across a range of periods.
Definition openswmm_output_impl.cpp:189
SWMM_ENGINE_API int swmm_output_get_subcatch_count(SWMM_Output handle)
Get the number of subcatchments in the output file.
Definition openswmm_output_impl.cpp:65
SWMM_ENGINE_API int swmm_output_get_node_result(SWMM_Output handle, int period, int var, float *values)
Get one node variable for all nodes at a given period.
Definition openswmm_output_impl.cpp:137
SWMM_OutLinkVar
Link result variable indices.
Definition openswmm_output.h:103
@ SWMM_OUT_LINK_FLOW
Definition openswmm_output.h:104
@ SWMM_OUT_LINK_VELOCITY
Definition openswmm_output.h:106
@ SWMM_OUT_LINK_DEPTH
Definition openswmm_output.h:105
@ SWMM_OUT_LINK_POLLUT_BASE
Definition openswmm_output.h:109
@ SWMM_OUT_LINK_VOLUME
Definition openswmm_output.h:107
@ SWMM_OUT_LINK_CAPACITY
Definition openswmm_output.h:108
void * SWMM_Output
Opaque handle to an opened output file reader.
Definition openswmm_output.h:57
SWMM_ENGINE_API int swmm_output_get_node_count(SWMM_Output handle)
Get the number of nodes in the output file.
Definition openswmm_output_impl.cpp:70
SWMM_ENGINE_API int swmm_output_get_system_result(SWMM_Output handle, int period, int var, float *value)
Get system-wide results at a given period.
Definition openswmm_output_impl.cpp:153
SWMM_ENGINE_API const char * swmm_output_get_subcatch_id(SWMM_Output handle, int index)
Get the string ID of a subcatchment by index.
Definition openswmm_output_impl.cpp:107
SWMM_ENGINE_API int swmm_output_get_period_time(SWMM_Output handle, int period, double *time)
Get the simulation time (Julian date) for a given period.
Definition openswmm_output_impl.cpp:249
SWMM_ENGINE_API const char * swmm_output_get_node_id(SWMM_Output handle, int index)
Get the string ID of a node by index.
Definition openswmm_output_impl.cpp:113
SWMM_ENGINE_API int swmm_output_get_subcatch_series(SWMM_Output handle, int subcatch_idx, int var, int start_period, int end_period, float *values)
Get a subcatchment variable time series across a range of periods.
Definition openswmm_output_impl.cpp:165
SWMM_ENGINE_API SWMM_Output swmm_output_open(const char *path)
Open a binary output file for reading.
Definition openswmm_output_impl.cpp:33
SWMM_ENGINE_API const char * swmm_output_get_link_id(SWMM_Output handle, int index)
Get the string ID of a link by index.
Definition openswmm_output_impl.cpp:119
SWMM_ENGINE_API void swmm_output_close(SWMM_Output handle)
Close the output file and free all resources.
Definition openswmm_output_impl.cpp:44
#define SWMM_ENGINE_API
Definition openswmm_engine.h:87