SWMM/EPANET User Interface Reengineering
Updating software user interface that is designed to manage input data, drive specialized simulations, and analyze output data that are user-friendly.
The US Environmental Protection Agency (EPA) currently develops, maintains, and distributes SWMM and EPANET, which are urban water simulation software for sewers and water distribution systems, respectively. The success of SWMM and EPANET results from the user interfaces (UIs) that the EPA currently distributes with the respective computational engines for performing hydraulic and water quality analyses. The UIs are clean and uncomplicated so as to make SWMM and EPANET user-friendly yet powerful enough for real-world applications.
The SWMM and EPANET user interfaces are quite old; no significant changes have been made since 2003. Over that time, the landscape for scientific and engineering applications has significantly changed. Mobile computing today is ubiquitous, and Windows-based desktop computing is no longer the dominant platform for scientific and engineering applications. Modern application software architectures are being designed for reuse and extensibility in ways that were once impractical. Additionally, the new, more powerful programming languages that are popular today are easier to use and allow both developers and users to be more productive.
With the establishment of the Sustainable Urban Water Modeling Center, the EPA is moving toward an internet community-based (open-source project) development model for SWMM and EPANET; therefore, the EPA is encouraging community development by using freely available open-source tools (e.g., C++, Python) and tool chains because open-source software tools eliminate barriers to entry into the application development community.
The EPA retained RESPEC in 2015 to reengineer the SWMM and EPANET user interface applications architecture to achieve the modularity and extensibility expected by current model users. The modular and extensible architecture enables deploying new application features created by the EPA, third-party developers, and end users who employ scripts and application “plug-ins.” High-level scripting support within the application will allow users to manage input data, drive specialized simulations, and analyze output data more easily. The modular and extensible design encourages users to develop solutions independently but has a mechanism to share these solutions with the broader community.
Python is the language of choice for the user interface development work that RESPEC is performing because scientists, engineers, and software developers in many professions worldwide have adopted it. Required GIS functionality will be provided using the open-source GIS map display from QGIS.
The software architectural design that is under development allows maximum sharing of common code between SWMM and EPANET applications. The class design for the SWMM/EPANET data model follows the conceptual model of SWMM and EPANET in terms of representing hydrologic/hydraulic compartments and physical processes.
RESPEC is providing the EPA with a full range of software development services that include developing a Quality Assurance Project Plan (QAPP) and software specification and requirements; creating software; performing unit and regression testing as well beta testing; updating documentation; and providing post-delivery maintenance to provide public software releases that represent commercial quality urban water simulation applications.