Flow short circuiting in 1D/2D XPSWMM model
source: Innovyze Support Portal
What is shown above is a common 1d/2d model error. You can see the flow is overflowing from the upstream banks, and then short circuiting back to the same channel on the downstream end. When something like this is happening, we usually have very poor continuity errors.
The models and calculations can be found on github.
If we check the 1D log table E19, we can see unrealistic flow is exchanged between the 2 nodes and the 2D surface. And the volume of around 11E06 was generated by the short-circuiting which is not real but due to model configuration errors.
Let’s take a closer look of this model.
Ideally when we build a 1d/2d model, the channel should fit nicely with the 2d surface as shown below.
The channel in the middle should match seamlessly with the surface on each side as the cross section shows.
However, when stitching 1d and 2d surface, it is quite common to have something like this below. The invert of the 1d channel didn’t line up with the 2d surface, here on the upstream side, the channel bottom is above the 2d surface, and the downstream end, the channel is much lower than the surface. And this usually will create the flow circuiting situation.
Link 1D and 2D Models
To understand the causes of this type of errors, we need to look into how the engine link 1d and 2d models. As shown in the figure below (from Tuflow manual), there are a few ways flow can be exchanged between a river and the surface around it. The 2d engine compares the water level in the 1D channel with the water level in the left and right banks, and then calculates the flow exchange at each cell.
The calculation for the flow to go through the banks is achieved using the interface lines. As shown in the figure below (from TuFlow), for a river reach, we create two interface lines for each bank (blue, HX type, head boundary), and then we connect the nodes to the interface line (green, CN type). By connecting the nodes to the interface bank lines, the 2D engine can interpolate the water depth inside the river by interpolating between the two nodes, then the engine compares the depth of the 1D river with the 2D cells along the interface line to calculate the flow exchange between them. Then the engine will divide the interface line in half, and load all the flows (in or out of 1D) on the upstream end to the upstream node, and the other half to the downstream node.
Ideally, the 1D banklines match exactly the 2D surface at where the banks are in a 3D space. However, when we build 1D channel, we tend to simplify its geometry to ignore the details such as small bends and slope changes. Especially if the river model is from a decades old FEMA insurance map study HECRAS model. So much has changed since the model was built, and with a surface from the latest LIDAR, it is rarely the case the HECRAS model can be dropped in and just match.
Therefore, when building 1D/2D models to link the river systems with the 2D, it is more like building a new model with existing information, because the accuracy of the model relies on building a correct representation of the river in 3D. When building the river reaches, make sure each reach has consistent cross section and slope. Refer to this excellent webinar for best practices on building 1D/2D river models.