SplashTool
What is SplashTool?
SplashTool is software for determining runoff paths and water depths in terrain depressions. In contrast to classical flow path analysis, the water distribution is done volumetrically and the analysis does not require the definition of a fill level. At the beginning, the complete precipitation amount is applied to the DTM. In each iteration step, water flows from cell to cell until an approximately stationary state is established. The driving force here is the absolute water level of a cell compared to the neighboring cells. The water levels in the cells, as well as the runoff sum through each cell, are output as GeoTiffs. You can find the detailed procedure description here.
What it isn’t
SplashTool is not a hydrodynamic simulation model. Before the start of the iteration, the entire amount of water is applied to the terrain model, so there is no temporal precipitation course. The runoff between grid cells depends only on the water level difference, without consideration of roughness values, momentum equations, etc. SplashTool indicates, in the sense of a rough analysis, the runoff accumulation paths and flood areas in terrain depressions that are essential for heavy rain. However, it does not represent a temporal course with maximum water levels along the accumulation paths and does not provide information on flow velocities on the surface.
CPU and GPU Variants
SplashTool has two computing cores: The CPU-based core uses the computer’s processor for the calculation, the GPU-based core uses the graphics card for the iteration.
The GPU core is many times faster than the CPU core! Via CUDA, the GPU core utilizes the capabilities of current NVIDIA hardware and calculates even very large areas in a few hours. Instead of CPU-based multithreading, parallelization takes place via “CUDA Streams”. For an additional speed increase, part of the iteration process was rewritten in optimized C++ code.
Speed increase
The speed increase of the GPU core compared to the CPU core corresponds to a factor of approx. 20 to 100 depending on the system. Accordingly, I recommend using the GPU for calculation whenever possible!
Maximum area size
The memory requirement depends on the area shape. As a guideline, it can be assumed that for 1 km² area size at 1 x 1 m grid cell resolution, 25 to 30 MB of RAM on the graphics card are required. On a graphics card with 8 GB memory, an area size of approx. 300 km² could thus be calculated, on a graphics card with 24 GB RAM almost 1,000 km². Please note that part of the GPU RAM must also be available for other applications, unless you use the card exclusively for analyses with SplashTool.
Origin story and further development
The origin story of SplashTool – and how it continues – you can read in the Blog!