I'm using GIS data to construct a model that is going to be used to build a water or storm sewer model. What's the best way to prepare the data to make it easy to use with the software's element properties design?
1) Familiarize yourself with the ModelBuilder field mapping step (step 5) and the properties of the elements that you'll be importing in your model. Write down the field names that you want to add to your shapefile or feature class. If you're updating a field that is dependent upon another field being set to a Boolean value make note of it and read the following wiki article.
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'.
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.
When creating your shapefile make sure to snap all the lines(pipes) to end points. If you snap the lines to mid-points when Modelbuilder builds your network it will create a junction on the end point 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.
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 actually 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
4) Run a test using ModelBuilder on a small amount of data to understand how the process works. This will allow you to understand which fields you'll need to add to specific shapefiles. For example, elevation invert fields that you want to import for conduits/pipes should be added to the conduit/pipe shapefile. if you plan on manually setting the invert (start) and invert (stop) instead of allowing the fields to automatically be populated by the manhole inverts. If you are automatically allowing the invert (start) and invert (stop) to be populated by the software you can omit this field from the conduits/pipes and enter it in the manhole shapefile. You can read more about this in the wiki article linked to above about using Boolean values in ModelBuilder.
Keeping a Hydraulic Model in Sync with a GIS
Converting your model elements to shapefiles
Building a model using ModelBuilder
Building a model from a geodatabase (YouTube)