Watershed Module
The watershed module calculates the result for the following question:
I want to know into which waterway a set of rain drops will end up based on the terrain elevation and the starting location of the drops.
The locations of the drops that all end up in the same waterway can be grouped together to form a region called the watershed.
Historically, the calculation of watersheds was mostly done based on the gradient of the terrain. Issues occur when the terrain is near flat; it is not known where the rain water will flow and the direction will be assigned arbitrarily based on the used algorithm. Secondly, the terrain often contain a lot of local minimas, which results in the creation of too many unique watersheds (oversegmentation). To solve this, one would often apply filters to the terrain to remove these local minimas, but this required a lot of user judgement.
Fortunately, instead of using only the gradient of the terrain directly, we can also simulate rainfall using our Rainfall (Overlay) and use the Average Direction result to have a better idea of where the rain drops will end up based on momentum. Given that the rainfall is sufficiently large, this will remove local minima and solve most issues of unknown flow direction on flat surfaces.
Discharge Areas
In a water system model, the waterways generally catch the rainfall and transport it elsewhere, often out of the system. These waterways can be considered the end point of a rain drops travel overland and we could call them discharge waterways.
Expert users often have grouped multiple waterways together to make it easier for analysis and discussion. The Tygron Platform allows to import these groups as areas, which we conceptually call Discharge areas. Each discharge area will then result into a unique watershed.
In practice, the provided Discharge areas do not fully cover the waterways geometrically. We therefore added an initialization step in which water cells that are not yet assigned to any discharge area be automatically assigned to one when they are connected as a neighbour or by a culvert.
In absence of, or in addition to, discharge areas, users can also choose to automatically add discharge areas for each individual waterway and waterbody. However, when these waterways or bodies are still connected to a provided Discharge area, they can still be overwritten by this prioritized discharge area.
Culverts
Since assigning discharge areas to the waterways heavily relies on the connectivity of water system, culverts are important. Optionally, we could restrict
Culvert generation
Unfortunately, the data currently available on culverts is incomplete. We have therefore added a module to automatically add culverts based on configured parameters.