6.3 SWMM GIS Tools

SWMM tools have been added to the TUFLOW QGIS Plugin to provide users with the ability to build TUFLOW-SWMM models in a GIS environment. The tools assist with building SWMM models, linking TUFLOW-SWMM models, and viewing SWMM outputs. Three major items within the TUFLOW QGIS Plugin that are specifically relevant to SWMM include the TUFLOW QGIS plugin SWMM Processing Tools, 1D Pipe Integrity Tools, and TUFLOW Viewer.

  • The TUFLOW QGIS Plugin SWMM Processing Tools have been created to support workflow efficient model building. Tools available within the SWMM Processing Toolbox can be used for the following:

    • Conversion of SWMM input files (inp) to and from SWMM GeoPackage file format. These converters are central to all the SWMM processing tools. They enable the conversion of SWMM inp text files into a visual GIS GeoPackage format for spatial and tabular editing. Also, the GeoPackage files can be exported to SWMM inp text file format, for use as inputs into the TUFLOW-SWMM model. The Geopackage format representation of the SWMM inp file is discussed in Section 6.3.1.
    • Creation of SWMM Template GeoPackage GIS files. These files include all the data required by a SWMM model, if building a model from scratch.
    • Setting of unique SWMM Junction parameters based on Junction usage and location.
    • Setting unique SWMM conduit losses, dependent on location of the object in the network and whether the conduit is connected directly to the 2D, another pipe or a stormwater inlet.
    • Semi-automatic creation of TUFLOW-SWMM 1D/2D linkages.
    • Tools to assist in the conversion of XPSWMM models to TUFLOW-SWMM.
    • Conversion of ESTRY layers to SWMM.
  • The TUFLOW QGIS plugin 1D Pipe Integrity Tools are a suite of tools that help modelers find and fix potential errors in 1D networks prior to running TUFLOW. The 1D integrity tool can be used for ESTRY or SWMM pipe networks.

  • The TUFLOW Viewer enables GIS viewing of SWMM time-series results. The following are supported.

    • Time-series plotting of 1D SWMM results.
    • Long-profile plotting of 1D SWMM network results.
    • Dynamic plan view symbology. This feature enables the object symbology to change based on the result magnitude at the current simulation output time.
    • The above result display options can be used within animations created by TUFLOW Viewer.

6.3.1 GeoPackage File Format

The SWMM GeoPackage representation is mostly a simple conversion of the table oriented SWMM input file (inp).

6.3.1.1 GeoPackage File Table Overview

Some GeoPackage tables are modified versions of the SWMM input file, often combining multiple inp sections into a single GeoPackage table to streamline editing features. Some of the GeoPackage tables have spatial components (points, lines, and polygons) and others are tables of data with no geometry attributes.

Generally, modified tables are a “wide” form of the tables to represent distinct categories of options without using the same column for multiple input parameters. For example, the “[XSECTIONS]” table has a variety of inputs depending upon whether the shape is from a list of shapes, a custom shape (a closed shape with a Height vs Width table), irregular shape (cross-section-based open channel), or a street cross-section. In the SWMM input file, attributes from multiple types use the same columns while the GeoPackage representation creates a column for each input field. There are separate columns for specified shapes and irregular culvert curves. Depending upon the option selected, many of the fields will not be used.

To make things simpler, the subcatchment and subarea SWMM table columns are combined into the subcatchment table. The subarea columns use the prefix “subarea_” and are written to a separate table when exported to the SWMM inp file.

SWMM inp files can be converted to a GeoPackage format using the processing tool SWMM >> GeoPackage - Create from SWMM inp. GeoPackage format files can be exported to SWMM inp files using the processing tool SWMM >> GeoPackage - Write to SWMM inp. When a GeoPackage file is read into QGIS, by default a folder will be created for all of the loaded layers. Right-clicking on this folder will bring-up a menu item to export the GeoPackage file as a SWMM inp file.

A full description of the layers that can be included in SWMM GeoPackage files can be found in Appendix L.

6.3.1.2 GeoPackage Options Table

