## Wednesday, December 31, 2014

### What does Percent Not Converging Mean in SWMM5?

In SWMM 5 there is a Routing time step summary which tells the modeler the minimum time step during the simulation based on the CFL condition, the average time step, maximum time step, the percent of time spent in steady state, the average iterations per step and the percent not converging.  The percent not converging means the percent of the time the link flows and node depths did not converge within the maximum number of trials per time step (Figure 1).

*************************
Routing Time Step Summary
*************************
Minimum Time Step           :     0.52 sec
Average Time Step           :     8.76 sec
Maximum Time Step           :    10.00 sec
Percent in Steady State     :     0.00
Average Iterations per Step :     2.14
Percent Not Converging      :     1.69

 Figure 1.  Maximum number of trials per time step
The Percent Non Converging is the percent of time at least ONE link did not converge within the maximum number of trials per time step.  The Percent Non Converging is the Total Number of Non Convergent Steps divided by the total number of steps during the simulation.

Here is how the converging and non converging is determined in the dynamic wave solution.

The program keeps iterating until the Steps taken during this time step equals the Number of Maximum Trials. During each time step the link flows and the node depths are calculated.  If the Steps are greater than 1 and all nodes depths are converged (the difference between successive iterations is less than the Head tolerance) then the iteration process stops.  If even one node does not converge the Non Converge Count increases by one.   The links that can be bypassed during the next step are also estimated at each iteration. If a link can be bypassed the dynamic wave calculations are not performed and the program runs faster (Figure 2).
 Figure 2.  Link Bypass is based on the Upstream and Downstream Nodes

// --- keep iterating until convergence
while ( Steps < MaxTrials )
{
// --- execute a routing step & check for nodal convergence
initNodeStates();
converged = findNodeDepths(tStep);
Steps++;
if ( Steps > 1 )
{
if ( converged ) break;

// --- check if link calculations can be skipped in next step
}
}
if ( !converged ) NonConvergeCount++;

//  --- identify any capacity-limited conduits

return Steps;

## Tuesday, December 30, 2014

### How to Make a Trapezoidal Inflow Time Series in InfoSWMM

You can make a Trapezoidal shaped Time Series in InfoSWMM by using the following steps:
1. .       Use the Inflow Icon at a Node in the Attribute Browser
2. .       Use either an Inflow Time series with date/time/value or
3. .       A baseline flow value with a pattern
4. .       The time series comprise a Date that matches your simulation time period
5. .       A hour:minute:second Time value in the Time Series Table
6. .       A flow unit with the units used in the General Tab of Run Manager
7. .       This time series is entered in the Attribute Browser under Time Series in the Operation Tab
 How to Make An Inflow Time Series at a Node in InfoSWMM

## Sunday, December 28, 2014

### The EPA SWMM 5 code and the various versions of Visual Studio

The EPA SWMM 5 code and the various versions of Visual Studio. If you have multiple versions of Visual Studio on your computer you might have toolset issues.  Visual Studio 2010 and 2012 are for Windows 7, Visual Studio 2013 is for Windows 8

Visual Studio 2012 uses the v11 toolset

Visual Studio 2013 uses the v12 toolset

 Visual Studio Configuration Properties

## Thursday, December 25, 2014

### How to Make Scatter Graphs in InfoSWMM and H2OMap SWMM

How to Make Scatter Graphs in InfoSWMM and H2OMap SWMM

Scatter graphs of velocity on the X axis and depth on the Y axis are important to help understand the reason for flow/depth relationships in flow surveys.  You can make a scatter graph in InfoSWMM by plotting the link flow and the by clicking on the Report button.  A right mouse click will bring up the Data Scatter Plot option. The column on the left of the selected columns will be the X Axis column of data. The column on the right will be the Y Axis column of data.  The default is depth followed by velocity. The order variables can be changed by using the Format Icon (bullet 1) followed by the Scatter Plot selection of velocity/depth (see Figure 1 for an example).  Figure 2 shows how to make a Log/Log Scatter Graph in InfoSWMM using the Properties Icon.

 Figure 1.  The Basic Velocity vs Depth Scatter Graph in InfoSWMM

 Figure 2.  The Log/Log Options for a Scatter Graph.

## A rise in Pipe Inverts Across a SWMM 5 Node

Subject:  This is how SWMM 5 handles  jumps in pipe invert across a node.
The water surface in the node determines the flow in the link, as the depth increases due to upstream inflow eventually the downstream link will start flowing.

