Description
This is a recurrent topic among MIKE SHE users when working with surface water resources modelling.
The "Flood Codes" functionality (set up in MIKE SHE and MIKE+ Rivers) is considered as a highly recommended option when simulating inland waters such as ponds, lakes, reservoirs and floodplains that would require a spatial exchange area being greater than two times the chosen MIKE SHE cell size.
According to MIKE SHE's User Guide, the "Flood Codes" option allows a number of cells from the MIKE SHE model to be flooded based on the water level from the river model. When this option is active, a water body (with wide cross sections) may cause flooding of a number of cells in MIKE SHE. A correspondence / mapping is established between MIKE+ Rivers h-points (water level calculation points) and individual cells in MIKE SHE. Subsequently a simple flood-mapping procedure is adopted to calculate water depths on the ground in MIKE SHE. The flood mapping procedure simply compares simulated water levels (in the corresponding h-point) with the ground level in the MIKE SHE cells. If the water level is higher than the ground level, flooding occurs - see Fig. 1. The ponded water is then considered part of the 1D model. Inflows from MIKE SHE can occur when (i) flowing from a non-flooded cell to a flooded cell, (ii) there is exfiltration from SZ or (iii) when it rains on a flood cell. When the water level of the 1D model declines, then the water level in MIKE SHE flooded OL cells will simply be updated to the new value. See Fig. 1.
Fig. 1 - The "Flood Codes" concept
The main advantage of applying the Flood Codes option is to be able to allow higher water depths, while running the OL flow model component faster. This is because the OL flow component is deactivated at the "active" Flood Code cells and therefore there are no OL flow calculations in these cells.
The main requirement for applying this option is that the flooded area is wider than two grid cells across the associated water body. In case the flooded area of the water body is only 1-2 grid cells wide, then the user is advised to use the “Overbank spilling” option.
It is noteworthy that users often follow slightly different approaches (e.g. using GIS techniques) when applying the "Flood codes" option. The intention for this Knowledge Base article is to serve as an inspiration source rather than absolute recommendations on the workflow. This is because there may be different paths that can be adopted and different practices in users’ modelling routines. In case you have other ideas for improving the proposed workflow in the current Knowledge Base article do not hesitate to share with us, in order to improve this article further!
Proposed workflow for applying the "Flood Codes" option:
- The first step is to find out if you have already a proper polyline and/or polygon shapefile data, that represents the real rivers and lakes in a satisfying way. If you have already a reliable database to implement your surface water features, you can neglect the next step and directly go to step 3.
- If you are missing appropriate GIS shapefile data, that represents your surface water features already and the DEM has a high resolution that reflects the real river bed sufficiently, you can follow the next steps and use the embedded MIKE tools. Delineate the water body along the flooded areas with River network tool (Rivers toolbox ribbon) “Trace rivers from DEM” or any other way.
- Decide max water level for inundated area to cover extreme events and create flooded area perimeter based on DEM (open DEM in grid editor > select cells in area of interest > select cells below max water level > save selection as dfs2 file (give it a suitable positive integer grid code value which essentially form the flood code area for specific pond/lake/reservoir/..) > convert dfs2 file to ascii grid > convert ascii grid to polygon in GIS s/w > convert polygon to polyline > split polyline perimeter shapefile with river/stream/canal shapefile > end up with two ‘alignment lines’ for left/right banks).
- Create cross-sections for the flooded areas based on DEM/bathymetry and alignment lines using the ‘Create and update cross sections’ tool under ‘River network’ menu within the Rivers toolbox ribbon (or using survey data). Check that the cross-sections raw data are similar to the DEM data (choose to show DEM data in cross-section plot).
- Apply flood codes dfs2 file in MIKE SHE.
- Apply flood codes with relevant grid codes assigned in MIKE+ Rivers ‘Groundwater couplings’ editor > Flooding tab > set Flood area option to Manual and define relevant Flood code value.
Notes:
- The flood mapping process requires a good consistency between river cross-sections and ground elevations in MIKE SHE in order to provide valid results. Flood coded areas represent a storage for MIKE+ Rivers, however, users should be aware of that if the storage volumes in MIKE SHE and MIKE+ Rivers do not match, this will most likely cause a water balance error.
- When the Manual option is used, the user-defined flood area does not have to be identical to the area covered by the cross sections.
- If the Automatic option is used, the area covered by the cross sections and the flood area will always be consistent, as the flood-area is generated (automatically) based on the cross sections.
- In principle the 'Use cross sections' option ensures a good consistency between MIKE SHE ground elevations and river cross sections. There will, however, often be interpolation problems related to river meandering, tributary connections, etc. where wide cross sections of different coupling reaches overlap (also due to a coarse grid resolution that may not be able to precisely represent the cross-sections). Thus, it is recommended to make the initial model set up using the 'Use cross sections' option and then subsequently check the resulting grid map (“River Bed level minus Ground level in Flood Cells” in MIKE SHE Processed Data). If needed, the resulting grid map (.dfs2 file) can be used to adjust the topography grid with the modified flood code areas (using the MIKE Zero Grid Series editor and the “Copy File into Data” command at the ‘Tools’ menu) and then used as input for a new set up, now using the 'Use grid data' option (see the ‘Flooding’ section in the MIKE+ User Guide – ‘Groundwater Couplings’ editor).
To adjust the topography grid and create a new topography grid taking into account the elevation of the flood code cells, the user can follow the workflow here:
- Open the processed data file in MIKE SHE ‘Processed Data’ tab by clicking on the “Edit…” button and create a copy of the file only with the “Surface topography” item (remove all items but the “Surface topography”). Then save as e.g. Topo.dfs2.
- Open the processed data file in MIKE SHE ‘Processed Data’ tab by clicking on the “Edit…” button and create a copy of the file only with the “River Bed level minus Ground level in Flood Cells” item (remove all other items). Then save as e.g. RivBedMinusGroundInFloodCodeCells.dfs2.
- Open the topography grid (Topo.dfs2) and save with a new name e.g. TopoIntermediate.dfs2. Then click on the “Copy File into Data” command at the ‘Tools’ menu and select as File to copy the RivBedMinusGroundInFloodCodeCells.dfs2 file. At the Operation Type choose ‘+’ and click OK to perform the addition operation. The resulting grid map will have the adjusted elevation at the location of the flood code cells. Don’t forget to save the TopoIntermediate.dfs2 file.
- Open the topography grid (Topo.dfs2) and save with a new name e.g. TopoModifiedForFloodCodeCells.dfs2. Then click on the “Copy File into Data” command at the ‘Tools’ menu and select as File to copy the TopoIntermediate.dfs2 file. At the Operation Type choose ‘Copy if source differs from delete value’ and click OK to perform the merge operation. The resulting grid map will have the adjusted elevation at the location of the flood code cells but also all other grid cells elevation. Don’t forget to save the TopoModified.dfs2 file.
- The OL solver is turned off in all the flood code cells that are flooded by the river. BUT if there is a neighboring cell with a lower elevation (that does not have a flood code), then the water on the flood coded cell will simply flow downhill, and vice versa, if neighboring cells have a higher elevation, then inflow into the 1D water body will occur.
- If both “overbank spilling” is turned on and manual flood codes are assigned at the same time, then water can still overflow but it still uses the adjacent cells elevation (not the cells elevations corresponding to the markers for the wide cross-sections), that’s why you should not activate both options at the same time. That being said, a mixed approach can be adapted in order to use different approaches for different parts of the river basin.
Conclusion
The 'Flood Codes" option is the recommended and faster way to model water bodies and inundated areas in MIKE SHE. This article proposes a workflow (there may be variations among the modelling users community) in order to properly set up the Flood Codes areas within the MIKE SHE and MIKE+ Rivers models. We would be happy to hear your feedback to improve further the proposed workflow.
FURTHER INFORMATION & USEFUL LINKS
Manuals and User Guides
MIKE SHE Documentation Index
Training options
MIKE SHE - Getting started with integrated hydrological modelling