Flag -s force the module to use single flow direction (SFD, D8) instead of multiple flow direction (MFD). MFD is enabled by default.
By -4 flag the user allow only horizontal and vertical flow of water. Stream and slope lengths are approximately the same as outputs from default surface flow (allows horizontal, vertical, and diagonal flow of water). This flag will also make the drainage basins look more homogeneous.
When -a flag is specified the module will use positive flow accumulation even for likely underestimates. When this flag is not set, cells with a flow accumulation value that is likely to be an underestimate are converted to the negative. See below for a detailed description of flow accumulation output.
Option convergence specifies convergence factor for MFD. Lower values result in higher divergence, flow is more widely distributed. Higher values result in higher convergence, flow is less widely distributed, becoming more similar to SFD.
Option elevation specifies the elevation data on which entire analysis is based. NULL (nodata) cells are ignored, zero and negative values are valid elevation data. Gaps in the elevation map that are located within the area of interest must be filled beforehand, e.g. with r.fillnulls, to avoid distortions. The elevation map need not be sink-filled because the module uses a least-cost algorithm.
Option depression specifies the optional map of actual depressions or sinkholes in the landscape that are large enough to slow and store surface runoff from a storm event. All cells that are not NULL and not zero indicate depressions. Water will flow into but not out of depressions.
Raster flow map specifies amount of overland flow per cell. This map indicates the amount of overland flow units that each cell will contribute to the watershed basin model. Overland flow units represent the amount of overland flow each cell contributes to surface flow. If omitted, a value of one (1) is assumed.
Raster retention map specifies correction factors per cell for flow distribution. This map indicates the percentage of overland flow units leaving each cell. Values should be between zero and 100. If omitted, a value of 100 is assumed.
Input Raster map or value containing the percent of disturbed land (i.e., croplands, and construction sites) where the raster or input value of 17 equals 17%. If no map or value is given, r.watershed assumes no disturbed land. This input is used for the RUSLE calculations.
Option blocking specifies terrain that will block overland surface flow. Blocking cells and streams stop the slope length for the RUSLE. All cells that are not NULL and not zero indicate blocking terrain.
Option threshold specifies the minimum size of an exterior watershed basin in cells, if no flow map is input, or overland flow units when a flow map is given. Warning: low threshold values will dramactically increase run time and generate difficult to read basin and half_basin results. This parameter also controls the level of detail in the stream segments map.
Value given by max_slope_length option indicates the maximum length of overland surface flow in meters. If overland flow travels greater than the maximum length, the program assumes the maximum length (it assumes that landscape characteristics not discernible in the digital elevation model exist that maximize the slope length). This input is used for the RUSLE calculations and is a sensitive parameter.
Output accumulation map contains the absolute value of the amount of overland flow that traverses each cell. This value will be the number of upland cells plus one if no overland flow map is given. If the overland flow map is given, the value will be in overland flow units. Negative numbers indicate that those cells possibly have surface runoff from outside of the current geographic region. Thus, any cells with negative values cannot have their surface runoff and sedimentation yields calculated accurately.
Output tci raster map contains topographic index TCI,
computed as
ln(α / tan(β))
where α is the cumulative
upslope area draining through a point per unit contour length and
tan(β)
is the local slope angle. The TCI reflects the
tendency of water to accumulate at any point in the catchment and the
tendency for gravitational forces to move that water downslope (Quinn
et al. 1991). This value will be negative if α /
tan(β) < 1
.
Output spi raster map contains stream power index SPI,
computed as
α * tan(β)
where α is the cumulative
upslope area draining through a point per unit contour length and
tan(β)
is the local slope angle. The SPI reflects the
power of water flow at any point in the catchment and the
tendency for gravitational forces to move that water downslope (Moore
et al. 1991). This value will be negative if α < 0
,
i.e. for cells with possible surface runoff from outside of the current
geographic region.
Output drainage raster map contains drainage direction. Provides the "aspect" for each cell measured CCW from East.
The output basin map contains unique label for each watershed basin. Each basin will be given a unique positive even integer. Areas along edges may not be large enough to create an exterior watershed basin. NULL values indicate that the cell is not part of a complete watershed basin in the current geographic region.
The output stream contains stream segments. Values correspond to the watershed basin values. Can be vectorized after thinning (r.thin) with r.to.vect.
The output half_basin raster map stores each half-basin is given a unique value. Watershed basins are divided into left and right sides. The right-hand side cell of the watershed basin (looking upstream) are given even values corresponding to the values in basin. The left-hand side cells of the watershed basin are given odd values which are one less than the value of the watershed basin.
The output length_slope raster map stores slope length and steepness (LS) factor for the Revised Universal Soil Loss Equation (RUSLE). Equations taken from Revised Universal Soil Loss Equation for Western Rangelands (Weltz et al. 1987). Since the LS factor is a small number (usually less than one), the GRASS output map is of type DCELL.
The output slope_steepness raster map stores slope steepness (S) factor for the Universal Soil Loss Equation (RUSLE). Equations taken from article entitled Revised Slope Steepness Factor for the Universal Soil Loss Equation (McCool et al. 1987). Since the S factor is a small number (usually less than one), the GRASS output map is of type DCELL.
The ram version requires a maximum of 31 MB of RAM for 1 million cells. Together with the amount of system memory (RAM) available, this value can be used to estimate whether the current region can be processed with the ram version.
The ram version uses virtual memory managed by the operating system to store all the data structures and is faster than the seg version; seg uses the GRASS segmentation library which manages data in disk files. seg uses only as much system memory (RAM) as specified with the memory option, allowing other processes to operate on the same system, even when the current geographic region is huge.
Due to memory requirements of both programs, it is quite easy to run out of memory when working with huge map regions. If the ram version runs out of memory and the resolution size of the current geographic region cannot be increased, either more memory needs to be added to the computer, or the swap space size needs to be increased. If seg runs out of memory, additional disk space needs to be freed up for the program to run. The r.terraflow module was specifically designed with huge regions in mind and may be useful here as an alternative, although disk space requirements of r.terraflow are several times higher than of seg.
MASK
for NULL cells. Areas without elevation data will
be treated as if they are off the edge of the region. Such areas will
reduce the memory necessary to run the program. Masking out
unimportant areas can significantly reduce processing time if the
watersheds of interest occupy a small percentage of the overall area.
Gaps (NULL cells) in the elevation map that are located within the area of interest will heavily influence the analysis: water will flow into but not out of these gaps. These gaps must be filled beforehand, e.g. with r.fillnulls.
Zero (0) and negative values will be treated as elevation data (not no_data).
r.mapcalc "problems = if(flow_acc < 0, basin, null())"
To isolate an individual river network using the output of this module, a number of approaches may be considered.
To create river mile segmentation from a vectorized streams map, try the v.net.iso or v.lrs.segment modules.
The stream segments output can be easily vectorized after thinning with r.thin. Each stream segment in the vector map will have the value of the associated basin. To isolate subbasins and streams for a larger basin, a MASK for the larger basin can be created with r.water.outlet. The stream segments output serves as a guide where to place the outlet point used as input to r.water.outlet. The basin threshold must have been sufficiently small to isolate a stream network and subbasins within the larger basin.
Given that the drainage is 8 directions numbered
counter-clockwise starting from 1 in north-east direction,
multiplying the output
by 45 (by 45.
to get a double precision floating point raster
map in r.mapcalc) gives
the directions in degrees. For most applications, zeros
which indicate depressions specified by depression
and negative values which indicate runoff leaving the region
should be replaced by NULL (null()
in
r.mapcalc).
The following command performs these replacements:
r.mapcalc "drainage_degrees = if(drainage > 0, 45. * drainage, null())"
abs()
function in
r.mapcalc if the runoff is leaving
the region.
r.to.vect -v
flag preserves the catchment
ID as the vector category number.
r.watershed elev=elevation.dem stream=rwater.stream r.to.vect -v in=rwater.stream out=rwater_stream
Set a different color table for the accumulation map:
MAP=rwater.accum r.watershed elev=elevation.dem accum=$MAP eval `r.univar -g "$MAP"` stddev_x_2=`echo $stddev | awk '{print $1 * 2}'` stddev_div_2=`echo $stddev | awk '{print $1 / 2}'` r.colors $MAP col=rules << EOF 0% red -$stddev_x_2 red -$stddev yellow -$stddev_div_2 cyan -$mean_of_abs blue 0 white $mean_of_abs blue $stddev_div_2 cyan $stddev yellow $stddev_x_2 red 100% red EOF
Create a more detailed stream map using the accumulation map and convert it to a vector output map. The accumulation cut-off, and therefore fractal dimension, is arbitrary; in this example we use the map's mean number of upstream catchment cells (calculated in the above example by r.univar) as the cut-off value. This only works with SFD, not with MFD.
r.watershed elev=elevation.dem accum=rwater.accum r.mapcalc 'MASK = if(!isnull(elevation.dem))' r.mapcalc "rwater.course = \ if( abs(rwater.accum) > $mean_of_abs, \ abs(rwater.accum), \ null() )" r.colors -g rwater.course col=bcyr g.remove -f type=raster name=MASK # Thinning is required before converting raster lines to vector r.thin in=rwater.course out=rwater.course.Thin r.colors -gn rwater.course.Thin color=grey r.to.vect in=rwater.course.Thin out=rwater_course type=line v.db.dropcolumn map=rwater_course column=label
r.watershed elev=elevation.dem basin=rwater.basin thresh=15000 r.to.vect -s in=rwater.basin out=rwater_basins type=area v.db.dropcolumn map=rwater_basins column=label v.db.renamecolumn map=rwater_basins column=value,catchment
Display output in a nice way
r.relief map=elevation.dem d.shade shade=elevation.dem.shade color=rwater.basin bright=40 d.vect rwater_course color=orange
Available at: r.watershed source code (history)
Latest change: Tuesday Dec 17 20:17:20 2024 in commit: d962e90c026708a4815ea2b9f46c0e84c17de22d
Main index | Raster index | Topics index | Keywords index | Graphical index | Full index
© 2003-2024 GRASS Development Team, GRASS GIS 8.4.1dev Reference Manual