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:
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'

Module contents