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
8#ifndef OPENSWMMCORE_OUTPUT_H_
9#define OPENSWMMCORE_OUTPUT_H_
10
15#define MAXFILENAME 259
16
21#define MAXELENAME 31
22
27typedef void *SMO_Handle;
28
29#include "openswmm_output_export.h"
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
41int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_init(SMO_Handle *p_handle);
42
48int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_close(SMO_Handle *p_handle);
49
56int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_open(SMO_Handle p_handle, const char *path);
57
64int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVersion(SMO_Handle p_handle, int *version);
65
73int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getProjectSize(SMO_Handle p_handle, int **elementCount, int *length);
74
82int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getUnits(SMO_Handle p_handle, int **unitFlag, int *length);
83
96int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getFlowUnits(SMO_Handle p_handle, int *unitFlag);
97
111int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPollutantUnits(SMO_Handle p_handle, int **unitFlag, int *length);
112
119int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getStartDate(SMO_Handle p_handle, double *date);
120
128int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getTimes(SMO_Handle p_handle, SMO_time code, int *time);
129
139int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getElementName(
140 SMO_Handle p_handle,
141 SMO_elementType type,
142 int elementIndex,
143 char **elementName,
144 int *size
145);
146
147
155int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNumVars(
156 SMO_Handle p_handle,
157 SMO_elementType type,
158 int *count
159);
160
169int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVarCode(SMO_Handle p_handle, SMO_elementType type, int varIndex, int *varCode);
170
179int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVarCodes(SMO_Handle p_handle, SMO_elementType type, int **varCodes, int *size);
180
188int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNumProperties(SMO_Handle p_handle, SMO_elementType type, int *count);
189
198int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyCode(SMO_Handle p_handle, SMO_elementType type, int propertyIndex, int *propertyCode);
199
208int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyCodes(SMO_Handle p_handle, SMO_elementType type, int **propertyCodes, int *size);
209
219int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyValue(
220 SMO_Handle p_handle,
221 SMO_elementType type,
222 int propertyIndex,
223 int elementIndex,
224 float *value
225);
226
236int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyValues(
237 SMO_Handle p_handle,
238 SMO_elementType type,
239 int elementIndex,
240 float **outValueArray,
241 int *length
242);
243
255int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchSeries(
256 SMO_Handle p_handle,
257 int subcatchIndex,
259 int startPeriod,
260 int endPeriod,
261 float **outValueArray,
262 int *length
263);
264
276int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeSeries(
277 SMO_Handle p_handle,
278 int nodeIndex,
279 SMO_nodeAttribute attr,
280 int startPeriod,
281 int endPeriod,
282 float **outValueArray,
283 int *length
284);
285
297int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkSeries(
298 SMO_Handle p_handle,
299 int linkIndex,
300 SMO_linkAttribute attr,
301 int startPeriod,
302 int endPeriod,
303 float **outValueArray,
304 int *length
305);
306
317int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemSeries(
318 SMO_Handle p_handle,
320 int startPeriod,
321 int endPeriod,
322 float **outValueArray,
323 int *length
324);
325
335int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchAttribute(
336 SMO_Handle p_handle,
337 int timeIndex,
339 float **outValueArray,
340 int *length
341);
342
352int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeAttribute(
353 SMO_Handle p_handle,
354 int timeIndex,
355 SMO_nodeAttribute attr,
356 float **outValueArray,
357 int *length
358);
359
369int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkAttribute(
370 SMO_Handle p_handle,
371 int timeIndex,
372 SMO_linkAttribute attr,
373 float **outValueArray,
374 int *length
375);
376
386int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemAttribute(
387 SMO_Handle p_handle,
388 int timeIndex,
390 float **outValueArray,
391 int *length
392);
393
403int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchResult(
404 SMO_Handle p_handle,
405 int timeIndex,
406 int subcatchIndex,
407 float **outValueArray,
408 int *length
409);
410
420int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeResult(
421 SMO_Handle p_handle,
422 int timeIndex,
423 int nodeIndex,
424 float **outValueArray,
425 int *length
426);
427
437int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkResult(
438 SMO_Handle p_handle,
439 int timeIndex,
440 int linkIndex,
441 float **outValueArray,
442 int *length
443);
444
454int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemResult(
455 SMO_Handle p_handle,
456 int timeIndex,
457 int dummyIndex,
458 float **outValueArray,
459 int *length
460);
461
466void EXPORT_OPENSWMMCORE_OUTPUT_API SMO_free(void **array);
467
472void EXPORT_OPENSWMMCORE_OUTPUT_API SMO_clearError(SMO_Handle p_handle_in);
473
481int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_checkError(SMO_Handle p_handle_in, char **msg_buffer);
482
483#ifdef __cplusplus
484}
485#endif
486
487#endif /* OPENSWMMCORE_OUTPUT_H_ */
int size
Definition XSectBatch.cpp:550
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeAttribute(SMO_Handle p_handle, int timeIndex, SMO_nodeAttribute attr, float **outValueArray, int *length)
Retrieves node attribute values for a given time period and attribute type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeSeries(SMO_Handle p_handle, int nodeIndex, SMO_nodeAttribute attr, int startPeriod, int endPeriod, float **outValueArray, int *length)
Retrieves node attribute values for a given time period and attribute type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getFlowUnits(SMO_Handle p_handle, int *unitFlag)
Returns unit flag for flow.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyCode(SMO_Handle p_handle, SMO_elementType type, int propertyIndex, int *propertyCode)
Retrieves the property code for a given element type and property index that is stored in the output ...
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyValues(SMO_Handle p_handle, SMO_elementType type, int elementIndex, float **outValueArray, int *length)
Retrieves all property values for a given element type and element index.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchAttribute(SMO_Handle p_handle, int timeIndex, SMO_subcatchAttribute attr, float **outValueArray, int *length)
Retrieves subcatchment attribute values for a given time period and attribute type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemSeries(SMO_Handle p_handle, SMO_systemAttribute attr, int startPeriod, int endPeriod, float **outValueArray, int *length)
Retrieves system attribute values for a given time period and attribute type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkSeries(SMO_Handle p_handle, int linkIndex, SMO_linkAttribute attr, int startPeriod, int endPeriod, float **outValueArray, int *length)
Retrieves link attribute values for a given time period and attribute type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyValue(SMO_Handle p_handle, SMO_elementType type, int propertyIndex, int elementIndex, float *value)
Retrieves the value of a property for a given element type, property index, and element index.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVersion(SMO_Handle p_handle, int *version)
Retrieves the model version number that created the output file.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPropertyCodes(SMO_Handle p_handle, SMO_elementType type, int **propertyCodes, int *size)
Retrieves the property codes for a given element type that are stored in the output file.
void EXPORT_OPENSWMMCORE_OUTPUT_API SMO_clearError(SMO_Handle p_handle_in)
Clears the error status of the SMO_Handle.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getProjectSize(SMO_Handle p_handle, int **elementCount, int *length)
Get project size.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getStartDate(SMO_Handle p_handle, double *date)
Retrieves the start date of the simulation.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNumVars(SMO_Handle p_handle, SMO_elementType type, int *count)
Retrieves the number of variables for a given element type that are stored in the output file.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_checkError(SMO_Handle p_handle_in, char **msg_buffer)
Checks for error in the error handle and copies the error message to the message buffer.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVarCodes(SMO_Handle p_handle, SMO_elementType type, int **varCodes, int *size)
Retrieves the variable codes for a given element type that are stored in the output file.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getElementName(SMO_Handle p_handle, SMO_elementType type, int elementIndex, char **elementName, int *size)
Retrieves the element name by index and type from the SWMM output file.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getTimes(SMO_Handle p_handle, SMO_time code, int *time)
Retrieves the number of reporting periods in the simulation.
void * SMO_Handle
Opaque pointer to struct. Do not access variables.
Definition openswmm_output.h:27
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getPollutantUnits(SMO_Handle p_handle, int **unitFlag, int *length)
Returns unit flag for pollutant. Concentration units are located after the pollutant ID names and bef...
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchSeries(SMO_Handle p_handle, int subcatchIndex, SMO_subcatchAttribute attr, int startPeriod, int endPeriod, float **outValueArray, int *length)
Retrieves subcatchment attribute values for a given time period and attribute type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getUnits(SMO_Handle p_handle, int **unitFlag, int *length)
Retrieves the unit system used in the SWMM model.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkResult(SMO_Handle p_handle, int timeIndex, int linkIndex, float **outValueArray, int *length)
Retrieves link result values for a given time period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_init(SMO_Handle *p_handle)
Initializes the SWMM output file handle.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemResult(SMO_Handle p_handle, int timeIndex, int dummyIndex, float **outValueArray, int *length)
Retrieves system result values for a given time period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getVarCode(SMO_Handle p_handle, SMO_elementType type, int varIndex, int *varCode)
Retrieves the variable code for a given element type and variable index that is stored in the output ...
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_open(SMO_Handle p_handle, const char *path)
Opens a SWMM output file.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSubcatchResult(SMO_Handle p_handle, int timeIndex, int subcatchIndex, float **outValueArray, int *length)
Retrieves subcatchment result values for a given time period.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getLinkAttribute(SMO_Handle p_handle, int timeIndex, SMO_linkAttribute attr, float **outValueArray, int *length)
Retrieves link attribute values for a given time period and attribute type.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getSystemAttribute(SMO_Handle p_handle, int timeIndex, SMO_systemAttribute attr, float **outValueArray, int *length)
Retrieves system attribute values for a given time period and attribute type.
void EXPORT_OPENSWMMCORE_OUTPUT_API SMO_free(void **array)
Frees memory allocated by the API for the outValueArray.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_close(SMO_Handle *p_handle)
Closes the SWMM output file handle.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNumProperties(SMO_Handle p_handle, SMO_elementType type, int *count)
Retrieves the number of properties for a given element type that are stored in the output file.
int EXPORT_OPENSWMMCORE_OUTPUT_API SMO_getNodeResult(SMO_Handle p_handle, int timeIndex, int nodeIndex, float **outValueArray, int *length)
Retrieves node result values for a given time period.
Header file for SWMM output API enumeration types.
SMO_linkAttribute
Link attributes.
Definition openswmm_output_enums.h:134
SMO_time
Report time related attributes.
Definition openswmm_output_enums.h:77
SMO_nodeAttribute
Node attributes.
Definition openswmm_output_enums.h:113
SMO_systemAttribute
System attributes.
Definition openswmm_output_enums.h:153
SMO_subcatchAttribute
Subcatchment attributes.
Definition openswmm_output_enums.h:88
SMO_elementType
SWMM element types.
Definition openswmm_output_enums.h:60