A water catchment's hydrologic response is intimately linked to its morphological shape, which is a signature on the landscape of the particular climate conditions that generated the hydrographic basin over time. Furthermore, geomorphologic structures influence hydrologic regimes and land cover (vegetation). For these reasons, a basin's characterization is a fundamental element in hydrological studies.
Physiographic descriptors have been extracted manually for long time, but currently Geographic Information System (GIS) tools ease such task by offering a powerful instrument for hydrologists to save time and improve accuracy of result. Here we present a program combining the flexibility of the Python programming language with the reliability of GRASS GIS, which automatically performing the catchment's physiographic characterization.
GRASS (Geographic Resource Analysis Support System) is a Free and Open Source GIS, that today can look back on 30 years of successful development in geospatial data management and analysis, image processing, graphics and maps production, spatial modeling and visualization.
The recent development of new hydrologic tools, coupled with the tremendous boost in the existing flow routing algorithms, reduced the computational time and made GRASS a complete toolset for hydrological analysis even for large datasets.
The tool presented here is a module called r.basin, based on GRASS' traditional nomenclature, where the "r" stands for "raster", and it is available for GRASS version 6.x and more recently for GRASS 7.
As input it uses a Digital Elevation Model and the coordinates of the outlet, and, powered by the recently developed r.stream.* hydrological tools, it performs the flow calculation, delimits the basin's boundaries and extracts the drainage network, returning the flow direction and accumulation, the distance to outlet and the hill slopes length maps.
Based on those maps, it calculates hydrologically meaningful shape factors and morphological parameters such as topological diameter, drainage density, Horton's ratios, concentration time, and many more, beside producing statistics on main channel and elevation and geometric features such as centroid's coordinates, rectangle containing the basin, etc.
Exploiting Python libraries, such as Numpy and Matplotlib, it produces graphics like the hypsographic and hypsometric curve and the Width Function. The results are exported as a spreadsheet in CSV format and graphics as pngs.
The advantages offered by the implementation in Python and GRASS are manifold.
Python is a powerful scripting language with huge potential for researchers due to its relative simplicity, high flexibility and thanks to a broad availability of scientific libraries.
GRASS, and as a consequence, r.basin, is platform independent, so that it is available for GNU/Linux, MS Windows, Mac, etc. Furthermore, the module is constantly maintained and improved according to users' feedback with the precious help of expert developers. The code is available for review under the official GRASS add-ons repository, allowing hydrologists and researchers to knowingly use, inspect, modify, reuse, and even incorporate it in other projects, such as web services.
DI LEO Margherita;
DI STEFANO Massimo;
2015-01-22
American Geophysical Union
JRC84967
http://abstractsearch.agu.org/meetings/2013/FM/sections/H/sessions/H52E/abstracts/H52E-06.html,
https://publications.jrc.ec.europa.eu/repository/handle/JRC84967,