Output¶
Constructor and Properties¶
- class Output(binfile, preload=False)[source]¶
Base class for a SWMM binary output file.
The output object provides several options to process timeseries within binary output file.
Output files should be closed after use prevent memory leaks. Close them explicitly with the _close() method or deleting the object using del, or use it with a context manager.
# Using a the _close method >>> from swmm.pandas import Output >>> out = Output('tests/Model.out') >>> print(out.project_size) [3, 9, 8, 1, 3] >>> out._close() # can also use `del out` >>> # Using a context manager >>> with Output('tests/Model.out') as out: ... print(out.pollutants) ('groundwater', 'pol_rainfall', 'sewage')
- Parameters:
- binfile: str
model binary file path
- preload: bool
If true, the whole output file will be preloaded into memory before instantiating the object. This is usefull if you plan on extracting lots of data from an output file that can easily fit into ram as it significantly can speed up iterative I/O.
- subcatch_attributes¶
Subcatchment attribute enumeration: By default has
‘rainfall’, ‘snow_depth’, ‘evap_loss’, ‘infil_loss’, ‘runoff_rate’, ‘gw_outflow_rate’, ‘gw_table_elev’, ‘soil_moisture’
- link_attributes¶
Link attribute enumeration: By default has
‘flow_rate’, ‘flow_depth’, ‘flow_velocity’, ‘flow_volume’, ‘capacity’,
- node_attributes¶
Node attribute enumeration: By default has
‘invert_depth’, ‘hydraulic_head’, ‘ponded_volume’, ‘lateral_inflow’, ‘total_inflow’, ‘flooding_losses’
- system_attributes¶
System attribute enumeration: By default has
‘air_temp’, ‘rainfall’, ‘snow_depth’, ‘evap_infil_loss’, ‘runoff_flow’, ‘dry_weather_inflow’, ‘gw_inflow’, ‘rdii_inflow’, ‘direct_inflow’, ‘total_lateral_inflow’, ‘flood_losses’, ‘outfall_flows’, ‘volume_stored’, ‘evap_rate’, ‘ptnl_evap_rate’
- subcatchments¶
Return a tuple of subcatchments available in SWMM output binary file.
- Returns:
- Tuple[str]
A tuple of model subcatchment names.
- links¶
Return a tuple of links available in SWMM binary output file.
- Returns:
- Tuple[str]
A tuple of model link names.
- nodes¶
Return a tuple of nodes available in SWMM binary output file.
- Returns:
- Tuple[str]
A tuple of model node names.
- pollutants¶
Return a tuple of pollutants available in SWMM binary output file.
- Returns:
- Tuple[str]
A tuple of pollutant names.
- project_size¶
Returns the number of each model element type available in out binary output file in the following order:
[subcatchment, node, link, system, pollutant]
- Returns:
- list
A list of numbers of each model type.
[nSubcatchments, nNodes, nLinks, nSystems(1), nPollutants]
- report¶
Return the reporting timestep in seconds.
- Returns:
- int
The reporting timestep in seconds.
- start¶
Return the reporting start datetime.
- Returns:
- datetime
The reporting start datetime.
- end¶
Return the reporting end datetime.
- Returns:
- datetime
The reporting end datetime.
- period¶
Return the number of reporting timesteps in the binary output file.
- Returns:
- int
The number of reporting timesteps.
- units¶
Return SWMM binary output file unit type from swmm.toolkit.shared_enum.UnitSystem.
- Returns:
- List[str]
List of string names for system units, flow units, and units for each pollutant.
- Values returned are the names from swmm.toolkit.shared_enum:
UnitSystem FlowUnits ConcUnits
Time Series Data¶
Get time series data for one or more elements and one or more variables.
Get one or more time series for one or more link attributes. |
|
Get one or more time series for one or more node attributes. |
|
Get one or more time series for one or more subcatchment attributes. |
|
Get one or more a time series for one or more system attributes. |
Element Attribute Data¶
Get attribute for a given time step for all elements of a given type.
For all links at a given time, get one or more attributes. |
|
For all nodes at a given time, get one or more attributes. |
|
For all subcatchments at a given time, get a one or more attributes. |
|
For all nodes at given time, get a one or more attributes. |
Element Result Data¶
Get all attributes for a given set time steps for given set of elements.
For a link at one or more given times, get all attributes. |
|
For one or more nodes at one or more given times, get all attributes. |
|
For a subcatchment at one or more given times, get all attributes. |
|
For a given time, get all system attributes. |
Helper Methods¶
Return a structure object for a given list of links and nodes. |