EnglishFrenchSpanish

OnWorks favicon

r.terraflowgrass - Online in the Cloud

Run r.terraflowgrass in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command r.terraflowgrass that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


r.terraflow - Performs flow computation for massive grids.
Float version.

KEYWORDS


raster, hydrology, flow, accumulation, sink

SYNOPSIS


r.terraflow
r.terraflow --help
r.terraflow [-s] elevation=name filled=name direction=name swatershed=name
accumulation=name tci=name [d8cut=float] [memory=integer] [directory=string]
[stats=string] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

Flags:
-s
SFD (D8) flow (default is MFD)
SFD: single flow direction, MFD: multiple flow direction

--overwrite
Allow output files to overwrite existing files

--help
Print usage summary

--verbose
Verbose module output

--quiet
Quiet module output

--ui
Force launching GUI dialog

Parameters:
elevation=name [required]
Name of input elevation raster map

filled=name [required]
Name for output filled (flooded) elevation raster map

direction=name [required]
Name for output flow direction raster map

swatershed=name [required]
Name for output sink-watershed raster map

accumulation=name [required]
Name for output flow accumulation raster map

tci=name [required]
Name for output topographic convergence index (tci) raster map

d8cut=float
Routing using SFD (D8) direction
If flow accumulation is larger than this value it is routed using SFD (D8) direction
(meaningfull only for MFD flow). If no answer is given it defaults to infinity.

memory=integer
Maximum memory to be used (in MB)
Default: 300

directory=string
Directory to hold temporary files (they can be large)

stats=string
Name of file containing runtime statistics

DESCRIPTION


r.terraflow takes as input a raster digital elevation model (DEM) and computes the flow
direction raster and the flow accumulation raster, as well as the flooded elevation
raster, sink-watershed raster (partition into watersheds around sinks) and TCI
(topographic convergence index) raster maps.

r.terraflow computes these rasters using well-known approaches, with the difference that
its emphasis is on the computational complexity of the algorithms, rather than on modeling
realistic flow. r.terraflow emerged from the necessity of having scalable software able
to process efficiently very large terrains. It is based on theoretically optimal
algorithms developed in the framework of I/O-efficient algorithms. r.terraflow was
designed and optimized especially for massive grids and is able to process terrains which
were impractical with similar functions existing in other GIS systems.

Flow directions are computed using either the MFD (Multiple Flow Direction) model or the
SFD (Single Flow Direction, or D8) model, illustrated below. Both methods compute
downslope flow directions by inspecting the 3-by-3 window around the current cell. The SFD
method assigns a unique flow direction towards the steepest downslope neighbor. The MFD
method assigns multiple flow directions towards all downslope neighbors.

Flow direction to steepest downslope neighbor (SFD). Flow direction to all downslope neighbors (MFD).

The SFD and the MFD method cannot compute flow directions for cells which have the same
height as all their neighbors (flat areas) or cells which do not have downslope neighbors
(one-cell pits).

· On plateaus (flat areas that spill out) r.terraflow routes flow so that globally
the flow goes towards the spill cells of the plateaus.

· On sinks (flat areas that do not spill out, including one-cell pits) r.terraflow
assigns flow by flooding the terrain until all the sinks are filled and assigning
flow directions on the filled terrain.

In order to flood the terrain, r.terraflow identifies all sinks and partitions the terrain
into sink-watersheds (a sink-watershed contains all the cells that flow into that sink),
builds a graph representing the adjacency information of the sink-watersheds, and uses
this sink-watershed graph to merge watersheds into each other along their lowest common
boundary until all watersheds have a flow path outside the terrain. Flooding produces a
sink-less terrain in which every cell has a downslope flow path leading outside the
terrain and therefore every cell in the terrain can be assigned SFD/MFD flow directions as
above.

Once flow directions are computed for every cell in the terrain, r.terraflow computes flow
accumulation by routing water using the flow directions and keeping track of how much
water flows through each cell.

