Rainfall Overlay: Difference between revisions
mNo edit summary |
|||
Line 17: | Line 17: | ||
===Data required=== | ===Data required=== | ||
No data is explicitly required. | No data is explicitly required. The overlay is designed to provide initial calculations based on default values and minimal assumptions. However, the model can be refined with your own data. The following data can be prepared and uploaded in [[geojson]] format: | ||
====Water level areas==== | ====Water level areas==== |
Revision as of 09:23, 22 May 2017
What is the rainfall overlay
The rainfall overlay is a grid overlay, which calculates where and how water would flow in situations where severe rainfall takes place. It does so by simulating water falling onto the 3D world over the course of thousands of steps. During each step, water can, among other things, land on the ground, flow over the surface, infiltrate into the ground, flow underground, and end up in surface water.
By repeating these simulation steps thousands of times, the influx and flows of water are accurately approximated.
What can the rainfall overlay be used for
The rainfall overlay is currently fit for simulating the flow and effects of severe rainfall on flat or mildly hilly areas, for map sizes of up to 5km. Larger maps, or calculations which involve an impulse of water such as levee breaches are not yet recommended.
The overlay can be configured to display various results of the simulated rainfall. For example it is possible to see the maximum amount of water certain locations had to endure, or the amount of water which has flowed across certain locations.
Adding and removing the overlay
The overlay can be added to the project multiple times, to present different outcomes or different scenarios. For information on adding and removing the overlay to and from the project, see the page on overlays in general.
Configuring the overlay
Accompanying the inherent complexity of the overlay is the ability to add additional data and adjust various values to change or enhance the way it calculates. The overlay itself contains a number of attributes which can be configured. Attributes in other parts of the project, such as the connected rain definition, buildings, terrains, and areas defining water level areas.
Data required
No data is explicitly required. The overlay is designed to provide initial calculations based on default values and minimal assumptions. However, the model can be refined with your own data. The following data can be prepared and uploaded in geojson format:
Water level areas
For defining "level areas" with a set water level. This file is loaded in as areas.
Attribute | Description | Example | Remark |
---|---|---|---|
NAME | The name of the water level area. | PG 256 | This attribute is not loaded in as attribute, but can be used as name to identify the resulting area in the Engine later on. |
WATER_LEVEL | The height of the water, in meters, measured from Amsterdam Ordnance Datum (mNAP). | 1.6 | For a water level area with infinite storage, this can be set to an extreme negative number (e.g. -9999). However, note that this would also place this area far below level areas with a proper height set. |
OUTLET | The amount of water which disappears from this level area in cubic meters per second (m3/s). | 0.007 |
If no water levels exist, a virtual water level area is assumed which covers the entire 3D world, with no OUTLET value and a WATER_LEVEL of -1000.
Sewers
For defining "sewers" which allow for water storage. This file is loaded in as areas.
Attribute | Description | Example | Remark |
---|---|---|---|
NAME | The name of the sewer. | Sewer North-East | This attribute is not loaded in as attribute, but can be used as name to identify the resulting area in the Engine later on. |
SEWER_PUMP_SPEED | The speed at which water is pumped out of the sewer, in cubic meters per hour (m3/h). | 1 | All areas which are not plots of this kind should either not have PERCEEL as an attribute, or should have it set to 0. |
SEWER_STORAGE | The amount of water which can be stored in this sewer, in meters (m). | 0.007 | The total amount of storage for this sewer is the surface area of the polygon representing this sewer, times this attribute. |
If no sewers exist, the model has no water flowing into sewer containers for storage. It's possible to generate sewers automatically, using the " Create Sewer Areas" function in the editor: Template:Editor ribbon
Weirs
For defining connections between level areas. This file is loaded in as constructions.
Attribute | Description | Example | Remark |
---|---|---|---|
NAME | The name of the weir. | PG 256 | This attribute is not loaded in as attribute, but can be used as name to identify the resulting contruction in the Engine later on. |
WEIR_HEIGHT_M | The height of the weir, in meters, measured from Amsterdam Ordnance Datum (mNAP). | 1.8 | When using this model outside of the Netherlands, the height is in the same scale as the Terrain height of the project. When an extreme negative value is used, the construction acts like a culvert. |
WEIR_SPEED | The speed at which water is moved from one level area to the other, in cubic meters per second (m3/s). | 0.007 | Once the water level exceeds the height of the weir, the water flows at this constant speed until the water level no longer exceeds the height of the weir. |
WATEROUTLET | The speed at which this construction also functions as a water outlet, in cubic meters per second (m3/s). | 0.005 | This is in addition, and takes precedence, over the water pumped out at WEIR_SPEED. |
If no weirs exist, there are no connections between water level areas and water is not transferred between them.
Weirs must overlap with at most 2 water level areas. If a weir overlaps with more that 2 water level areas, 2 areas are selected at random which the weir pumps between. If a weir overlaps with only 1 water level area, only its outlet function is processed. Weirs which do not overlap with any water level areas have no effect.
In-depth calculation principles
The basic principle of the calculations is that all water is stored in a grid of containers, representing possible water storage for the data of a given location. The size and location of the containers is based on the size of the grid, and the type of container. Water can flow from some containers to other containers. In the Containers section, more information can be found regarding each type of container.
Most containers are part of a water level area. A water level area is an area which is treated as an area with a single water level set for the surface water. In principle, water never flows between water level areas.
Water level areas can be connected using weirs. Weirs are structures which allow water to be transferred between bodies of water. In the model, they allow the water level areas to be connected. When the surface water exceeds the height of the weir, water flows from one water level area to the other.
Containers
Here there should be an overview of all the calculations steps within a water level area (peilgebied). BOB: Flowchart?
Rainfall
Water is created in the form of rainfall. The amount of water created per calculation step is based on the amount of calculation steps for the simulation, the duration of the rain, and the amount of rains which falls during that time. Water is created for each grid cell. Water is never "stored" as rainfall. Directly after being created by rainfall, water can be placed in one of the follow containers:
Container to flow to | Condition |
---|---|
Sewer | If there is a SEWER area present, which is defined by the presence of a non-zero SEWER_STORAGE attribute, and there is a building present with the SEWERED attribute ("Connected to Sewer") set to 1, and the sewer container is not yet full, the water is moved directly into the sewer. |
Building storage | If there is a building present with the WATER_STORAGE_M attribute ("Water Storage (m3/m2) )") set to a value greater than 0, and the building container is not yet full, the water is moved directly into the building container. |
Surface water | If there is surface water present (i.e. a terrain with the WATER attribute set to 1), the water is moved into the surface water container. |
Surface container | If there is no building connected to an empty sewer, no building with water storage, and no water terrain, the water is placed in a surface container. |
Surface containers
Water in a surface container is resting on the surface of the world. Each grid cell has its own surface container.
The storage capacity of surface containers is effectively infinite.
For some calculations, the height of this container is relevant. The height is defined as the terrain height, plus the height of the water in the container.
During a calculation step, the water can move to one of the following containers:
Container to flow to | Condition |
---|---|
Underground container | If the underground container is not filled to maximum capacity, an amount of water is transferred from the surface container to the underground container, based on the formula for vertical infiltration described below.
Note: after calculating vertical infiltration, the flow calculations continue, both for the surface containers and the underground containers. |
Surface water or surface container | Water may flow into the surface water container or into other underground containers, based on the flow-by-height principle and the Manning formula (for surface runoff) described below. |
Underground containers
Water in underground containers is water which has infiltrated into the ground, and is now resting on, (or is part of) the ground water. Each grid cell has its own underground container.
The storage capacity of underground containers is based on the WATER_STORAGE_PERCENTAGE of the terrain in that location, the ground water level and the height of the surface.
For some calculations, the height of this container is relevant. The height is defined as the ground water level height, plus the height due to the amount of water in the container. This also takes into account the WATER_STORAGE_PERCENTAGE. They lower this percentage, the faster the container's height increases.
During the calculation step, water can move to the following containers.
Container to flow to | Condition |
---|---|
Surface water or underground container | Water may flow into the surface water container or into other underground containers, based on the flow-by-height principle and the formula for horizontal infiltration described below. |
Surface water
Water in surface water containers is water which has been stored on existing bodies of water. These bodies are often intended to house some amount of water in them in cases of rainfall. There is a single surface water container for the entire water level area.
The storage capacity of surface water containers is effectively infinite.
For some calculations, the height of this container is relevant. The height is defined as the ground water level height, plus the height due to the amount of water in the container. This also takes into account the WATER_STORAGE_PERCENTAGE. The lower this percentage, the faster the container's height increases.
During the calculation step, water can move to the following containers.
Container to flow to | Condition |
---|---|
Surface water container | If there is a building present with the WEIR_SPEED attribute ("Weir speed (m3/m2) )") set to a value greater than 0, and that building overlaps with another water level area, and the height of the stored water in this container exceeds the building's WEIR_HEIGHT_M attribute value, water may flow to the surface water container of the other water level area, based on the flow-by-height principle and the building's WEIR_SPEED attribute. This is the only situation in which water can flow into the container of another water level area. |
Surface container | Water may flow into surface containers, based on the flow-by-height principle and the Manning formula (for surface runoff) described below. |
Sewer
Water in the sewer system is stored in underground pipes or other water systems. The sewer is defined using areas, and each area forms its own sewer, and thus its own container. There can be multiple sewers in the same level area, and sewers may extend beyond level areas.
The storage capacity of the sewers is based on the SEWER_STORAGE attribute of the area in that location.
Water may disappear from the model entirely by being pumped out of the sewer. This happens at a speed defined by the SEWER_PUMP_SPEED attribute of the area.
Water in the sewer does not move into other containers.
Building storage
Water in building storage is stored on roofs and in gutters. In principle, all constructions can also store water, but may have a capacity of 0, rendering their containers inaccessible.
The storage capacity of buildings is based on their WATER_STORAGE_M attribute ("Water Storage (m3/m2) )").
Water never leaves building storage. It does not disappear from the model, nor does it move to a different container.
Water level areas
Almost all containers are part of exactly one water level area. When water is created in a water level area, it is generally contained to that area. It does not normally flow to other water level areas. There are 2 exceptions to this:
- Weirs (described in further detail below) can pump water from the surface water container of one water level area to the surface water container of another water level area.
- Sewers can receive water from all water levels which intersect it, and have a SEWERED building located on the sewer area. Water cannot flow back from the sewer into the water level area, but when water flows into a sewer from one water level area, it takes up capacity of the sewer which can no longer be used to store water from another water level area.
Water level areas also form bounds for the calculation model. The model only calculates for locations in the 3D world which are covered by a water level area. If locations of the world are not covered by water level area, no rain is created there, and no water flows to and from that location. If there are no water level areas present at all, a virtual water level area is assumed to exist, covering the entire 3D world.
Weirs
A weir is any structure which connects two level areas, and has a WEIR_SPEED attribute. A weir exists in the Engine as a construction. It is a structure which can be modelled as a small wall between the bodies of water, in this case the surface water containers of the relevant level areas. A weir has a height, defined by the attribute WEIR_HEIGHT_M. When the calculated height of the surface water container of either level area exceeds the height of the weir, water will be moved from the level area with the higher water level to the level area with the lower water level. The speed at which water is transferred is defined by the attribute WEIR_SPEED. This speed is constant, and does not vary with the amount of water in excess of the weir's height.
Formulas
Flow by height
When a flow-by-height calculation is performed, the Engine takes into consideration for each container whether any adjacent containers have a height lower than or equal to the current container's height. All containers which meet this requirement are candidates for receiving water flow. The candidate container for which the flow would be greatest is the single container which actually receives water from the current container. All candidate containers, whether they receive water from the current container or not, can still receive water from other containers.
BOB: Diagram van hoogteberekening tussen 2 containers
To prevent issues with water "slushing" around in rare edge-cases, the direction of flow for surface containers on extremely flat land is "fixed" after the first few calculations. This means that some containers will only ever exchange water in 1 direction.
Manning formula (surface runoff)
The manning formula is used for calculating flow between above-ground containers. This formula
Q=VA
V=(k/n) * ((A/P)^(2/3)) * S^0.5
where:
- Q = flowspeed (calculated)
- A = cross-seection of the flow. This is calculated as the width of the container (touching the receiving container) times the height of the water in excess of the height of the water in the receiving container.
- V = average flowspeed (calculated)
- k = 1, meaning we calculate in metric terms. This term would be different when dealing with imperial units.
- n = manning value. This is determined by the attribute WATER_MANNING in the buildings and terrains in that container, whichever value is smallest.
- P = circumference of the flow which touches a surface. Because flat levels are assumed, this is always equal to the width of the container (touching the receiving container).
- S = Downward slope. This is calculated using the flow-by-height principle described above.
Terrains en buildings have default manning values set, based on the reference table found here.
For more information, see Manning formula.
Vertical infiltration
Vertical infiltration = lowest value of GROUND__INFILTRATION_MD found in a container. The value is in meters per day.
Vertical infiltration is determined by the attribute GROUND_INFILTRATION_MD, present in terrains and buildings. This indicates the speed at which water flows infiltrates into the ground. Per container, the terrains and buildings are checked for the presence of this attribute, and the lowest value found is used (e.g. a certain type of terrain allows for lots of infiltration, but the road built on top of it does not). In addition, vertical infiltration can only take place if the container it flows to is not yet full.
The attribute GROUND_INFILTRATION_MD can be set in terrains and buildings.
Horizontal infiltration
Horizontal infiltration = GROUND_INFILTRATION_MD * VH_INFILTRATION_FACTOR. The value is in meters per day.
Horizontal infiltration is estimated based on the vertical infiltration speed. Generally, this is some factor between 5 and 10, meaning water underground flows horizontally at about 5 to 10 times the speed as water infiltrating into the ground in the first place. Water will only flow horizontally if the flow-by-height principle indicates water should flow, and only until the water levels between the containers are equalized.
The attribute VH_INFILTRATION_FACTOR can be set in the Rainfall overlay.