Importing Sanitary Loading Information Using ModelBuilder

Product(s): SewerGEMS, SewerCAD
Version(s): and higher
Area:  Data Import/Export



This article describes the process by which a user can import sanitary or inflow loading data using Modelbuilder. SewerCAD is used, but the process also applies to SewerGEMS.


In SewerCAD, loading information can be entered as a Hydrograph (flow vs. time), Unit based (unit type and count), Pattern based (base flow and pattern) or fixed load (single base flow, held constant.). Loads can be categorized as either sanitary dry weather or inflow wet weather.

If your loading data is in an Excel spreadsheet and you have a field that contains labels that match your SewerCAD model's manhole labels, you can use the Modelbuilder feature to import them. For example:




Note: If your loading information is contained within shapefiles, you will need to use the LoadBuilder tool to import them, based on the spatial information. This is outside the scope of this Technote.

If you attempt to import the loading information using Modelbuilder, you may end up with the following unexpected result:


As you can see, these pattern-based loads and Unit loads did not import correctly. The correct patterns/unit loads were not assigned and the load has imported as a Sanitary Hydrograph load type. Because of this, the base flow and unit count are ignored. There are two reasons why this has happened: 

  1. The patterns must be defined ahead of time, under Components > Patterns. ModelBuilder will not automatically create patterns; it is simply linking the data in your source file (the pattern labels) with the pattern field. If the patterns are not defined yet, then a matching selection will not be found and you will get the above warning. The same applies to the unit load label. Your unit load (for example, ‘Residential', representing 100 gpd per person) must also be defined ahead of time before the unit count can be imported into your manholes.
  2. Since a sanitary load can be a Hydrograph, Pattern-based, or Unit load, the user must specify which of these load types is being imported, in addition to the information already in the spreadsheet. Without specifying this Load Definition, the program will import the load as the default type, which is Sanitary Hydrograph.


Properly Importing your Loads in ModelBuilder


Note that when you import loads using this process, they will override any previous loads assigned to those manholes included in the spreadsheet. So, this process cannot be used to 'update' an individual load for manholes who have multiple items in the sanitary load collection. All of the loads that should be present for a particular manhole should be included in the spreadsheet when using this process.

Note: It is possible to have two different types of unit loads applied to a single manhole, but all loads will need to be added at the in the same ModelBuilder connection.

First you must define your patterns (if importing any pattern-based loads). Go to Components > Patterns. Create a new hydraulic pattern and enter the starting multiplier along with the table of time and multiplier:

To import patterns using ModelBuilder , have a look this support solution. 

Ensure that the labels for your patterns match the ones in the source file that contains the loading data.

If you need to import any unit loads, you will then need to define them, under Components > Unit sanitary loads.

Next, open your source data file and add a new field called "Load Type". For each row of data, you will need to type in the corresponding load type. For sanitary loads, they must be entered exactly as follows (spelling and capitalization):

            Sanitary Unit Load
            Sanitary Pattern Load
            Sanitary Hydrograph

For manhole Inflow loads, they must match the following:

            Fixed Load
            Hydrograph Load

Your source file may look like this:


Note: Composite loads (more than one load per manhole) will also work. Meaning, you can have multiple rows with "MH-1", but with different loads. For example, MH-1 might have both a pattern load and a unit load, or perhaps it might have two different types of unit loads.


Next, start a new ModelBuilder run by going to Tools > ModelBuilder and clicking the white paper icon. Select your Data Source type and then the file itself. Click the check box next to only layer or worksheet that contains the data. You can click "Show Preview" to check the data in the layer selected:

Click Next. On the next page, uncheck all spatial/creation/deletion options. This is because we are updating elements, not creating or deleting them.

Click ‘Next' to display the field mappings. First, click on the layer on the left side and select "Manhole, Sanitary Loads" as the "Table" type.

Note that if you need to bring in one of the Inflow load types, you will need to select "Manhole, Inflow (Wet) Collection" as the table type. If you need to bring in a "Fixed Load" inflow load type, your source file will only need to include a column for the flow and for the load type (‘Fixed Load'.)


For the "Key/Label field", select the column name that contains the manhole labels. On the bottom of this window, each of your fields will be displayed. You will need to click each one and link them to the corresponding SewerCAD field. Note: If the label in the spreadsheet does not match the label in the model, a new element may be created. Be sure that the labels in the source file match the model labels.

‘Base Flow' - the base flow field associated with a pattern-based load (Make sure you check your units!)
‘Index' - This is used for hydrograph loads (beyond the scope of this TechNote)
‘Load Definition (ID)' - the internal ID number of the load type. This does not need to be used.
‘Load Definition (Label)' - the field containing the type of sanitary load you are importing (described above)
‘Loading Unit Count' - the count field associated with a unit load
‘Pattern (ID)' - the internal ID number of a pattern. This does not need to be used.
‘Pattern (Label) - the field containing the name of the pattern associated with a pattern-based load
‘Unit Sanitary Load (ID)' - the internal ID number of the unit load. This does not need to be used.
‘Unit Sanitary Load (Label)' - the field containing the name of the unit load for a unit sanitary load.

Note: not every one of these fields will necessarily be used. For example, if you are only importing pattern loads, you would only need to link the "Pattern (Label)" and "Base Flow" fields.

Once completed, your window will look similar to this:

Note that if you need to import a hydrograph load, the process is different and outside the scope of this TechNote. The table of flow vs. time needs to be imported first, using the hydrograph table type. The load would then need to be assigned to the manhole using the index in the sanitary or inflow collection table type.


Click Next and choose to build the model. Check the "Messages" tab for any warnings and then close Modelbuilder. Open the Sanitary Load Control Center. The loads should have been imported correctly.

Note that the loads/inflow that you import using ModelBuilder will be imported into the scenario that is active before opening ModelBuilder. This means that the loading/inflow data is imported into the "Sanitary Loading" or "Inflow" alternative assigned to that scenario.

For a pattern based load, if the pattern is "fixed", you'll get a warning at the end of the ModelBuilder run that the Fixed load could not be found. This message can be ignored, but if you have a lot of fixed loads and you're doing a steady state analysis, you may want to consider importing them as Fixed inflows instead. This is a special type of load that falls under the "Inflow category". This involves only a single value, so you don't have to associate it with a pattern.

See Also

How to import hydrograph data into the Inflow Control Center

Product TechNotes and FAQs

OpenFlows Product Tech Notes And FAQs

Hydraulics and Hydrology Forum

External Links

Bentley homepage

Bentley LEARN Server