GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7, available here. And see the new manual page here


r.sim.water - Overland flow hydrologic simulation using path sampling method (SIMWE).


raster, flow, hydrology


r.sim.water help
r.sim.water [-t] elevin=name dxin=name dyin=name [rain=name] [rain_val=float] [infil=name] [infil_val=float] [manin=name] [manin_val=float] [traps=name] [depth=name] [disch=name] [err=name] [nwalk=integer] [niter=integer] [outiter=integer] [diffc=float] [hmax=float] [halpha=float] [hbeta=float] [--overwrite] [--verbose] [--quiet]


Time-series output
Allow output files to overwrite existing files
Verbose module output
Quiet module output


Name of elevation raster map [m]
Name of x-derivatives raster map [m/m]
Name of y-derivatives raster map [m/m]
Name of rainfall excess rate (rain-infilt) raster map [mm/hr]
Rainfall excess rate unique value [mm/hr]
Default: 50
Name of runoff infiltration rate raster map [mm/hr]
Runoff infiltration rate unique value [mm/hr]
Default: 0.0
Name of Manning's n raster map
Manning's n unique value
Default: 0.1
Name of flow controls raster map (permeability ratio 0-1)
Name for output water depth raster map [m]
Name for output water discharge raster map [m3/s]
Name for output simulation error raster map [m]
Number of walkers, default is twice the number of cells
Time used for iterations [minutes]
Default: 10
Time interval for creating output maps [minutes]
Default: 2
Water diffusion constant
Default: 0.8
Threshold water depth [m]
Diffusion increases after this water depth is reached
Default: 0.3
Diffusion increase constant
Default: 4.0
Weighting factor for water flow velocity vector
Default: 0.5


r.sim.water is a landscape scale simulation model of overland flow designed for spatially variable terrain, soil, cover and rainfall excess conditions. A 2D shallow water flow is described by the bivariate form of Saint Venant equations. The numerical solution is based on the concept of duality between the field and particle representation of the modeled quantity. Green's function Monte Carlo method, used to solve the equation, provides robustness necessary for spatially variable conditions and high resolutions (Mitas and Mitasova 1998). The key inputs of the model include elevation (elevin raster map), flow gradient vector given by first-order partial derivatives of elevation field (dxin and dyin raster maps), rainfall excess rate (rain raster map or rain_val single value) and a surface roughness coefficient given by Manning's n (manin raster map or manin_val single value). Partial derivatives raster maps can be computed along with interpolation of a DEM using the -d option in module. If elevation raster map is already provided, partial derivatives can be computed using r.slope.aspect module. Partial derivatives are used to determine the direction and magnitude of water flow velocity. To include a predefined direction of flow, map algebra can be used to replace terrain-derived partial derivatives with pre-defined partial derivatives in selected grid cells such as man-made channels, ditches or culverts. Equations (2) and (3) from this report can be used to compute partial derivates of the predefined flow using its direction given by aspect and slope.

The module automatically converts horizontal distances from feet to metric system using database/projection information. Rainfall excess is defined as rainfall intensity - infiltration rate and should be provided in [mm/hr]. Rainfall intensities are usually available from meteorological stations. Infiltration rate depends on soil properties and land cover. It varies in space and time. For saturated soil and steady-state water flow it can be estimated using saturated hydraulic conductivity rates based on field measurements or using reference values which can be found in literature. Optionally, user can provide an overland flow infiltration rate map infil or a single value infil_val in [mm/hr] that control the rate of infiltration for the already flowing water, effectively reducing the flow depth and discharge. Overland flow can be further controled by permeable check dams or similar type of structures, the user can provide a map of these structures and their permeability ratio in the map traps that defines the probability of particles to pass through the structure (the values will be 0-1).

Output includes a water depth raster map depth in [m], and a water discharge raster map disch in [m3/s]. Error of the numerical solution can be analyzed using the err raster map (the resulting water depth is an average, and err is its RMSE). The output vector points map outwalk can be used to analyze and visualize spatial distribution of walkers at different simulation times (note that the resulting water depth is based on the density of these walkers). Number of the output walkers is controled by the density parameter, which controls how many walkers used in simulation should be written into the output. Duration of simulation is controled by the niter parameter. The default value is 10 minutes, reaching the steady-state may require much longer time, depending on the time step, complexity of terrain, land cover and size of the area. Output water depth and discharge maps can be saved during simulation using the time series flag -t and outiter parameter defining the time step in minutes for writing output files. Files are saved with a suffix representing time since the start of simulation in seconds (e.g. wdepth.500, wdepth.1000).

