swmmoutputapi package¶
Submodules¶
swmmoutputapi.swmmbinreader module¶
SWMM Output File Wrapper for the New OutputAPI.
Author: Bryant E. McDonnell Date: 1/10/2016
-
class
swmmoutputapi.swmmbinreader.
SWMMBinReader
[source]¶ -
CloseBinFile
()[source]¶ Closes binary output file and cleans up member variables.
Returns: None Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> OutputFile.CloseBinFile()
-
OpenBinFile
(OutLoc)[source]¶ Opens SWMM5 binary output file.
Parameters: OutLoc (str) – Path to Binary output file Returns: None Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out")
-
get_Attribute
(SMO_elementType, SMO_Attribute, TimeInd)[source]¶ Get results for particular attribute for all elements at a specific time index.
Parameters: - SMO_elementType (int) – Element type Key References.
- SMO_Attribute (int) – Attribute Type Key References.
- TimeInd (int) – TimeInd
Returns: data list in order of the IDs of the SMO_elementType
Return type: list
Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> OutputFile.get_Attribute(SM_subcatch, rainfall_subcatch, 0) >>> [0.017500000074505806, 0.017500000074505806, 0.017500000074505806]
>>> OutputFile.get_Attribute(SM_node, invert_depth, 10) >>> [4.596884250640869, 0.720202624797821, 0.6315776705741882, 0.6312257051467896]
>>> OutputFile.get_Attribute(SM_link, flow_rate_link, 50) >>> [9.00419807434082, 10.011459350585938, 11.020767211914062]
-
get_IDs
(SMO_elementIDType)[source]¶ Returns List Type of Element IDs
Parameters: SMO_elementCount (int) – element ID type Key References Returns: list ordered List of IDs Return type: list Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> Test.get_IDs(SM_subcatch) >>> ['S3', 'S2', 'S1'] >>> Test.get_IDs(SM_node) >>> ['J4', 'J1', 'J2', 'J3'] >>> Test.get_IDs(SM_link) >>> ['C3', 'C2', 'C1']
-
get_ProjectSize
(SMO_elementCount)[source]¶ Returns number of elements of a specific element type.
Parameters: SMO_elementCount (int) – element ID type Key References Returns: Number of Objects Return type: int Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> OutputFile.get_ProjectSize(nodeCount) >>> 10
-
get_Result
(SMO_elementType, TimeInd, IDName=None)[source]¶ For a element ID at given time, get all attributes
Parameters: - SMO_elementType (int) – Element type Key References.
- TimeInd (int) – Time Index
- IDName (int) – IDName (default None for System Variables)
Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> OutputFile.get_Result(SM_subcatch,3000,'S3') >>> [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
>>> OutputFile.get_Result(SM_node,3000,'J1') >>> [4.594789505004883, 25.322790145874023, 0.0, 9.000000953674316, 9.000000953674316, 0.0]
>>> OutputFile.get_Result(SM_link,9000,'C3') >>> [11.0, 0.6312892436981201, 12.93112564086914, 185.72474670410156, 0.270773708820343]
>>> OutputFile.get_Result(SM_sys,3000,'S3') >>> [70.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 3.0, 11.0, 0.0, 11.000021934509277, 532.2583618164062, 0.0, 0.0]
-
get_Series
(SMO_elementType, SMO_Attribute, IDName=None, TimeStartInd=0, TimeEndInd=-1)[source]¶ Get time series results for particular attribute for an object. Specify series start and length using TimeStartInd and TimeEndInd respectively.
Parameters: - SMO_elementType (int) – Element type Key References.
- SMO_Attribute (int) – Attribute Type Key References.
- IDName (str) – Element ID name (Default is None for to reach sys variables) (ID Names are case sensitive).
- TimeStartInd (int) – Starting index for the time series data period (default is 0).
- TimeEndInd (int) – Array index for the time series data period (defualt is -1 for end).
Returns: data series
Return type: list
Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> OutputFile.get_Series(SM_subcatch, runoff_rate, 'S3', 0, 50) >>> [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, .... 0.0]
>>> OutputFile.get_Series(SM_node, invert_depth, 'J1', 0, 50) >>> [3.908519983291626, 4.6215434074401855, 4.594745635986328, 4.595311641693115, ..., 4.595311641693115]
>>> OutputFile.get_Series(SM_link, rainfall_subcatch, 'C2', 0, 50) >>> [10.2869873046875, 10.04793643951416, 9.997148513793945, 10.000744819641113, ..., 10.011372566223145]
>>> OutputFile.get_Series(SM_sys, rainfall_system, TimeStartInd = 0, TimeEndInd = 50) >>> [0.017500000074505806, 0.017500000074505806, 0.017500000074505806, 0.017500000074505806, ..., 0.017500000074505806]
-
get_StartTime
()[source]¶ Uses SWMM5 Conversion Functions to Pull DateTime String and converts to Python datetime format
Returns: Simulation start time. Return type: datetime Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> OutputFile.get_StartTime() >>> datetime.datetime(2016,10,4,12,4,0)
-
get_TimeSeries
()[source]¶ Gets simulation start time and builds timeseries array based on the reportStep
Returns: Simulation time series. Return type: list of datetime Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> OutputFile.get_TimeSeries() >>> [datetime.datetime(2015, 11, 29, 14, 0), datetime.datetime(2015, 11, 29, 14, 1), ..., datetime.datetime(2015, 11, 29, 14, 9)]
-
get_Times
(SMO_timeElementType)[source]¶ Returns report and simulation time related parameters.
Parameters: SMO_timeElementType (int) – element ID type Key References Returns: Report Step (seconds) or Number of Time Steps Return type: int Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> OutputFile.get_Times(reportStep) >>> 300
-
get_Units
(SMO_unit)[source]¶ Returns flow units and Concentration
Parameters: SMO_unit (int) – element ID type Key References Returns: Unit Type Return type: str Examples:
>>> OutputFile = SWMMBinReader() >>> OutputFile.OpenBinFile(r"C:\PROJECTCODE\SWMMOutputAPI\testing\outputfile.out") >>> OutputFile.get_Units(flow_rate) >>> 'CFS'
-