The SWMM Options Table (Table mirrors the options in the “Options” section of the SWMM inp file where each entry has a keyword and a value. The table is used for model parameters controlling the computations, timing parameters, and other project level settings. The options and values for this table are provided in Table 6.1.

Table 6.1: SWMM Option Table Keywords and Descriptions
Option Description Values
FLOW_UNITS FLOW_UNITS makes a choice of flow units. Selecting a US flow unit (and using Units == US Customary) means that all other quantities will be expressed in US customary units, while choosing a metric flow unit will force all quantities to be expressed in SI metric units. (Exceptions are pollutant concentration and Manning’s roughness coefficient (n) which are always in metric units). [ {CFS} | GPM | MGD | CMS | LPS | MLD ]
INFILTRATION INFILTRATION selects a model for computing infiltration of rainfall into the upper soil zone of subcatchments. [ {HORTON} | MODIFIED HORTON | GREEN_AMPT | MODIFIED_GREEN_AMPT | CURVE_NUMBER ]
FLOW_ROUTING FLOW_ROUTING determines which method is used to route flows through the drainage system. STEADY refers to sequential steady state routing (i.e. hydrograph translation), KINWAVE to kinematic wave routing, DYNWAVE to dynamic wave routing. While you can store any option in the SWMM GeoPackage file, TUFLOW-SWMM requires (and will force) the dynamic wave solver. [ STEADY | KINWAVE | {DYNWAVE} ]
LINK_OFFSETS LINK_OFFSETS determines the convention used to specify the position of a link offset above the invert of its connecting node. DEPTH indicates that offsets are expressed as the distance between the node invert and the link while ELEVATION indicates that the absolute elevation of the offset is used. [ {DEPTH} | ELEVATION ]
FORCE_MAIN_EQUATION FORCE_MAIN_EQUATION establishes whether the Hazen-Williams (H-W) or the Darcy-Weisbach (D-W) equation will be used to compute friction losses for pressurized flow in conduits that have been assigned a Circular Force Main cross-section shape. [ {H-W} | D-W ]
IGNORE_RAINFALL IGNORE_RAINFALL is set to YES if all rainfall data and runoff calculations should be ignored. In this case SWMM only performs flow and pollutant routing based on user-supplied direct and dry weather inflows. [ YES | {NO} ]
IGNORE_SNOWMELT IGNORE_SNOWMELT is set to YES if snowmelt calculations should be ignored when a project file contains snow pack objects. [ YES | {NO} ]
IGNORE_GROUNDWATER IGNORE_GROUNDWATER is set to YES if groundwater calculations should be ignored when a project file contains aquifer objects. [ YES | {NO} ]
IGNORE_RDII IGNORE_RDII is set to YES if rainfall dependent inflow/infiltration should be ignored when RDII unit hydrographs and RDII inflows have been supplied to a project file. [ YES | {NO} ]
IGNORE_ROUTING IGNORE_ROUTING is set to YES if only runoff should be computed even if the project contains drainage system links and nodes. [ YES | {NO} ]
IGNORE_QUALITY IGNORE_QUALITY is set to YES if pollutant washoff, routing, and treatment should be ignored in a project that has pollutants defined. [ YES | {NO} ]
ALLOW_PONDING ALLOW_PONDING determines whether excess water is allowed to collect atop nodes and be re-introduced into the system as conditions permit. The default is NO ponding. In order for ponding to actually occur at a particular node, a non-zero value for its Ponded Area attribute must be used. [ YES | {NO} ]
SKIP_STEADY_STATE SKIP_STEADY_STATE should be set to YES if flow routing computations should be skipped during steady state periods of a simulation during which the last set of computed flows will be used. A time step is considered to be in steady state if the percent difference between total system inflow and total system outflow is below the SYS_FLOW_TOL and the percent difference between current and previous lateral inflows are below the LAT_FLOW_TOL. [ YES | {NO} ]
SYS_FLOW_TOL SYS_FLOW_TOL is the maximum percent difference between total system inflow and total system outflow which can occur in order for the SKIP_STEADY_STATE option to take effect. [ <value> | {5} ]
LAT_FLOW_TOL LAT_FLOW_TOL is the maximum percent difference between the current and previous lateral inflow at all nodes in the conveyance system in order for the SKIP_STEADY_STATE option to take effect. [ <value> | {5} ]
START_DATE

START_DATE is the date when the simulation begins.

Note: In the SWMM GeoPackage, this date can be entered in YYYY-MM-DD format. It will automatically be converted to MM/DD/YYYY when converting to a SWMM inp file.
[ MM/DD/YYYY ]
START_TIME START_TIME is the time of day on the starting date when the simulation begins. [ hh:mm ]
END_DATE

END_DATE is the date when the simulation is to end. The default is the start date. TUFLOW-SWMM models will change this value to match the START_DATE and START_TIME + simulation run time.

Note: In the SWMM GeoPackage, this date can be entered in YYYY-MM-DD format. It will automatically be converted to MM/DD/YYYY when converting to a SWMM inp file.
[ MM/DD/YYYY ]
END_TIME END_TIME is the time of day on the ending date when the simulation will end. TUFLOW-SWMM models will change this value to match the START_DATE and START_TIME + simulation run time. [ hh:mm ]
REPORT_START_DATE

REPORT_START_DATE is the date when reporting of results is to begin. The default is the simulation start date.

Note: In the SWMM GeoPackage, this date can be entered in YYYY-MM-DD format. It will automatically be converted to MM/DD/YYYY when converting to a SWMM inp file.
[ MM/DD/YYYY ]
REPORT_START_TIME REPORT_START_TIME is the time of day on the report starting date when reporting is to begin. The default is the simulation start time of day. [ hh:mm ]
SWEEP_START SWEEP_START is the day of the year (month/day) when street sweeping operations begin. [ MM/DD ]
SWEEP_END SWEEP_END is the day of the year (month/day) when street sweeping operations end. [ MM/DD ]
DRY_DAYS DRY_DAYS is the number of days with no rainfall prior to the start of the simulation. [ <days> | {0} ]
REPORT_STEP REPORT_STEP is the time interval for reporting of computed results. [ hh:mm:ss ]
WET_STEP WET_STEP is the time step length used to compute runoff from subcatchments during periods of rainfall or when ponded water still remains on the surface. [ hh:mm:ss ]
DRY_STEP DRY_STEP is the time step length used for runoff computations (consisting essentially of pollutant buildup) during periods when there is no rainfall and no ponded water. [ hh:mm:ss ]
ROUTING_STEP ROUTING_STEP is the time step length in seconds used for routing flows and water quality constituents through the conveyance system. This can be increased if dynamic wave routing is not used. Fractional values (e.g., 2.5) are permissible as are values entered in hours:minutes:seconds format. TUFLOW-SWMM models will match the (potentially variable) TUFLOW timestep. [ <time_in_seconds> | {20} ]
LENGTHENING_STEP LENGTHENING_STEP is a time step, in seconds, used to lengthen conduits under dynamic wave routing, so that they meet the Courant stability criterion under full-flow conditions (i.e., the travel time of a wave will not be smaller than the specified conduit lengthening time step). As this value is decreased, fewer conduits will require lengthening. A value of 0 (the default) means that no conduits will be lengthened. [ <time_in_seconds> | {0} ]
VARIABLE_STEP VARIABLE_STEP is a safety factor applied to a variable time step computed for each time period under dynamic wave flow routing. The variable time step is computed so as to satisfy the Courant stability criterion for each conduit and yet not exceed the ROUTING_STEP value. If the safety factor is 0 (the default), then no variable time step is used. This value is not used in TUFLOW-SWMM simulations. [ <value> | {0} ]
MINIMUM_STEP MINIMUM_STEP is the smallest time step, in seconds, allowed when variable time steps are used for dynamic wave flow routing. [ <time_in_seconds> | {0.5} ]
INTERTIAL_DAMPING INERTIAL_DAMPING indicates how the inertial terms in the Saint Venant momentum equation will be handled under dynamic wave flow routing. Choosing NONE maintains these terms at their full value under all conditions. Selecting PARTIAL (the default) will reduce the terms as flow comes closer to being critical (and ignores them when flow is supercritical). [ None | {Partial} | Full ]
NORMAL_FLOW_LIMITED NORMAL_FLOW_LIMITED specifies which condition is checked to determine if flow in a conduit is supercritical and should thus be limited to the normal flow. Use SLOPE to check if the water surface slope is greater than the conduit slope, FROUDE to check if the Froude number is greater than 1.0, BOTH to check both conditions or NONE if no checks are made. [ Slope | Froude | {Both} ]
SURCHARGE_METHOD SURCHARGE_METHOD selects which method will be used to handle surcharge conditions. The EXTRAN option uses a variation of the Surcharge Algorithm from previous versions of SWMM to update nodal heads when all connecting links become full. The SLOT option uses a Preissmann Slot to add a small amount of virtual top surface width to full flowing pipes so that SWMM’s normal procedure for updating nodal heads can continue to be used. The default is EXTRAN. [ {EXTRAN} | SLOT ]
MIN_SURFAREA MIN_SURFAREA is a minimum surface area used at nodes when computing changes in water depth under dynamic wave routing. If 0 is entered, then the default value of 12.566 ft2 (if using Units == US Customary) or 1.167 m2 (i.e., the area of a 4-ft diameter manhole) is used. [ <value> | {0} ]
MIN_SLOPE MIN_SLOPE is the minimum value allowed for a conduit’s slope (%). If zero (the default) then no minimum is imposed (although SWMM uses a lower limit on elevation drop of 0.001 ft (if using Units == US Customary) or 0.00035 m when computing a conduit slope). [ <value> | {0} ]
MAX_TRIALS MAX_TRIALS is the maximum number of trials allowed during a time step to reach convergence when updating hydraulic heads at the conveyance system’s nodes. [ <value> | {8} ]
HEAD_TOLERANCE HEAD_TOLERANCE is the difference in computed head at each node between successive trials below which the flow solution for the current time step is assumed to have converged. The default tolerance is 0.005 ft (if using Units == US Customary) or 0.0015 m. [ <value> | {0.005} ]
THREADS THREADS is the number of parallel computing threads to use for dynamic wave flow routing on machines equipped with multi-core processors. [ <value> | {1} ]