## Saturday, November 22, 2014

### @RDICKINSON for @Innovyze on @Medium or my Modeling Posts on Medium

This is a 2014 blogging experiment - a new set of posts on Medium.  I got the idea from @boonsri  The blogs describe @Innovyze software and SWMM5

Robert E Dickinson

## Friday, November 21, 2014

### Showing Multiple Link Attributes in InfoSewer

This blog shows how to display multiple link parameters.

The 1st method would be to use Arc Map Layer properties and label multiple parameters for each gravity main or force main.  The image below shows and example and here is the code inside of Arc Map to do this

Function FindLabel ( [DIAMETER], [Pipe.SHAPE_Length], [COEFF] )
FindLabel = [DIAMETER] & " m / "  & " " & [Pipe.SHAPE_Length]  &  " m / n "   & [COEFF]
End Function
 Arc Map Label Annotation

Or

Function FindLabel ( [DIAMETER], [Pipe.SHAPE_Length], [COEFF] )
FindLabel = " D= " & [DIAMETER] & " m / L="  & " " & [Pipe.SHAPE_Length]  &  " m / n "   & [COEFF]
End Function

 Label Properties in Arc Map or Arc GIS

The 2nd method is to use Annotation and Map Display in InfoSewer

If you want to show both pipe diameter and slope on the map of InfoSewer you will have to workaround the limitation of having only one map variable:
1. You can map the diameter using Map Display and then
2. Use the Annotation tool to show the 2nd variable such as Length or slope.
3. Here is an example with different colors for diameter and length

 Map Display and Annotation in InfoSewer

# InfoSWMM 2D Version 13 Brings Significant 1D and 2D Simulation Advancements To Power Users

## Latest Release Confirms Product as Leading GIS-centric Urban Drainage Modeling and Management Solution

### Broomfield, Colorado, USA, November 18, 2014

Innovyze, a leading global innovator of business analytics software and technologies for smart wet infrastructure, today announced the worldwide availability of the V13 Generation of its industry-leading InfoSWMM 2D for ArcGIS (Esri, Redlands, CA). InfoSWMM 2D delivers new ways to quickly and accurately build and analyze very large and comprehensive two-dimensional (2D) models that reliably simulate complex urban stormwater, sanitary sewers, river flooding and pollutant transport. It allows users to accurately predict the extent and duration of urban and rural flooding for comprehensive stormwater management directly within the powerful ArcGIS environment.

A fully hydrodynamic geospatial stormwater modeling and management software application, InfoSWMM 2D can be used to model the entire land phase of the hydrologic cycle as applied to urban stormwater systems. Built atop ArcGIS and using exceptionally robust and efficient numerical simulation capabilities, the model can perform single-event or long-term (continuous) rainfall/runoff simulations accounting for climate, soil, land use, and topographic conditions of the watershed. In addition to simulating runoff quantity, InfoSWMM 2D can reliably predict runoff quality, including buildup and washoff of pollutants from primarily urban watersheds. It also features very sophisticated Real-Time Control (RTC) schemes for the operational control and management of hydraulic structures.

A hallmark of InfoSWMM 2D is its dynamic integration of one-dimensional (1D) hydrodynamic simulation of flows in open channels, HEC-22 inlets and closed pipe networks with two-dimensional (2D) hydrodynamic simulation of surface runoff, evaporation, infiltration and flooding in the urban environment. The dynamic integration, achieved through an explicit coupling of 1D and 2D flow equations, provides a powerful solution for simultaneously modeling belowground and aboveground elements of watersheds to accurately represent all flow paths and improve understanding of holistic processes. InfoSWMM 2D also directly simulates the rainfall and infiltration on both the watershed and the 2D surface to better simulate 1D flooding, 2D surface flooding, 2D shallow groundwater recharge and complex 1D and 2D surface interactions.

The full 2D free-surface shallow water equations are solved using a highly advanced finite volume method, which is particularly suitable for rapidly varying flood flows such as those moving through steep streets and road junctions and those associated with bank overtopping or breaching. The unparalleled 1D/2D dynamic linking capabilities of InfoSWMM 2D give engineers the unprecedented power to analyze and predict potential flood extents, depth and velocity and accurately model the interaction of surface and underground systems in an integrated 1D/2D environment. The software can be used to simulate point sources, 2D boundaries, multiple 2D mesh and simulation polygons in a sewer or stormwater network. The combined water level and velocity results throughout the flooded areas can be viewed as various comprehensive graphs; tables; or animated, thematic flood maps.

