Surface model (Water Overlay): Difference between revisions

From Tygron Preview Support Wiki
Jump to navigation Jump to search
No edit summary
 
(86 intermediate revisions by 8 users not shown)
Line 1: Line 1:
The [[Water Module]]'s primary function is the simulation of the 2-dimensional flow of water on the surface. In order to simulate flowing water, the project area is discretized into x by y cells, based on the configured grid cell size.  
__NOTOC__
[[File:Waterlevel_schematic.png|300px|thumb|right|Fig. 1. For each grid cell:<br>''B'' = bottom elevation<br>''h'' = water depth<br>''w'' = water surface elevation]]
[[File:Inundation overlay 04 HWP(1).PNG|thumb|250px|Fig. 2. A 2-D grid-based representation of average water depths, discharges and bathymetry in a case where the middle cell is fully flooded in the y-dimension, but only partially flooded in the x-dimension. Blue solid and red dashed lines denote the waterlines and bathymetry slopes in both dimensions, respectively. For a bilinear reconstruction, the cell averages coincide with the values at the cell centers, while bathymetry is approximated by its values at the cell vertices.<ref name="Horvath"/>]]
[[File:Inundation overlay 04 HWP(2).PNG|thumb|250px|Fig. 3. Continuous bathymetry function (green line) and its piecewise linear approximation (brown dots). The approximated function values equal to the continuous ones at the cell vertices (green dots). The cell average value (blue dot) equals both the average value of the vertex values (green dots) and the average value of the values at the cell interface midpoints (brown dots).<ref name="Horvath"/>]]
The [[Water Module]]'s primary function is simulating two-dimensional flow of water across the surface. In order to do this, the project area is first discretized into ''x'' by ''y'' cells depending on the configured [[grid cell size]]. Secondly, water is initialized in the model. Finally, a set of rules is required that describes the behavior of the flow.


Secondly a model is required which describes the rules that need to be followed. For this we use the two-dimensional Saint-Venant system, which reads:
===Surface flow scheme===
[[File:2D-Saint-Venant_system.png|left]]
In the model, imbalances in the water surface elevation across the grid drive the flow of water until a state of equilibrium is reached in terms of ''h'' and flux. Behavior of the flow is described by a second-order semi-discrete central-upwind scheme produced by Kurganov and Petrova (2007)<ref name="Kurganov2"/>, which is based on the 2-D Saint-Venant equations (a.k.a. shallow water equations):
<br style="clear:left">


