Boundary conditions are necessary to establish the starting water surface at the ends of the river system (upstream and downstream). A starting water surface is necessary in order for the program to begin the calculations. In a subcritical flow regime, boundary conditions are only necessary at the downstream ends of the river system. If a supercritical flow regime is going to be calculated, boundary conditions are only necessary at the upstream ends of the river system. If a mixed flow regime calculation is going to be made, then boundary conditions must be entered at all ends of the river system.

The boundary conditions editor contains a table listing every reach. Each reach has an upstream and a downstream boundary condition. Connections to junctions are considered internal boundary conditions. Internal boundary conditions are automatically listed in the table, based on how the river system was defined in the geometric data editor. The user is only required to enter the necessary external boundary conditions. There are four types of boundary conditions available to the user:

Known Water Surface Elevations - For this boundary condition the user must enter a known water surface elevation for each of the profiles to be computed.

Critical Depth - When this type of boundary condition is selected, the user is not required to enter any further information. The program will calculate critical depth for each of the profiles and use that as the boundary condition.

Normal Depth - For this type of boundary condition, the user is required to enter an energy slope that will be used in calculating normal depth (using Manning's equation) at that location. A normal depth will be calculated for each profile based on the user-entered slope. In general, the energy slope can be approximated by using the average slope of the channel, or the average slope of the water surface in the vicinity of the cross section.

Rating Curve - When this type of boundary condition is selected, a pop up window appears allowing the user to enter an elevation versus flow rating curve. For each profile, the elevation is interpolated from the rating curve given the flow, using linear interpolation between the user-entered points.

Whenever the water surface elevations at the boundaries of the study are unknown; and a user defined water surface is required at the boundary to start the calculations; the user must either estimate the water surface, or select normal depth or critical depth. Using an estimated water surface will incorporate an error in the water surface profile in the vicinity of the boundary condition. If it is important to have accurate answers at cross sections near the boundary condition, additional cross sections should be added. If a subcritical profile is being computed, then additional cross sections need only be added below the downstream boundaries. If a supercritical profile is being computed, then additional cross sections should be added upstream of the relevant upstream boundaries. If a mixed flow regime profile is being computed, then cross sections should be added upstream and downstream of all the relevant boundaries. In order to test whether the added cross sections are sufficient for a particular boundary condition, the user should try several different starting elevations at the boundary condition, for the same discharge. If the water surface profile converges to the same answer, by the time the computations get to the cross sections that are in the study area, then enough sections have been added, and the boundary condition is not affecting the answers in the study area.