# Hydrological Sciences

## Flow calculation

- r.carve: Takes vector stream data, transforms it to raster and subtracts depth from the output DEM.
- r.drain: Traces a flow through an elevation model on a raster map.
- r.fillnulls: Fills no-data areas in raster maps using v.surf.rst splines interpolation
- r.fill.dir: Filters and generates a depressionless elevation map and a flow direction map from a given elevation layer.
- r.flow: Construction of slope curves (flowlines), flowpath lengths, and flowline densities (upslope areas) from a raster digital elevation model (DEM)
- r.topidx: Creates topographic index [ln(a/tan(beta))] map from elevation map.
- r.terraflow: Flow computation for massive grids.
- v.breach: Creates vector maps of lines and points of continuosly lowering elevation down the input watercourses, based on the input raster DEM.

## Groundwater flow

- r.gwflow: Numerical calculation program for transient, confined and unconfined groundwater flow in two dimensions.
- r3.gwflow: Numerical calculation program for transient, confined groundwater flow in three dimensions. See also Voxel.

## Hydrological models

- r.topmodel: Simulates TOPMODEL which is a physically based hydrological model.
- How to run r.topmodel: tutorial

- HydroFOSS: A distributed, physically based hydrological model.
- SWAT: a river basin scale model developed to quantify the impact of land management practices in large, complex watersheds.
- r.water.fea is an interactive program that allows the user to simulate storm water runoff analysis using the finite element numerical technique. Infiltration is calculated using the Green and Ampt formulation. r.water.fea computes and draws hydrographs for every basin as well as at stream junctions in an analysis area. It also draws animation maps at the basin level. The software is available within GRASS 4.x/5.x.

## Other models

- GIPE: The GRASS Image Processing Environment (GIPE) has USLE, Energy-balance and radiance-reflectance correction models. (r.hydro.CASC2D - a physically-based, distributed, raster hydrological model which simulates the hydrological response of a watershed subject to a given rainfall field - is temporarily here waiting to return to main GRASS)

## Sediment modules

- r.sim.sediment: Sediment transport and erosion/deposition simulation using path sampling method (SIMWE)
- r.sim.water: Overland flow hydrologic simulation using path sampling method (SIMWE)

## Stream modules

For an overview, see R.stream.*.

- r.stream.angle: Route azimuth, direction and relation to streams of higher order
- r.stream.basins: Calculate basins according user input
- r.stream.del: Calculate basins according user input
- r.stream.distance: Calculate distance to and elevation above streams and outlets according user input. It can work in stream mode where target are streams and outlets mode where targets are outlets
- r.stream.extract: Stream network extraction
- r.stream.order: Calculate Strahler's and Horton's stream order Hack's main streams and Shreeve's stream magnitude. It uses r.watershed or r.stream.extract output files: stream, direction and optionally accumulation. Output data can be either from r.watershed or r.stream.extract but not from both together
- r.stream.pos: Route azimuth, direction and relation to streams of higher order
- r.stream.stats: Calculate Horton's and optionally Hack's statistics according to user input

Only available for GRASS 7:

- r.stream.channel: Calculate some local properties of the stream network. It is supplementary module for r.stream.order and r.stream.distance to investigate channel subsystem.
- r.stream.segment: The module is designed to inverstigate network lineaments and calculate angle relations between tributaries and its major streams.
- r.stream.slope: Calculates the difference between elevation of current cell and downstream cell, gradient and max curvature on the basis of a flow direction map. It can be used to calculate the directional slope using a flow direction map.
- r.stream.snap: is a supplementary module for r.stream.extract and r.stream.basins to correct position of outlets or stream initial points as they do not lie on the streamlines.

## Watershed modules

- r.basin.fill: Generates a raster map layer showing watershed subbasins.
- r.water.outlet: Generates a watershed basin from a drainage direction map (from r.watershed) and a set of coordinates representing the outlet point of watershed.
- r.watershed: Watershed basin analysis program.
- r.lake: Fills a lake to a target water level from a given start point.
- r.basin: Generates the main morphometric parameters of the basin. Here a tutorial
- r.threshold: Allows to find the "optimal" value of upslope area in order to extract the river network using r.stream.extract or r.watershed.

## Tutorials

## References

- Metz, M. et al 2009: Fast Stream Extraction from Large, Radar-Based Elevation Models with Variable Level of Detail (PDF)
- Metz, M. et al 2010: Accurate stream extraction from large, radar-based elevation models (PDF)
- J Jasiewicz, M Metz, 2011: A new GRASS GIS toolkit for Hortonian analysis of drainage networks, Computers & Geosciences. DOI
- Di Leo M., Di Stefano M., Claps P., Sole A. Caratterizzazione morfometrica del bacino idrografico in GRASS GIS (Morphometric characterization of the catchment in GRASS GIS environment), Geomatics Workbooks n.9, 2010 (In Italian). (PDF).