Views:

Question
River modelers may sometimes get the error message e.g. :

“Exception: Water level exceeded maximum on 1 grid point(s). Largest exceedance on reach … , chainage: … m. Water depth is … m which is more than … times the cross section height. Water level is … m.”
 

What could be the reasons and how to resolve this?

Answer

Before attempting to resolve the error the user is advised first to review in-depth the log/html files and the model results (res1d result file, if at all generated) using MIKE+ Results tools or MIKE View interface. Studying the log/html files (checking the mass balance and going through the entire list of errors, warnings, and problematic locations along the river network) as well as the longitudinal discharge and/or water level results in the problematic and nearby reaches can often provide very useful information on what is causing the error(s). Particularly, it is recommended to check for any strange peaks (e.g. at the energy line) or fluctuations (in discharge/water level/Froude number timeseries plots or when viewing the longitudinal profile plot or running the animation). If the model is unstable one can start assessing the instabilities by focusing at the chainages with highest discharge and/or water level - Fig. 1.

Fig. 1 - Illustration of instabilities in river discharge timeseries and longitudinal water level results 
 
Please note instabilities will create mass errors but at the same time the mass balance will most likely never be perfect, since water generation corrections may be required during the simulation. However, it is recommended to aim at having an acceptable mass balance error (not necessarily a 'zero' one).

 

It is also worth mentioning that when a simulation is unstable, results may be different on two different computers (even using the same software version). This is because when a simulation is unstable, values become unrealistically high, and at this point the results become dependent on the number of digits saved for the calculated values, which may depend on the hardware. This issue does not occur when the simulation is stable.
 
Please note there may be different reasons for encountering the “Water level exceeded…” error when attempting to run a river model (or in the context of a coupled river 1D-2D overland flooding or a coupled river-hydrological (MIKE SHE) model). The following list of potential causes for river model instability should not be considered exhaustive, but it can serve as a good starting point for troubleshooting and resolving such error.
 

#1 “Cross section extrapolation” parameters

In many cases the aforementioned error message may be the expression of an instability in the river model, but in some cases this may just arise as a result of an inappropriate definition of the “Cross section extrapolation” and “Cross section extrapolation height factor” parameters values located in the "MIKE 1D engine configuration" dialog, as shown in Fig. 2. Such parameters should be the first to check, particularly to ensure the “Cross section extrapolation” be activated (defined as ‘Yes’), while the “Cross section extrapolation height factor” should be defined with a high enough value (e.g. in the range of 4-20).
Note: care should be taken as an extremely unrealistic/high value could be responsible for 'hiding' instabilities and thereby wrongly allowing the model to continue running when it should have stopped with a “Water level exceeded..” error).

Fig. 2 - The Cross section extrapolation parameters can be accessed from the ‘MIKE 1D engine configuration’ dialog 
 

#2 Cross-sections geometry

Sometimes there are no cross-sections defined at the confluences where tributaries meet the main river (or between tributaries) - see Fig. 3. 

Fig. 3 - Missing cross-sections at confluences between rivers/tributaries 
 
This has side-effects as the bed level at the confluence may not be consistent (i.e. there may be abrupt transition between the bed levels) - see Fig. 4 - eventually resulting in instabilities.
Fig. 4 - Abrupt step effects may often be observed at confluences due to missing cross-sections ultimately resulting in instabilities 
 
In this case it is recommended to insert cross-sections at the end of the tributaries and also insert interpolated cross-sections right at the connection chainage (or insert an interpolated cross-section and re-define the connection chainage accordingly). The user should also ensure that the bed level between the two cross-sections is the same or very close. If there is a need to maintain a significant difference in bed levels, the user could consider applying a suitable hydraulic structure, such as a weir structure.
 
It is recommended to check for wrong/unrealistic cross-sections geometry, as well as abrupt transition in cross-sections geometry (within the cross-section and along the river).
 
It is also recommended that time is spent on adjusting the section characteristics such that a monotoni­cally increasing conveyance curve is obtained (Cross section properties processed data). If not, there is a signifi­cant risk of obtaining instabilities in the simulation for water levels in the range where the non-increasing conveyance values are present.
 
In case of flat riverbed cross-sections (e.g. canals) the user is advised to adjust the ‘Threshold depth for slot creation (Delh)’ parameter (accessed from 'Simulation' menu | ‘MIKE 1D engine configuration’ dialog), although care should be taken as an excessively modified value might impact the water balance.
 

#3 Boundary conditions & Initial conditions
 