Overland flow is routed based on partial derivatives of elevation field or other landscape features influencing water flow. Simulation equations include a diffusion term (diffc parameter) which enables water flow to overcome elevation depressions or obstacles when water depth exceeds a threshold water depth value (hmax), given in [m]. When it is reached, diffusion term increases as given by halpha and advection term (direction of flow) is given as "prevailing" direction of flow computed as average of flow directions from the previous hbeta number of grid cells.


A 2D shallow water flow is described by the bivariate form of Saint Venant equations (e.g., Julien et al., 1995). The continuity of water flow relation is coupled with the momentum conservation equation and for a shallow water overland flow, the hydraulic radius is approximated by the normal flow depth. The system of equations is closed using the Manning's relation. Model assumes that the flow is close to the kinematic wave approximation, but we include a diffusion-like term to incorporate the impact of diffusive wave effects. Such an incorporation of diffusion in the water flow simulation is not new and a similar term has been obtained in derivations of diffusion-advection equations for overland flow, e.g., by Lettenmeier and Wood, (1992). In our reformulation, we simplify the diffusion coefficient to a constant and we use a modified diffusion term. The diffusion constant which we have used is rather small (approximately one order of magnitude smaller than the reciprocal Manning's coefficient) and therefore the resulting flow is close to the kinematic regime. However, the diffusion term improves the kinematic solution, by overcoming small shallow pits common in digital elevation models (DEM) and by smoothing out the flow over slope discontinuities or abrupt changes in Manning's coefficient (e.g., due to a road, or other anthropogenic changes in elevations or cover).

Green's function stochastic method of solution.
The Saint Venant equations are solved by a stochastic method called Monte Carlo (very similar to Monte Carlo methods in computational fluid dynamics or to quantum Monte Carlo approaches for solving the Schrodinger equation (Schmidt and Ceperley, 1992, Hammond et al., 1994; Mitas, 1996)). It is assumed that these equations are a representation of stochastic processes with diffusion and drift components (Fokker-Planck equations).

The Monte Carlo technique has several unique advantages which are becoming even more important due to new developments in computer technology. Perhaps one of the most significant Monte Carlo properties is robustness which enables us to solve the equations for complex cases, such as discontinuities in the coefficients of differential operators (in our case, abrupt slope or cover changes, etc). Also, rough solutions can be estimated rather quickly, which allows us to carry out preliminary quantitative studies or to rapidly extract qualitative trends by parameter scans. In addition, the stochastic methods are tailored to the new generation of computers as they provide scalability from a single workstation to large parallel machines due to the independence of sampling points. Therefore, the methods are useful both for everyday exploratory work using a desktop computer and for large, cutting-edge applications using high performance computing.


Spearfish region:
g.region rast=elevation.10m -p
r.slope.aspect elevation=elevation.10m dx=elev_dx dy=elev_dy

# synthetic maps
r.mapcalc "rain    = if(elevation.10m, 5.0, null())"
r.mapcalc "manning = if(elevation.10m, 0.05, null())"
r.mapcalc "infilt  = if(elevation.10m, 0.0, null())"

# simulate
r.sim.water elevin=elevation.10m dxin=elev_dx dyin=elev_dy \
            rain=rain manin=manning infil=infilt \
            nwalk=5000000 depth=depth

# visualize
r.shaded.relief elevation.10m
d.mon x0
d.font Vera
d.rast.leg depth pos=85
d.his i=elevation.10m.shade h=depth
d.barscale at=4,92 bcolor=none tcolor=black -t

r.sim.water generated depth map
Water depth map in the Spearfish (SD) area


If the module fails with
ERROR: nwalk (7000001) > maxw (7000000)!
then a lower nwalk parameter value has to be selected.

SEE ALSO, r.slope.aspect, r.sim.sediment


Helena Mitasova, Lubos Mitas
North Carolina State University

Jaroslav Hofierka
GeoModel, s.r.o. Bratislava, Slovakia

Chris Thaxton
North Carolina State University


Last changed: $Date: 2014-03-15 07:28:47 -0700 (Sat, 15 Mar 2014) $

Main index - raster index - Full index

© 2003-2016 GRASS Development Team