Building and maintaining a GIS model with WaterGEMS/SewerGEMS/HAMMER for ArcMap

A question that comes up every now and again when I talk to users is how do I prepare my GIS data for use in WaterGEMS or SewerGEMS for ArcMap? I find the question usually arises from a need to figure out how to keep GIS data in sync for building a model or updating a model using ModelBuilder. Below are steps that outline a good process to use in order to 1) Familiarize yourself with WaterGEMS or SewerGEMS properties and how they work 2) Learn how ModelBuilder works for different data types when building and maintaining a model.

1) In WaterGEMS or SewerGEMS write down the field names that you want to add to your shapefile or feature class, which are going to be used in ModelBuilder to import/export data. If you're updating a field that is dependent upon another field being set to a Boolean value, for example, “Has User Defined Length?”, make note of it and about setting up fields to work with in ModelBuilder.

2) Understand how to use GIS-ID's as your unique identifiers for an element. GIS-ID's can be used to maintain a one to one link between your GIS file and the software property element, a one to many link, or a many to one link. There is more information about how this works found in the help documentation under the search term ‘GIS-ID’. Some specific help document names are 'GIS-ID's' and 'Preparing to Use Modelbuilder'. If you plan on maintaining your GIS system and hydrologic model over a long period it’s worth researching and setting this up.

3) Create shapefiles or feature classes with the snapping feature on to assure all elements are linked together. This will prevent gaps in connections between elements and your connectivity will be intact the way it was originally connected in the GIS shapefile or feature class instead of allowing the possibility for a misconnection. If the shapefiles or feature classes are already created, make sure to edit your data so the features are very close together or are snapped. The smaller the gap the smaller the tolerance must be set during an import with ModelBuilder.

4) When creating your shapefile make sure to snap all the lines(pipes) to end points (junctions, pumps, catch basins, manholes, etc …). If you snap the lines to mid-points when Modelbuilder builds your network it will create a junction on the end of a pipe that is attached to the mid-point of the other pipe, but the pipe won't be attached. When this occurs, you'll have to use the batch pipe split tool (Tools > Batch PIpe Split) to connect the lines, which would add additional work.

For example, if polyline P-1 connects to P-3 below in your GIS shapefile (feature class) at a mid-point as shown in the screen shot below, when constructed in Modelbuilder the junction that is created at the end of P-1 will appear to be attached to P-3, but it will not have split the pipe. Instead of having two pipes, say P-4 on the left side of where P-1 splits the pipe and P-5 on the right side, you just have one single pipe, P-3.


In the diagram below the junction that is created after running Modelbuilder does NOT split pipe P3, therefore, you would have to perform a batch pipe split. 

The best approach to build your polylines file along with your points features in your GIS and make sure to snap all the elements together at endpoints. If you do this you'll have no trouble creating your network model with Modelbuilder 

5) After your shapefiles or feature classes have the fields that you need to keep track of your GIS data run a test using ModelBuilder on a small amount of data. This makes it easier to understand how the ModelBuilder process works.