PySWMM-v1.0 Release: Advancing the Python interface to stormwater management for now and into the future

Jennifer Wu, Caleb Buahin, Bryant E. McDonnell, Abhiram Mullapudi, Ruben Kertesz


PySWMM has received a considerable amount attention and adoption since its inception. The marriage of SWMM and Python, which is increasingly becoming the programming language of choice for rapidly prototyping scientific computational code, is major driver for this adoption. PySWMM provides timestep-by-timestep data model access into the computational engine of SWMM so that users are able retrieve model results, prescribe boundary conditions and forcing data (e.g., control rainfall rates at a gage, add node inflows, prescribe outfall boundary levels), control pumps and gates through scripts etc. In the latest release of PySWMM (version 1.0), several backend changes have been implemented in the PySWMM development stack to streamline the build process and improve performance by moving from the manual binding implemented using python’s ctypes approach to the automated Simplified Wrapper and Interface Generator (SWIG) approach. This brings new cross platform compatibility and brings SWMM into the world of 64-bit computing. In this talk, we present these advancements and illustrate how PySWMM is being applied to various stormwater and wastewater applications. As part of this presentation, we also intend to solicit community feedback for future PySWMM development goals so we can grow this software together.

Support for this work was provided by Michael Tryby from United States Environmental Protection Agency. Partial funding for this work was provided by the National Science Foundation. Any opinions, findings, and conclusions or recommendations expressed are those of the author(s) and do not necessarily reflect views of Xylem Inc. or the National Science Foundation.

 Click here to watch recorded presentation on YouTube.

Permanent link: