SMODERP2D Soil Erosion Model Entering Open Source Era with GPU-based Parallelization

Petr Kavka, Ondrej Pesek, Jakub Jerabek and Martin Landa

Playlists: 'foss4g2019' videos starting here / audio / related events

SMODERP2D is a runoff-soil erosion physically-based distributed episodic model used for calculation and prediction processes at agricultural areas and small watersheds. The core of the model is a raster based cell-by-cell mass balance calculation which includes the key hydrological processes, such as effective precipitation, surface runoff and stream network routing. Effective precipitation, the forcing of the runoff and erosion processes, is reduced by a surface retention and an infiltration. Surface runoff consists of two components: slower sheet and concentrated rapid rill flow. Stream network routing is performed line-by-line in user predefined polyline layer. SMODERP is a long-term running project driven by the Department of Landscape Water Conservation at the Czech Technical University in Prague. At the beginning SMODERP has been developed as a surface runoff simulated by profile model (1D). Later the model has been redesigned using spatially distributed method. This version is named SMODERP2D. Ongoing development ( is focused on obtaining parameters of the hydrological models, incorporating new infiltration and flow routing routines, and conceptualization of a rill flow and rill development. The model belongs to a family of so called GIS-based hydrological models utilizing capabilities of GIS software for geodata processing. Importantly, the SMODERP2D project is currently entering the open source world. Originally the model could be run only in proprietary Esri ArcGIS platform. A new version of the model presented by this contribution adds support for two key open source GIS platforms, GRASS GIS and QGIS. A newly developed GRASS module and QGIS plugin significantly increases accessibility of the SMODERP2D model for research purposes and also for engineering practice. Middle scale distributed hydrological models often encounter with a high computation costs and long model runtime. Long runtime is caused by high resolution input data which is easily available nowadays. The project also includes an experimental version of the SMODERP2D model enabling the parallelization of computations. This parallelization is done using TensorFlow, and its goal is to decrease the time needed for its run. It is supported by both CPU and GPU. Parallelization of computations is an important step towards providing SMODERP2D web processing services in order to allow quick and easy integration to highly specialized platforms such as Atlas Ltd. None