-
Notifications
You must be signed in to change notification settings - Fork 69
System Design Overview
The SWMM and EPANET user interface applications are built using the same architecture and share many components. This document describes the architecture and the folder structure of the source code repository.
At the top level of the repository, source code is found inside the src folder. Inside src:
-
Externals: components needed by this project that are from or related to other projects
-
Externals/epanet/model: the EPANET model for running the simulation
-
Externals/epanet/outputapi: code for reading EPANET model output
-
Externals/swmm/model: the SWMM model for running the simulation
-
Externals/swmm/outputapi: code for reading SWMM output
-
Externals/swmm/profile_plot: SWMM profile plotting
-
Externals/test: experimental EPANET regression tests
-
Externals/appdirs: methods for finding application-specific directories
-
-
core: classes for accessing model inputs including reading and writing input files
- files directly in this folder are shared between the two models
- core/epanet: EPANET-specific classes for accessing model inputs
- core/swmm: SWMM-specific classes for accessing model inputs
-
icons: small images for toolbar buttons
-
plugins: components of the user interface that can be loaded at runtime
-
scripts: examples of how user-created Python scripts can automate tasks
-
ui: the main application including all the windows in the user interface
Either application is launched by creating the model-specific main form: ui/EPANET/frmMainEPANET or ui/SWMM/frmMainSWMM. Both of these inherit from ui/frmMain