Demo Iteration Project: Difference between revisions
Line 8: | Line 8: | ||
==Calculations using the Iteration option== | ==Calculations using the Iteration option== | ||
The demo project simulates a Dutch polder to demonstrate how rainfall infiltration can be modeled using the iteration option. | The demo project simulates a Dutch polder to demonstrate how rainfall infiltration can be modeled using the [[Simulation Core|iteration]] option. | ||
We want the speed at which rainwater infiltrates to depend on the degree of saturation of the soil. By dividing the rain event into several iteration steps, we can adjust the infiltration rate for each iteration step based on the degree of saturation of the soil. In this way, infiltration can be calculated in a more realistic way. | We want the speed at which rainwater infiltrates to depend on the degree of saturation of the soil. By dividing the rain event into several iteration steps, we can adjust the infiltration rate for each iteration step based on the degree of saturation of the soil. In this way, infiltration can be calculated in a more realistic way. |
Revision as of 13:43, 18 November 2024
The Demo Iteration project is available for all users and can be found in the main menu under Edit projects. This project does not count towards your license.
This project is intended for hydrologists and other water experts.
This project showcases the rainfall overlay in a iteration mode.
The demo show the iteration functionality that can be used to adjust the ground infiltration speed using a combo formula.
Calculations using the Iteration option
The demo project simulates a Dutch polder to demonstrate how rainfall infiltration can be modeled using the iteration option.
We want the speed at which rainwater infiltrates to depend on the degree of saturation of the soil. By dividing the rain event into several iteration steps, we can adjust the infiltration rate for each iteration step based on the degree of saturation of the soil. In this way, infiltration can be calculated in a more realistic way.
The purpose of this demo project is to clarify how an iterative calculation can be made. In this case, the infiltration of water during and after a precipitation event was chosen. However, on the basis of this demo project, it should also be possible to calculate other calculations iteratively.
Setup of the Demo Project
The demo project consists of a number of components that are essential for this calculation.
Combo Overlays
Before we create the Rainfall event, a number of overlays are created that serve as input for the various iteration steps. At the end of each iteration the combo overlay is updated an serves as the input for the next iteration step. We'll go through the different combo overlays.
Combo Surface U and Combo Surface V
These overlays say something about the initial velocity of the surface water in x and y directions. When water flows down a slope, we want to use the speed at which the water flows at the end of an iteration step as the initial speed at the next iteration step. The input grid is the result of the last calculation. In the formula of this combo overlay, you can see that the formula is aimed at making sure that it computes with the data from the previous time step, unless the previous iteration step was step 0. In that case, 0 is used.
Make sure to check the box "previous" to make sure the Combo Overlay uses the U and V of the previous itertationstep.
The formula in the combo overlay should in this case read: IF(EQ(ITERATION, 0), 0, A)
Combo Fraction and Combo Groundwater Depth
The purpose of the combo overlay Combo Fraction and the combo Groundwater Depth is to set the input from the previous iteration step to be used, unless the previous iteration step was step 0. In that case, a global value is used. The global DEFAULT_FRACTION is used for the saturation percentage, and the global DEFAULT_TABLE is used for the groundwater level.
The formula in the combo overlay Combo Fraction should in this case read:
IF(EQ(ITERATION, 0), GLOBAL_DEFAULT_FRACTION, IF(EQ(A, NO_DATA), GLOBAL_DEFAULT_FRACTION, A))
The formula in the combo overlay Combo Groundwater Depth should in this case read:
IF(EQ(ITERATION, 0), GLOBAL_DEFAULT_TABLE, A)
Combo Surface
The combo Surface gives the last value of the waterlevel on the surface and is input for the next iteration step. If there is no previous iteration step, the value should be 0. Make sure to check the box "previous" to make sure the Combo Overlay uses the values of the previous itertationstep.
The formula in the combo overlay Combo Fraction should in this case read:
IF(EQ(ITERATION, 0), 0, A)
Combo Infiltration Speed
The purpose of the Combo Overlay Combo Infiltration Speed is to set the correct formula depending on the saturation of the soil. This example uses the overlay Ground BOFEK ID to determine the type of soil.
The formula is entirely hypothetical and only serves to make it clear that, for each iteration step, a value is chosen based on the degree of saturation.
The formula in the combo overlay reads in this case:
MAX(0, SUB(GLOBAL_DEFAULT_INFIL, SWITCH(B, 0, 1004, MUL(10, SUB(A, GLOBAL_DEFAULT_FRACTION)), 1006, MUL(5, SUB(A, GLOBAL_DEFAULT_FRACTION)))))
Rainfall Overlay
When setting the rainfall overlay, the default settings can be used. The exceptions are described below.
Rain Event Duration: Here the the total duration of the calculation is specified. Later this is divided into different iterationsteps.
Water System – Water Level: Here the initial water level and the U and V flow are set. Use the option "Advanced: Select Grid Overaly to set initial water level and also flow UV".
The water level is set based on a specific overlay, which is the combo overaly Surface. Similarly, the y and x speed from the combo overlay is used as initial input.
Groundwater: Initialize the groundwater level using the Groundwater Depth combo overlay.
Unsaturated Zone: Initialize saturation and storage percentages per grid cell using the Fraction combo overlay.
Generated Output Overlays:
- Surface Last Value
- Rain
- Ground Last Value
- Ground Watertable
- Ground Last Unsaturated Storage
- Ground Last Unsaturated Fraction
- Surface Last U
- Surface Last V
- The number of timeframes is set to 1.
Iteration Collector
Displays results of each iteration step. The input overlay is the Rain Event.
Modulus: Set to 1 by default, meaning one output is saved per iteration as a timeframe in the collector.
Indicator
Handles partial updates for specific timeframes. Example formulas:
UPDATE_OVERLAY_PARTIAL_END_SEC_WHERE_OVERLAY_IS_10 Queries like SELECT_ITERATIONS_WHERE and SELECT_ITERATION_WHERE retrieve the number of iterations and the current iteration.
Number of Iterations
Set through the interface (default is 1).
Notes and Limitations
Debugging cannot be downloaded per iteration but can be saved for each iteration. Specific updates (e.g., updating attributes for certain building types in iteration 5) can be executed using the API and indicator but not through TQL for non-initial iterations.
Exploring the project
To begin exploring the project, see the outlet located on the left side.