Among its many new enhancements, Version 13 uses a significantly improved 2D simulation engine, the flexible InfoSWMM ArcMap polygon tools, a 1D InfoSWMM engine based on the latest EPA SWMM 5.1, a new 1D and 2D graphics engine and a comprehensive Output Report Manager and Statistical Event Manager for both 1D and 2D output. In addition, the new release allows users to instantly visualize the maximum extent of flooding in vivid 2D and 3D maps.

“We’re deeply committed to providing a geospatial modeling experience that is both intuitive and powerful, and InfoSWMM 2D V13 embodies that commitment,” said Paul F. Boulos, Ph.D., BCEEM, NAE, Hon.D.WRE, Dist.D.NE, F.ASCE, President, COO and Chief Technical Officer of Innovyze. “This release delivers major geotechnological and computational enhancements in short release cycles to make sure our customers are always equipped with the ultimate ArcGIS-centric decision support tool for stormwater and urban drainage systems. It greatly extends the core features of InfoSWMM, providing the most powerful and comprehensive ArcGIS-centric tool kit ever for managing the risks of urban and rural flooding. This is a must have for effectively controlling and managing sanitary sewer and combined sewer overflows.”

## Monday, November 17, 2014

### Arc Map Backwards Compatibility for InfoSWMM

Arc Map Backwards Compatibility for InfoSWMM:
1. Use windows explorer to, make a zero byte mxd file with the same name as your isdb folder,
2. click on the blank mxd file and initialize InfoSWMM or InfoWater,
4. fix the extents of the map in arc gis by using Data Frame,
5. save the Arc Map to make a model in your version of Arc Map

## Wednesday, November 12, 2014

### The 10 year Anniversary of the release of EPA SWMM 5

A colleague mentioned that this is the 10th year anniversary of EPA SWMM 5. I thought this important or noteworthy anniversary was worthy of a short blog.

The release dates for SWMM 5 are from

-----------------------
Build 5.0.002 (11/1/04)
-----------------------
1. Modifications made to the Picard method used for dynamic wave
flow routing routine.

------------------------
Build 5.0.001 (10/29/04)
------------------------
First official release of SWMM 5.

since there were 4 releases during a 4 week period, it might be better to consider the whole month the release date for SWMM 5.0.001 to SWMM
5.0.004

Wikipedia has the whole timeline of SWMM 1/2/3/4/5

## Saturday, November 8, 2014

### Legacy SWMM 5 and SWMM 5.1 Installs

I have a somewhat hidden website on Ning with this URL

http://swmm5code.ning.com/

that has legacy SWMM 5 and SWMM 5.1 installs for the interested

Here is what the site looks like - the text box or blog feature you will want is on the right at the top

 Legacy SWMM 5 and SWMM 5.1 Installs

## Tuesday, October 21, 2014

### Innovyze Releases InfoSWMM Generation V13, Spearheading New Era in GIS-Centric Smart Wastewater Modeling

 Innovyze Releases InfoSWMM Generation V13, Spearheading New Era in GIS-Centric Smart Wastewater Modeling
 Latest Release Gives Communities Groundbreaking Network Simulation Power and Full Compatibility with SWMM 5.1

## Wednesday, October 15, 2014

### How to Draw the Top Width in @INNOVYZE #InfoSWMM for Transects OR HEC-RAS Open Channels

Here is a procedure that works for me to draw the top width for transects from the InfoSWMM model results:
1. Make a map display of the maximum top width during the simulation, the variable is MXTOP_WIDH and will added to the Arc Map TOC
2. Use the Buffer Command in Arc Map and a field of MXTOP_WIDH
3.  the Buffer Command in Arc Map and the Pipe or Link feature class
4. I have Arc Map Standard so I cannot use Create Polygons from Lines or Advanced Editing which might work for you http://resources.arcgis.com/en/help/main/10.2/index.html#//01m600000015000000
5. There is a buffer polygon made with a different width for each link
 How to Draw the Top Width in InfoSWMM for Transects

## Monday, October 13, 2014

### Weekday and weekend hourly time patterns for Dry Weather inflows are now correctly applied in a mutually exclusive manner in #SWMM 5.1

This is a code note about change 52 in the newer EPA SWMM 5.1.x C code

