Inundation Model J2000-Flood
The J2000-flood model is an extension to the J2000 model with which it shares most of the components for the description of the hydrologic cycle. The flood simulation extension is characterized as a conceptual and easily transferable approach that is simultaneously not overly data and resource intensive, as well as easily parameterizable. This extension was developed with the goal of simulating floodplain/wetland inundation within the model. Due to the data scarcity typical of remote catchments, the extension's parameters (HRU elevation and river width) could be obtained from remote sensing data only.
On an iterative basis the water height in each river segment is compared to the elevation of its neighboring HRU. In case flooding occurs, the HRU floods its topological connected model entities, until the flood level is too low to spread any further. Technically the distributed water volume is stored in the exceeded depression storage, which interacts with soil and atmosphere.
Fig.: Schematic concept of a J2000(-Flood) model (left) including the inundation extension (right)
Adaption of the J2000 towards the J2000-Flood
To apply the J2000-Flood modelling system the following components need to be replaced or added in the JAMS Builder:
- Replace the JAMS component StandardEntityReader with the StandardEntityReaderUpstreamTopo, which adds a two-directional linkage between entities to define flood direction from each river segment.
- Add the component SubbasinFlooding at the ende of the ReachLoop. In case of overflow of a river segment this component iterates over (elevation-sorted) HRUs and distributes the water as described above.
- Add a DoubleConditionalContext in the HRULoop and include the original soil module as well as a second one to allow different parametrizations for flooded and non-flooded HRUs (configuration: if floodVolume is zero the soil module for non-flooded HRUs will be executed and the other way around).
- Add the component VariableAdder at the the beginning of the HRULoop to add the floodVolume to the depression storage (outVar:actDPS), which will hold the flood water and interacts with ground and atmosphere. A duplication of the VariableAdder (place it just below) could be useful (outVar: actDPS2) to see the level of the depression storage (actual flood level) before it interacts with ground and atmosphere in each time step.
- Make sure that all new variables (floodVolume, actDPS2 ...) are set to zero in the ZeroSetter and CatchmentResetter at the beginning of each time step. Add an additional ZeroSetter at the beginning of the ReachLoop to set floodHeight to zero.
- For an useful output it might be good to a add various aggregators, for example to calculate the mean flood level only during flood season.
Fig.: Adaptions of the J2000 (left) towards the J2000-Flood (right) in JAMS Builder marked as above