If flow accumulation of a cell is larger than the value given by the d8cut option, then
the flow of this cell is routed to its neighbors using the SFD (D8) model. This option
affects only the flow accumulation raster and is meaningful only for MFD flow (i.e. if the
-s flag is not used); If this option is used for SFD flow it is ignored. The default value
of d8cut is infinity.

r.terraflow also computes the tci raster (topographic convergence index, defined as the
logarithm of the ratio of flow accumulation and local slope).

For more details on the algorithms see [1,2,3] below.

NOTES


One of the techniques used by r.terraflow is the space-time trade-off. In particular, in
order to avoid searches, which are I/O-expensive, r.terraflow computes and works with an
augmented elevation raster in which each cell stores relevant information about its 8
neighbors, in total up to 80B per cell. As a result r.terraflow works with intermediate
temporary files that may be up to 80N bytes, where N is the number of cells (rows x
columns) in the elevation raster (more precisely, 80K bytes, where K is the number of
valid (not no-data) cells in the input elevation raster).

All these intermediate temporary files are stored in the path specified by the STREAM_DIR
option. Note: STREAM_DIR must contain enough free disk space in order to store up to 2 x
80N bytes.

The memory option can be used to set the maximum amount of main memory (RAM) the module
will use during processing. In practice its value should be an underestimate of the amount
of available (free) main memory on the machine. r.terraflow will use at all times at most
this much memory, and the virtual memory system (swap space) will never be used. The
default value is 300 MB.

The stats option defines the name of the file that contains the statistics (stats) of the
run.

r.terraflow has a limit on the number of rows and columns (max 32,767 each).

The internal type used by r.terraflow to store elevations can be defined at compile-time.
By default, r.terraflow is compiled to store elevations internally as floats. Other
versions can be created by the user if needed.

Hints concerning compilation with storage of elevations internally as shorts:
such a version uses less space (up to 60B per cell, up to 60N intermediate file) and
therefore is more space and time efficient. r.terraflow is intended for use with floating
point raster data (FCELL), and r.terraflow (short) with integer raster data (CELL) in
which the maximum elevation does not exceed the value of a short SHRT_MAX=32767 (this is
not a constraint for any terrain data of the Earth, if elevation is stored in meters).
Both r.terraflow and r.terraflow (short) work with input elevation rasters which can be
either integer, floating point or double (CELL, FCELL, DCELL). If the input raster
contains a value that exceeds the allowed internal range (short for r.terraflow (short),
float for r.terraflow), the program exits with a warning message. Otherwise, if all values
in the input elevation raster are in range, they will be converted (truncated) to the
internal elevation type (short for r.terraflow (short), float for r.terraflow). In this
case precision may be lost and artificial flat areas may be created. For instance, if
r.terraflow (short) is used with floating point raster data (FCELL or DCELL), the values
of the elevation will be truncated as shorts. This may create artificial flat areas, and
the output of r.terraflow (short) may be less realistic than those of r.terraflow on
floating point raster data. The outputs of r.terraflow (short) and r.terraflow are
identical for integer raster data (CELL maps).

EXAMPLES


Example for small area in North Carolina sample dataset:
g.region raster=elev_lid792_1m
r.terraflow elevation=elev_lid792_1m filled=elev_lid792_1m_filled \
direction=elev_lid792_1m_direction swatershed=elev_lid792_1m_swatershed \
accumulation=elev_lid792_1m_accumulation tci=elev_lid792_1m_tci
Flow accumulation

Spearfish sample data set:
g.region raster=elevation.10m -p
r.terraflow elev=elevation.10m filled=elevation10m.filled \
dir=elevation10m.mfdir swatershed=elevation10m.watershed \
accumulation=elevation10m.accu tci=elevation10m.tci
g.region raster=elevation.10m -p
r.terraflow elev=elevation.10m filled=elevation10m.filled \
dir=elevation10m.mfdir swatershed=elevation10m.watershed \
accumulation=elevation10m.accu tci=elevation10m.tci d8cut=500 memory=800 \
stats=elevation10mstats.txt

Use r.terraflowgrass online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

Linux commands

Ad