52. Weekday and weekend hourly time patterns for Dry Weather inflows are now correctly applied in a mutually exclusive manner.

Here is the code from SWMM 5.0.022

double inflow_getDwfInflow(TDwfInflow* inflow, int month, int day, int hour)
//
//  Input:   inflow = dry weather inflow data structure
//           month = current month of year of simulation
//           day = current day of week of simulation
//           hour = current hour of day of simulation
//  Output:  returns value of dry weather inflow parameter
//  Purpose: computes dry weather inflow value at a specific point in time.
//
{
int    i,                          // pattern type index
p;                          // pattern index
double f = 1.0;                    // pattern factor

for (i=0; i<4 i="" o:p="">
{
p = inflow->patterns[i];
if ( p >= 0 ) f *= inflow_getPatternFactor(p, month, day, hour);       //(5.0.019 - LR)
}

return f * inflow->avgValue;

Here is the new 2014+ code,  which adjusts the pattern  factor based on the day of the week.

double inflow_getDwfInflow(TDwfInflow* inflow, int month, int day, int hour)
//
//  Input:   inflow = dry weather inflow data structure
//           month = current month of year of simulation
//           day = current day of week of simulation
//           hour = current hour of day of simulation
//  Output:  returns value of dry weather inflow parameter
//  Purpose: computes dry weather inflow value at a specific point in time.
//
{
int    p1, p2;                     // pattern index
double f = 1.0;                    // pattern factor

p1 = inflow->patterns[MONTHLY_PATTERN];
if ( p1 >= 0 ) f *= inflow_getPatternFactor(p1, month, day, hour);   // Pattern f value is 1 * The Monthly Factor
p1 = inflow->patterns[DAILY_PATTERN];
if ( p1 >= 0 ) f *= inflow_getPatternFactor(p1, month, day, hour);   // Pattern f value is last f * The Daily Factor
p1 = inflow->patterns[HOURLY_PATTERN];
p2 = inflow->patterns[WEEKEND_PATTERN];
if ( p2 >= 0 )
{
if ( day == 0 || day == 6 )
f *= inflow_getPatternFactor(p2, month, day, hour); // Pattern f value is last f * The Hourly Factor for Saturday and Sunday
else if ( p1 >= 0 )
f *= inflow_getPatternFactor(p1, month, day, hour); // Pattern f value is last f * The Hourly Factor Monday to Friday
}
else if ( p1 >= 0 ) f *= inflow_getPatternFactor(p1, month, day, hour);  // Pattern f value is last f * The Hourly Factor
return f * inflow->avgValue;

## Saturday, October 11, 2014

### GUI Compilation Note for the #SWMM 5.1.x Delphi Code

This is for Students who want to make their own customized version of the SWMM5 GUI Interface. You can use the Embarcadero Starter Version for XE2 to XE7.  Here are the main files you download from the EPA There may be a problem with teechart and the starter version - see the note here http://docwiki.embarcadero.com/RADStudio/XE7/en/FireMonkey_and_TeeChart  I got it work in XE7 but I did have to remove XPPRINTER references from the Delphi code.

CONTENTS OF SWMM5.1.007_GUI.ZIP
=============================

Note from the EPA: This archive contains source code for the Windows graphical user interface portion of Version 5.1.007 of the Storm Water Management Model (SWMM). The interface was written using Embarcadero's Delphi XE2 (www.embarcadero.com). The name of the Delphi project containing the code is Epaswmm5. All of the files for the project can be found in the GUI5_1_007.ZIP file within this archive.

Before the Epaswmm5 project can be loaded into Delphi's Integrated Development Environment (IDE), several special components must be installed into the IDE's component pallette. The source code for these components is contained in the COMPONENTS.ZIP file in this archive. Consult the Delphi Users Guide for instructions on how to install these components.

My note:  The Delphi Starter versions for XE2 to XE7 also can create a customized SWMM5.1 GUI.  You can by the Embarcadero Starter Version for \$209 USD.  As explained in the readme from the EPA Site, Delphi uses the Delphi Interface (Bullet 1), the F(form files), D(dialog files), U(Utility files), Txt (Interface Rules) as shown in Bullet 2 and Components that work with the Forms of the Delphi Compiler (Bullet 3).  See Figure 1 below for an example.

 Figure 1. Delphi XE7 Interface for SWMM 5.1.007
Here is how to use the Components

CONTENTS OF COMPONENTS.ZIP
==========================
This archive contains the source code for several 32-bit Delphi
custom components. The components and the files used to install
them are listed below.

-------------------------------
OpenTxtFileDialog (OpenDlg.pas)
-------------------------------
Windows standard Open File dialog with a preview window for text files.

---------------------
NumEdit (NumEdit.pas)
---------------------
Text box control that limits entries to valid numerical values.

-----------------------------
PageSetupDialog (PgSetup.pas)
-----------------------------
Dialog control that selects a printer and page orientation, margins,

-----------------------------
VirtualListBox (VirtList.pas)
-----------------------------
Listbox control that allows an unlimited number of items.

---------------------------
PrintControl (Xprinter.pas)
---------------------------
Nonvisual control that handles printing of text, tables, and graphics.
Includes a print preview feature. Documentation is provided in the file
Xprinter.doc.

What do the Components look like?
 Figure 2. Delphi Components on a Form

### EPA SWMM Build 5.1.007 (9/15/2014) with New Feature Images

SWMM 5.1 Update History
=======================

1.   A new feature that provides monthly adjustments for
temperature, evaporation rate, and rainfall was added.

2.   Support for reading the new GHCN-Daily climate data
files available from NCDC's Climate Data Online service

3.   In addition to lateral groundwater flow, a custom
equation can now also be used for seepage flow to
a deeper groundwater aquifer.

4.   The [GW_FLOW] section of the project file was renamed
to [GWF] and its format was changed to accommodate
both lateral and deep groundwater flow equations.

5.   A new Weir parameter was added that specifies if the
weir can surcharge using an orifice equation or not.
Surcharging was the only option in SWMM 5.0 but was
switched to no surcharging in earlier 5.1 releases.
This new parameter accommodates both closed top weirs
that can surcharge and open channel weirs that cannot.

6.   The formula used to recover infiltration capacity during
dry periods for the Modified Horton method was revised.

7.   The initial cumulative infiltration into the upper soil
zone for Green-Ampt infiltration had been incorrectly
set to the maximum value instead of zero.

8.   All of the Green-Ampt infiltration functions were
re-factored to make the code easier to follow.

9.   The calculation of infiltration out of the bottom of a
Bio-Retention Cell or Permeable Pavement LID unit with a
zero-depth storage layer was corrected.

10.  Most of the LID simulation routines were modified to
provide more accurate results under flooded conditions.

11.  Results written to the detailed LID results report now
always correspond to a full reporting time step.

12.  The name of the variable used to represent the height of
the receiving channel bottom in a user-defined groundwater
flow equation was corrected to match the name displayed
in the GUI's Groundwater Editor dialog (Hcb).

13.  A problem with the program crashing when a climate file
was used to provide evaporation rates for open channels
and storage nodes when runoff was not computed (as when
there were no subcatchments in the project) was fixed.

14.  Flow and pollutant routing mass balance accounting was
modified to correctly handle negative external inflows.

15.  The procedure for computing the area available for seepage
out of a storage node that has a tabular storage curve was
corrected.

16.  Seepage from storage units can now be modeled using Green-
Ampt infiltration, which makes the seepage rate a function
of storage level. The constant seepage rate option can
still be used by setting the G-A initial moisture deficit
to 0.

17.  The function that finds depth as a function of volume from
a storage curve was corrected for the case where the depth
falls within a portion of the curve where area is constant
with depth (i.e., vertical side walls).

1.   The Object Toolbar was restored.

2.   A new page was added to the Climatology Editor to edit
values for monthly adjustments for temperature, evaporation,
and rainfall.

3.   A field for the new weir surcharge option was added to the
Weir Property editor.

4.   A problem with the current project being closed without
asking if it should be saved first whenever a new style
theme was selected from the Program Preferences dialog
has been fixed.

5.   The default seepage rate from an LID storage layer was changed.

6.   The Infiltration Editor was restored for editing Green-Ampt
parameters for storage unit seepage loss.

7.   The Groundwater Flow Equation Editor was extended to accept

equations for deep groundwater flow.

History of EPA SWMM versions (from Wikipedia)

### InfoSWMM Version Numbers and the version of Arc Map they use and which EPA SWMM5 Engine is used for Each InfoSWMM Version

InfoSWMM Version Numbers  InfoSWMM Version 14.7  Update 3 for Arc Map 10 to 10.8 and Windows 7/8/8.1/10 - EPA SWMM 5.1.014   4/12/2020   ...