2019 FOSS4G Bucharest Talks speaker: Martin Landa
SMODERP2D Soil Erosion Model Entering Open Source Era with GPU-based Parallelization
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 (https://github.com/storm-fsv-cvut/smoderp2d) 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.
CNN-based tools in GRASS GIS
Object detection and image segmentation have always been a big task in the field of geospatial sciences. With the growth of open satellite and aerial images, focus on this field is getting bigger and bigger.
In the general computer vision field, there is one big term shaking the field in the last years - artificial neural networks. Artificial neural networks and especially their subtype called convolutional neural networks brought into the field of computer vision precisions which were just a few years ago still considered as not imaginable.
We had decided to connect those two fields and test the use of artificial neural networks on satellite and aerial images. A suite of modules using convolutional neural networks was implemented into GRASS GIS.
State of GRASS GIS Project: 35 years is nothing!
After 35 years of of continuous development, GRASS GIS comes again with great improvements. Being a community-driven project, it offers geospatial analysis, earth observation, time series processing and visualization. It supports large raster files (billions of cells), vector topology, and coupling with SQL databases.
In our presentation we'll give an overview of the latest improvements. The algorithms for interpolation, solar radiation, water flow, and sediment transport have been parallelized. Experimental features include concave hull, vector algebra, point cloud import, DEM fusion and blending, object-based classification, Sentinel data processing, and spatio-temporal algebra. Furthermore, pest spread and urban growth modeling are now available.
Importantly, Python 3 support has been added. Raster storage now benefits from new ZSTD compression. GRASS GIS supports GDAL up to v2.5 and PROJ up to v6. Easy cloud deployment is offered with ready-to-use docker images and an improved test coverage along with continuous integration.
The code development will move to GitHub, including the issues and source code branches since 1987. A new, modern website is on the way, supported by a crowdfunding campaign.