Research SUMMARY
www .epa.gov/research
Open Source SWMM: Community - Based Software Development
for Storm Water Management Modeling
Background
EPA's Storm Water Management Model (SWMM) is
used throughout the world for planning, analysis, and
design related to stormwater runoff, combined and
sanitary sewers, and other drainage systems in urban
areas. There are many applications for drainage
systems in non-urban areas as well,
SWMM is a dynamic hydrology-hydraulic water
quality simulation model. It is used for single event or
long-term (continuous) simulation of runoff quantity
and quality from primarily urban areas. The runoff
component treats the land surface as a collection of
sub-catchment areas that receive precipitation and
generate runoff and pollutant loads. The routing
portion transports this runoff through a system of
pipes, channels, storage/treatment devices, pumps,
and regulators.
SWMM tracks the quantity and quality of runoff
generated within each sub-catchment. It also tracks
the flow rate, flow depth, and quality of water in
each pipe and channel during a simulation period,
which is made up of multiple time steps. SWMM
Version 5 has been extended to model the hydrologic
performance of specific types of low impact
development (LID) controls. The LID controls that the
user can choose to include are the following green
infrastructure practices: rain gardens, bioretention
cells, vegetative swales, infiltration trenches, green
roofs, rooftop downspout disconnections, rain barrels
or cisterns (rainwater harvesting), and continuous
permeable pavement systems.
SWMM 5 allows engineers and planners to represent
any combination of LID controls within a study area
to determine their effectiveness in managing
stormwater and combined sewer overflows.
An integrated environment for editing study area
input data is available for Windows, allowing users to
run hydrologic, hydraulic and water quality
simulations, and providing users with tools to
manage input and output data and visualizations.
SWMM 5 was produced in a joint development effort
with CDM Smith, Inc., a global consulting,
engineering, construction, and operations firm.
SWMM results can be used to develop combined
sewer overflow consent decree long term control
plans and other National Pollutant Discharge
Elimination System permits.
In 2016, a new Federal Source Code Policy
(https://sourcecode.cio.gov/OSS/) was introduced
that encouraged federal agencies to: (1) leverage
existing open source software (OSS) communities, (2)
engage in open software development projects, (3)
adopt a regular public release schedule for software,
(4) engage in two-way communication with users and
contributors, (5) consider allowing code contributions
from the public, and (6) provide thorough
documentation. A new research project has been
initiated to apply OSS development to the SWMM
software, supporting cost efficiency, mission
effectiveness, and improving the public experience
with Government programs.
Leveraging Existing Communities
These Communities are software developers, users,
vendors, regulators, and other stakeholders. The
SWMM software is downloaded from the EPA
webpage more than 30,000 times each year by users
Office of Research and Development
National Risk Management Research Laboratory

-------
from across the world. Several software companies
have used or modified components of SWMM in their
commercial packages. Professional societies have
developed committees focused on stormwater,
urban drainage, and water quality modeling research,
and applications with a vested interest in the future
of SWMM.
In 2015, an Open Source SWMM Initiative,
independent of the EPA, was announced on
http://wateranalytics.org/. This is an active group
developing SWMM and EPANET, a drinking water
distribution model, via the open source community
development approach, and it has accomplished
many improvements to SWMM.
In 2016, an EPA cooperative agreement (Grant No.
83595001) established the National Center for
Infrastructure Modeling and Management (NCIMM)
(http://www.ncimm.org/) at the University of Texas
at Austin. The cooperative agreement was
established to help better serve the water
community that uses and depends on EPA's SWMM
and EPANET software.
For the purposes of this project, the word
"community" includes all interested SWMM
stakeholders: consulting engineers, students,
researchers, software companies, professional
organizations, other interested members of the
public, and EPA partners. As part of this new
approach to SWMM development, EPA is reaching
out to all stakeholders and accepting input on ways
the community can participate in the future
development of the SWMM software. EPA is actively
developing a set of "contributor guidelines" for those
who want to contribute code, as well as creating an
efficient way for the community to suggest new
features or report bugs.
OSS Community Development
Community-based OSS development is conducted on
a shared development repository into which the
community can contribute software, and/or view and
comment on software changes, resulting in a better
overall product. EPA established its Enterprise GitHub
account in 2012 to enhance the Agency's ability to
share and develop source code in an open and
I Office of Research and Development
I National Risk Management Research Laboratory
collaborative manner using industry best practices.
EPA has two OSS projects related to SWMM. One
project focuses on the user interface (Ul) application:
https://github.com/USEPA/SWMM-
EPANET User Interface. The Ul project has been
developed in the open and implemented using agile
development techniques. EPA selected popular OSS
tools for the development of the new SWMM Ul to
reduce barriers to entry and encourage community
involvement. This open source project has
components that are being developed by EPA, a
contractor, and other interested parties.
The second project focuses on the SWMM engine
source code: https://github.com/USEPA/Stormwater-
Management-Model. The source code, code
documentation, quality control and assurance plans,
bug and feature request tracking, user manual, and
example cases will all be available for the community
to view.
Using GitHub allows contributors to make changes on
individual repositories and submit code back to the
main repository for review and possible inclusion in
future releases. The GitHub site helps to manage the
OSS development process by automatically tracking
changes in the code over time and by offering tools
for reporting issues (e.g., bugs and feature requests).
Under this project, several important documents will
be developed to support the community-based OSS
development, all of which will be available on the
GitHub site for comment:
•	A quality assurance plan that clearly describes the
OSS development process that must be followed for
all code incorporated into EPA's official version of
SWMM. This will include specifications about testing
and code documentation.
•	A development roadmap and software release
schedule that outlines the plan for future
development of the SWMM code, along with bug
fixes, and includes a list of feature requests gathered
from the broad SWMM stakeholder community.
•	Contributor guidelines describing the steps involved
and the requirements for submitting code to the EPA
through a GitHub pull request. This will include a
contributor waiver that must be signed before code
will be incorporated and will outline how contributors
are acknowledged for their work.

-------
For More Information
• An OSS license. The Creative Commons CCO public
domain license is currently the only approved license
at EPA; but other OSS licenses will be evaluated as
well, and exceptions for third party codes with other
licenses could be made.
EPA will continue to maintain the "official" SWMM
versions on its main website
https://www.epa.gov/water-research/storm-water-
management-model-swmm. EPA will evaluate and
accept contributions from the community following
procedures outlined in the contributor guidelines.
Participation is key to this project; therefore, the
community is encouraged to fork the SWMM code
and test new ideas and approaches. Developers are
encouraged to contribute their best work back to the
EPA SWMM repository through pull requests. The
development roadmap will help to ensure that all
contributors are generally following the same vision.
Community feedback will help to ensure that SWMM
development is adhering to appropriate coding
standards and best practice software quality
assurance procedures such as continuous integration
and regression testing.
Anticipated Outcomes
SWMM is a mission critical software program that
will continue to be developed, maintained, and
distributed by EPA. Through this project, EPA will
investigate and leverage the benefits of OSS
community development to future versions of
SWMM. This approach will allow for more public
input into the software at earlier stages in the
development cycle. In addition, this approach will
allow for more frequent updates to the SWMM
software, ensuring stakeholder access to a higher
quality software tool. Ultimately, EPA intends to work
together with the community to be more responsive,
provide more services, and create innovative
improvements to the SWMM software.
EPA's immediate mission-driven research agenda
involves transitioning the new SWMM user interface
application into community development, improving
SWMM's water quality engine, continuing to develop
SWMM extensions, and working with the community
to define the future development path for SWMM.
SWMM executables and documentation:
https://www.epa.gov/water-research/storm-water-
management-model-swmm
SWMM GitHub site:
https://github.com/USEPA/Stormwater-
Management-Model
Contact Information
Technical Contacts:
Michelle Simon (simon.michelle@epa.gov)
Michael Tryby (tryby.michael@epa.gov)
Office of Research and Development
National Risk Management Research Laboratory
EPA/600/S-18/129

-------