<!--
:<math>
The surface is defined by the [[Terrain height|terrain height]] in the project. The terrain height is further influenced by the height of constructions present in the project (bounded by [[Design flood elevation m model attribute (Water Overlay)|DESIGN_FLOOD_ELEVATION_M]]) and by the [[Breach_height_(Water Overlay)|BREACH_HEIGHT]] of [[Water_Overlay#Breach|breaches]].
\begin{align}
-->
\frac{\partial h}{\partial t} &+ \frac{\partial (hu)}{\partial x} + \frac{\partial (hv)}{\partial y} = 0,\\[3pt]
\frac{\partial (hu)}{\partial t} &+ \frac{\partial}{\partial x} \left( hu^2 + \frac{1}{2} gh^2 \right) + \frac{\partial (huv)}{\partial y} = -gh \frac{\partial B}{\partial x} - ghn^2u \sqrt{u^2 + v^2} h^{-\frac{4}{3}},\\[3pt]
\frac{\partial (hv)}{\partial t} &+ \frac{\partial (huv)}{\partial x} + \frac{\partial}{\partial y} \left( hv^2 + \frac{1}{2} gh^2 \right) = -gh \frac{\partial B}{\partial y} - ghn^2v \sqrt{u^2 + v^2} h^{-\frac{4}{3}},
\end{align}
</math>


In the {{software}} this model is implemented using the ''Well Balanced Positivity Preserving Central-Upwind Scheme'' described in Kurganov and Petrova (2007)<ref name="Kurganov2"/>.
where
For more information about the model's implementation, see [[Surface_flow_formula_(Water_Overlay)|Surface flow formula]].
:{|
|- valign="top"
| ''u'' || is the velocity in the ''x''-direction
|-  valign="top"
| ''v'' ||  is the velocity in the ''y''-direction
|- valign="top"
| ''h'' || is the water depth
|-  valign="top"
| ''B'' || is the bottom elevation
|-  valign="top"
| ''g'' || is {{gravity}}
|-  valign="top"
| ''n'' || is the Gauckler–Manning coefficient
|}


The implemented method rewrites the '''h''' from the original Saint-Venant system to <code>w = h + z</code>. See the following image for clarification on the terms water level, surface (or bottom) elevation and water height:
This scheme deviates from the original Saint-Venant equations in that it approaches the system in terms of water surface elevation (''w = h + B'') and flux (''hu'' and ''hv''), instead of just the water depth (''h''). The conceptual image in Fig. 1 aims to clarify on the various terms in the model equations. This method relies on a continuous piecewise linear approximation of the surface, which is further explained on [[Elevation model (Water Overlay)|this]] page.
[[File:Waterlevel_schematic.png|right|x200px]]
 
{|
====Shoreline reconstruction====
! Symbol
This scheme is further extended with the shoreline reconstruction method by Bollerman et al (2014), which ensures better numerical stability at the wetting and drying fronts of a flood wave<ref name="Bollerman"/>. An elaborate explanation is provided by Horváth et al. (2014)<ref name="Horvath"/>.
! Description
 
|-
General sequence of computational steps:
|B  
# Each cell's elevation value (B in Fig. 3) is set equal to the value at its center and the interface midpoints.
|surface elevation of grid cell
# Slopes of conserved variables are reconstructed (continuity and momentum in ''x''- and ''y''-direction).
|-
# Values of conserved variables at the cell interface midpoints are compared with the left-sided and right-sided values with respect to the cell's center.
|h
# Slopes of partially dry cells are modified to prevent negative depth values and numerical instability.
|water height of grid cell
# Fluxes are computed at each cell interface to determine the values of the conserved variable at the cell centers for the next time step.
|-
# The largest allowed time step is calculated.
|w
# Time is incremented with the calculated time step and changes in water level and fluxes are subsequently applied.
|water level of grid cell
 
|}
===Water level initialization===
<br style="clear:right">
In theory, each grid cell can have a unique bottom elevation and accompanying water depth, yielding a certain water surface elevation (or water level). However, in practice, water levels are often initialized for large groups of cells rather than individual cells, assuming that each (water level) area in a project has been assigned a [[water level (Water Overlay)|water level]]. During the initialization phase a distinction is made between two types:
* [[water level (Water Overlay)|Water level]]s of [[Water area (Water Overlay)|water areas]];
* [[inundation level (Water Overlay)|Inundation level]]s of [[Inundation area (Water Overlay)|inundation areas]].


===Surface water level initialization===
For all [[Terrain water (Water Overlay)|water terrain]]s in a water area, the volume of water per grid cell is such that the resulting water level at those locations conforms the value of the [[Water level (Water Overlay)|WATER_LEVEL]] attribute as provided by the corresponding [[Water area (Water Overlay)|water area]].
The surface water level is initialized based on hydrological features present in the project. For all [[Water (Terrain) (Water Overlay)|water terrains]], water is placed on the surface of the world. The amount of water placed is such that the resulting water level in that location is equal to the [[Water level (Water Overlay)|WATER_LEVEL]] attribute of the [[Water level area (Water Overlay)|Water level area]] in that location. If there is no water level area in that location, the water level is assumed to be so low that no water is created. Besides the water level areas, [[Inundation(Overlay)|Inundation]] is added to the model. Water is placed in all locations where inundation is defined (regardless of the terrain type in that location, in contrast to the water level areas), such that the resulting height of the water inundating the land is equal to the inundation area's [[Inundation level (Water Overlay)|INUNDATION_LEVEL]] attribute.


After the surface is initialized with water, all water on the surface will flow in accordance with the same rules. It does not matter whether the water was created when the model was initialized, and whether that water was due to a water terrain or due to inundation, or whether the water came in from another source.
In contrast to water areas, which generate water on water terrains, inundation areas generate water over all grid cells, regardless of its terrain type. Similarly, the volume of water per grid cell is determined by the [[Inundation level (Water Overlay)|INUNDATION_LEVEL]] attribute as provided by the corresponding inundation area.


On the surface, water can flow from one cell to an adjacent cell based on the relative heights of the water, the slope of the terrain, and the manning value of the terrain or construction in that location.
If a grid cell is neither part of any water area nor inundation area, or the assigned water level is lower than its [[terrain height (Water Overlay)|bottom elevation]], the water depth is assumed to be zero and the water level becomes equal to the bottom elevation. In turn, this bottom (or surface) elevation is equal to the [[elevation model]], though it may be altered by the presence of a building or the [[Breach height (Water Overlay)|BREACH_HEIGHT]] attribute of a [[Breach (Water Overlay)|breach]].


In addition to water flowing between geographically adjacent cells, water can also flow through hydrological constructions. When a [[Hydrological constructions (Water Overlay)|line-based hydrological construction]] exists in the project area, the 2 cells indicated by the endpoints of the line are considered adjacent as well. Flow between those cells is not dictated by the same parameters as the regular surface flow. Instead, water can flow between the 2 indicated cells based on the construction's underlying formula.
===Water velocity initialization===
It is now also possible to initialize the [[Surface u prequel (Water Overlay)|velocity u]] and [[Surface v prequel (Water Overlay)|velocity v]] of surface water using [[Prequels (Water Overlay)|prequels]]. The [[Surface last u result type (Water Overlay)|surface u]] and [[Surface last v result type (Water Overlay)|surface v]] are also result overlays that can be inspected and used by subsequent simulations when stored and configured as prequels for other [[Water Overlay]]s.


Water can also be added to or removed from the water model by [[Hydrological constructions (Water Overlay)|point-based hydrological constructions]]. Based on the construction's underlying formula water can be added or removed to the cell indicated by the construction. Only that single cell will receive or lose the calculated amount of water.
===Microrelief and minimum flow threshold===
[[File:water_overlay_surface_model_microrelief_flow_threshold.png|thumb|right|[[Water microrelief m (Water Overlay)|Microrelief]], optional [[Microrelief storage fraction (Water Overlay)| microrelief storage fraction]] and the minimum flow threshold.]]
For water to flow from a cell to its neighbors, the height of a water column needs to be at least 0.5mm. We call this the ''minimum flow threshold''. However, if microrelief is defined, this minimum flow threshold of a cell is potentially raised to the amount specified for microrelief. Microrelief can be specified by a function's [[Water microrelief m (Water Overlay)|microrelief]] or terrain's [[Terrain water microrelief m (Water Overlay)|microrelief]], or using a grid overlay for the [[Microrelief prequel (Water Overlay)|Microrelief prequel]]. Furthermore an optional [[Microrelief storage fraction (Water Overlay)|Microrelief storage fraction]] can be set, which will be applied to the microrelief threshold.


Water can also be removed from the surface by [[Miscellaneous hydrological properties of constructions (Water Overlay)|other properties]] of constructions, based on the construction's polygons (either moving it to another part of the hydrological model, or removing it completely from the hydorlogical model). When water is removed from the surface via a polygon-based construction, the removal of water is calculated per individual cell.


==References==
{{article end
|notes=
* Water can be added to and removed from the described surface system by the [[Rain model (Water Overlay)|rain]], [[Evaporation model (Water Overlay)|evaporation]] and [[Infiltration model (Water Overlay)|infiltration model]], as well as certain [[Hydraulic structures (Water Overlay)|hydraulic structures]] and [[Breach (Water Overlay)|breach]]es.
* In the case of [[Ground model (Water Overlay)|subsurface flow]] a different flow system with different equations are used.
* In addition to water flowing in between grid cells, water can also flow ''through'' [[Hydraulic structures (Water Overlay)|hydraulic buildings]].
* The [[Design flood elevation m model attribute (Water Overlay)|DESIGN_FLOOD_ELEVATION_M]] attribute confines the maximum surface elevation induced by buildings.
|references=
<references>
<references>
<ref name="Kurganov2">Kurganov A, Petrova G (2007) ∙ A Second-Order Well-Balanced Positivity Preserving Central-Upwind Scheme for the Saint-Venant System ∙ found at: http://www.math.tamu.edu/~gpetrova/KPSV.pdf (last visited 2018-06-29)</ref>
<ref name="Bollerman">Bollermann, Andreas & Chen, Guoxian & Kurganov, Alexander & Noelle, Sebastian. (2014). A Well-balanced Reconstruction for Wetting, Drying Fronts. IGPM Report. 313. ∙ found at: https://www.researchgate.net/publication/269417532_A_Well-balanced_Reconstruction_for_Wetting_Drying_Fronts (last visited: 2019-07-24)</ref>
<ref name="Horvath">Zsolt Horváth, Jürgen Waser, Rui A. P. Perdigão, Artem Konev and Günter Blöschl (2014) ∙ A two-dimensional numerical scheme of dry/wet fronts for the Saint-Venant system of shallow water equations ∙ found at: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.700.7977&rep=rep1&type=pdf and https://www.vrvis.at/publications/pdfs/PB-VRVis-2014-034.pdf (last visited 2024-03-15)</ref>
<ref name="Kurganov2">Kurganov A, Petrova G (2007) ∙ A Second-Order Well-Balanced Positivity Preserving Central-Upwind Scheme for the Saint-Venant System ∙ found at: http://www.math.tamu.edu/~gpetrova/KPSV.pdf (last visited 2019-04-11)</ref>
</references>
</references>
}}


{{Template:WaterOverlay_nav}}
{{WaterOverlay formula nav}}

Latest revision as of 15:27, 15 March 2024

Fig. 1. For each grid cell:
B = bottom elevation
h = water depth
w = water surface elevation
Fig. 2. A 2-D grid-based representation of average water depths, discharges and bathymetry in a case where the middle cell is fully flooded in the y-dimension, but only partially flooded in the x-dimension. Blue solid and red dashed lines denote the waterlines and bathymetry slopes in both dimensions, respectively. For a bilinear reconstruction, the cell averages coincide with the values at the cell centers, while bathymetry is approximated by its values at the cell vertices.[1]
Fig. 3. Continuous bathymetry function (green line) and its piecewise linear approximation (brown dots). The approximated function values equal to the continuous ones at the cell vertices (green dots). The cell average value (blue dot) equals both the average value of the vertex values (green dots) and the average value of the values at the cell interface midpoints (brown dots).[1]

The Water Module's primary function is simulating two-dimensional flow of water across the surface. In order to do this, the project area is first discretized into x by y cells depending on the configured grid cell size. Secondly, water is initialized in the model. Finally, a set of rules is required that describes the behavior of the flow.

Surface flow scheme

In the model, imbalances in the water surface elevation across the grid drive the flow of water until a state of equilibrium is reached in terms of h and flux. Behavior of the flow is described by a second-order semi-discrete central-upwind scheme produced by Kurganov and Petrova (2007)[2], which is based on the 2-D Saint-Venant equations (a.k.a. shallow water equations):

where

u is the velocity in the x-direction
v is the velocity in the y-direction
h is the water depth
B is the bottom elevation
g is the acceleration due to gravity, set to 9.80665
n is the Gauckler–Manning coefficient

This scheme deviates from the original Saint-Venant equations in that it approaches the system in terms of water surface elevation (w = h + B) and flux (hu and hv), instead of just the water depth (h). The conceptual image in Fig. 1 aims to clarify on the various terms in the model equations. This method relies on a continuous piecewise linear approximation of the surface, which is further explained on this page.

Shoreline reconstruction

This scheme is further extended with the shoreline reconstruction method by Bollerman et al (2014), which ensures better numerical stability at the wetting and drying fronts of a flood wave[3]. An elaborate explanation is provided by Horváth et al. (2014)[1].

General sequence of computational steps:

  1. Each cell's elevation value (B in Fig. 3) is set equal to the value at its center and the interface midpoints.
  2. Slopes of conserved variables are reconstructed (continuity and momentum in x- and y-direction).
  3. Values of conserved variables at the cell interface midpoints are compared with the left-sided and right-sided values with respect to the cell's center.
  4. Slopes of partially dry cells are modified to prevent negative depth values and numerical instability.
  5. Fluxes are computed at each cell interface to determine the values of the conserved variable at the cell centers for the next time step.
  6. The largest allowed time step is calculated.
  7. Time is incremented with the calculated time step and changes in water level and fluxes are subsequently applied.

Water level initialization

In theory, each grid cell can have a unique bottom elevation and accompanying water depth, yielding a certain water surface elevation (or water level). However, in practice, water levels are often initialized for large groups of cells rather than individual cells, assuming that each (water level) area in a project has been assigned a water level. During the initialization phase a distinction is made between two types:

For all water terrains in a water area, the volume of water per grid cell is such that the resulting water level at those locations conforms the value of the WATER_LEVEL attribute as provided by the corresponding water area.

In contrast to water areas, which generate water on water terrains, inundation areas generate water over all grid cells, regardless of its terrain type. Similarly, the volume of water per grid cell is determined by the INUNDATION_LEVEL attribute as provided by the corresponding inundation area.

If a grid cell is neither part of any water area nor inundation area, or the assigned water level is lower than its bottom elevation, the water depth is assumed to be zero and the water level becomes equal to the bottom elevation. In turn, this bottom (or surface) elevation is equal to the elevation model, though it may be altered by the presence of a building or the BREACH_HEIGHT attribute of a breach.

Water velocity initialization

It is now also possible to initialize the velocity u and velocity v of surface water using prequels. The surface u and surface v are also result overlays that can be inspected and used by subsequent simulations when stored and configured as prequels for other Water Overlays.

Microrelief and minimum flow threshold

Microrelief, optional microrelief storage fraction and the minimum flow threshold.

For water to flow from a cell to its neighbors, the height of a water column needs to be at least 0.5mm. We call this the minimum flow threshold. However, if microrelief is defined, this minimum flow threshold of a cell is potentially raised to the amount specified for microrelief. Microrelief can be specified by a function's microrelief or terrain's microrelief, or using a grid overlay for the Microrelief prequel. Furthermore an optional Microrelief storage fraction can be set, which will be applied to the microrelief threshold.


Notes

References

  1. 1.0 1.1 1.2 Zsolt Horváth, Jürgen Waser, Rui A. P. Perdigão, Artem Konev and Günter Blöschl (2014) ∙ A two-dimensional numerical scheme of dry/wet fronts for the Saint-Venant system of shallow water equations ∙ found at: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.700.7977&rep=rep1&type=pdf and https://www.vrvis.at/publications/pdfs/PB-VRVis-2014-034.pdf (last visited 2024-03-15)
  2. Kurganov A, Petrova G (2007) ∙ A Second-Order Well-Balanced Positivity Preserving Central-Upwind Scheme for the Saint-Venant System ∙ found at: http://www.math.tamu.edu/~gpetrova/KPSV.pdf (last visited 2019-04-11)
  3. Bollermann, Andreas & Chen, Guoxian & Kurganov, Alexander & Noelle, Sebastian. (2014). A Well-balanced Reconstruction for Wetting, Drying Fronts. IGPM Report. 313. ∙ found at: https://www.researchgate.net/publication/269417532_A_Well-balanced_Reconstruction_for_Wetting_Drying_Fronts (last visited: 2019-07-24)