Make sure the value defined at the boundary conditions at the start of the simulation period is the same as (or very close to) the value defined for the initial conditions. An efficient way to ensure the model does not stop with an error at the beginning is to apply a 'Hotstart' initial condition (usually obtained from a previous simulation run where the system has reached equilibrium or is at a state that is close enough to the desired conditions at the start of the simulation).
Please note, at the beginning of a simulation, there may be a period required before the simulation converges towards a “normal flow condition” (independent of the initial conditions), in which case it may be safe to ignore the results during the first time steps.
 
In general, it is recommended to check for any wrong/unrealistic boundary and/or initial conditions nearby the chainage that is referred to in the error message.
 

#4 Roughness/resistance type/values

It may be that the roughness values have not been specified correctly at the cross-sections editor and/or the MIKE+ "Bed roughness" editor. E.g. it may be that the Roughness type selected at the Cross sections editor is defined as ‘Manning’s n’ while the actual values are defined as ‘1’ (maybe still kept after applying the “Relative roughness” type - Fig. 5), which may give rise to instability issues.

Fig. 5 - Care should be taken so that the Roughness Type and values in the ‘Cross sections’ editor are appropriately defined in relation to the respective type/values defined in the MIKE+ ‘Bed roughness’ editor

In addition, large deviations in roughness between consecutive cross-sections may also result in instabilities. 

Therefore, it is recommended to review the cross-sections roughness values in relation to the roughness values defined in the MIKE+ 'Bed roughness' editor and, if needed, modify them accordingly (e.g. by selecting the cross-sections with wrong roughness type or value and then applying the “Edit properties for multiple cross sections” tool to change them collectively).

Please note, increasing the bed resistance has a stabilizing effect, but care should be taken so that the bed roughness values for a given riverbed type/material are realistic and within the literature range.

 

#5 Time step, Dx, Max Dx, Courant stability criterion & Delta parameter values
 
The Courant criterion establishes a relationship between the grid spacing (Δx) and the time step (Δt) in numerical hydrodynamic/wave simulations. It requires that the physical domain of dependence be contained within the numerical domain of dependence, which means the time step must be small enough so that information cannot travel further than the grid spacing between time steps.
In its simplified, one-dimensional form, this is expressed as the Courant number where {\displaystyle C={\frac {u\,\Delta t}{\Delta x}}\leq C_{\max }}, meaning the maximum velocity, (u), multiplied by the time step, Δt,  must be less than or equal to the grid spacing, Δx. Another expression of the Courant number equation is: 
where V is the flow velocity, y is the water depth, and g is the gravitational acceleration constant.
The Courant criterion relationship therefore implies that higher water depths call for a smaller time step. To pre-assess (before even running the model) the model's stability, the user is advised to use the ‘Analyse’ functionality/button at the ‘Simulation setup’ editor. The tool (option: 'Smallest time step for stability based on water depth') can generate a list of suitable simulation time steps for the different branches, which may be a good first estimate for the time step to be used in MIKE+ ('HD' tab of the ‘Simulation setup’ editor), as well as a list of Dx values (option: ‘Smallest length at H-points’). Such stability indicator parameters are important to check prior to running the model, since adjustments to cross-sections location and/or the Max Dx value and/or the time step, may be needed.
 
In case of instabilities the user could also consider increasing the ‘Time centering coefficient for gravity term’ (‘Delta’ coefficient), located at the MIKE 1D engine configuration dialog.
Note: The default value of 0.5 implies accurate results. A delta value of 0.6 is usually a good compromise between model stability and results accuracy, while higher values (up to 1) could be used to improve the model stability at the expense of accuracy (see the MIKE 1D Reference Manual for more details | A.2.5 DELTA Coefficient).
 
In general one should apply the default High Order (friction) Fully Dynamic Wave Approximation. The other methods may be suitable (could also be applied locally) where results accuracy is not the priority and where higher velocities may result in instabilities.
 
 
#6 Hydraulic structures
 
The user is advised to always check flow/water level at/close to structures. If not stable, appropriate modifications may be needed e.g:
  • Copy cross-sections close to the structure as the distance between the upstream/downstream cross-sections must be within max Dx
  • Care should be taken so that the geometry of hydraulic structures is properly defined. E.g. the structure area should be less than area of upstream/downstream cross-sections (please see the manual e.g. for culverts)
  • Increasing the head loss coefficients
  • Inserting an energy loss structure
 
Note: Hydraulic structures often require smaller time steps due to the flow dynamics and higher velocities at the structures and the nearby area upstream/downstream.
 

FURTHER INFORMATION AND USEFUL LINKS

Manuals and User Guides

Training options
MIKE+ – Getting started with river modelling (Self-paced course)
 

Related Products: MIKE+