6 changes: 6 additions & 0 deletions python/plugins/sextante/taudem/description/d8flowdir.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
D8 Flow Directions
d8flowdir
Basic Grid Analysis tools
ParameterRaster|-fel|Pit Filled Elevation Grid|False
OutputRaster|-p|D8 Flow Direction Grid
OutputRaster|-sd8|D8 Slope Grid
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
D8 Extreme Upslope Value
d8flowpathextremeup
Stream Network Analysis tools
ParameterRaster|-p|D8 Flow Directions Grid|False
ParameterRaster|-sa|Upslope Values Grid|False
ParameterVector|-o|Outlets Shapefile|0|True
ParameterBoolean|-nc|Check for edge contamination|True
ParameterBoolean|-min|Use max upslope value|True
OutputRaster|-ssa|Extereme Upslope Values Grid
7 changes: 7 additions & 0 deletions python/plugins/sextante/taudem/description/d8hdisttostrm.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
D8 Distance To Streams
d8hdisttostrm
Specialized Grid Analysis tools
ParameterRaster|-p|D8 Flow Direction Grid|False
ParameterRaster|-src|Stream Raster Grid|False
ParameterNumber|-thresh|Threshold|1|500|50
OutputRaster|-dist|Output Distance to Streams
11 changes: 11 additions & 0 deletions python/plugins/sextante/taudem/description/dinfavalanche.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
D-Infinity Avalanche Runout
dinfavalanche
Specialized Grid Analysis tools
ParameterRaster|-ang|D-Infinity Flow Direction Grid|False
ParameterRaster|-fel|Pit Filled Elevation Grid|False
ParameterRaster|-ass|Avalanche Source Site Grid|False
ParameterNumber|-thresh|Proportion Threshold|0.00001|10.0|0.2
ParameterNumber|-alpha|Alpha Angle Threshold|0|360|18
ParameterBoolean|-direct|Measure distance along flow path|True
OutputRaster|-rz|Runout Zone Grid
OutputRaster|-dfs|Path Distance Grid
11 changes: 11 additions & 0 deletions python/plugins/sextante/taudem/description/dinfconclimaccum.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
D-Infinity Concentration Limited Accumulation
dinfconclimaccum
Specialized Grid Analysis tools
ParameterRaster|-ang|D-Infinity Flow Direction Grid|False
ParameterRaster|-dg|Disturbance Indicator Grid|False
ParameterRaster|-dm|Decay Multiplier Grid|False
ParameterRaster|-q|Effective Runoff Weight Grid|False
ParameterVector|-o|Outlets shapefile|0|True
ParameterNumber|-csol|Concentration Threshold|1.0|100.0|1.0
ParameterBoolean|-nc|Check for edge contamination|True
OutputRaster|-ctpt|Concentration Grid
9 changes: 9 additions & 0 deletions python/plugins/sextante/taudem/description/dinfdecayaccum.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
D-Infinity Decaying Accumulation
dinfdecayaccum
Specialized Grid Analysis tools
ParameterRaster|-ang|D-Infinity Flow Direction Grid|False
ParameterRaster|-dm|Decay Multiplier Grid|False
ParameterRaster|-wg|Weight Grid|True
ParameterVector|-o|Outlets Shapefile|0|True
ParameterBoolean|-nc|Check for edge contamination|True
OutputRaster|-dsca|Upslope Dependence Grid
6 changes: 6 additions & 0 deletions python/plugins/sextante/taudem/description/dinfflowdir.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
D-Infinity Flow Directions
dinfflowdir
Basic Grid Analysis tools
ParameterRaster|-fel|Pit Filled Elevation Grid|False
OutputRaster|-ang|D-Infinity Flow Directions Grid
OutputRaster|-slp|D-Infinity Slope Grid
7 changes: 7 additions & 0 deletions python/plugins/sextante/taudem/description/dinfrevaccum.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
D-Infinity Reverse Accumulation
dinfrevaccum
Specialized Grid Analysis tools
ParameterRaster|-ang|D-Infinity Flow Direction Grid|False
ParameterRaster|-wg|Weight Grid|False
OutputRaster|-racc|Reverse Accumulation Grid
OutputRaster|-dmax|Maximum Downslope Grid
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
D-Infinity Upslope Dependence
dinfupdependence
Specialized Grid Analysis tools
ParameterRaster|-ang|D-Infinity Flow Direction Grid|False
ParameterRaster|-dg|Destination Grid|False
OutputRaster|-dep|Output Upslope Dependence Grid
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Move Outlets To Streams
moveoutletstostrm
Stream Network Analysis tools
ParameterRaster|-p|D8 Flow Direction Grid|False
ParameterRaster|-src|Stream Raster Grid|False
ParameterVector|-o|Outlets Shapefile|0|False
ParameterNumber|-md|Maximum Number of Grid Cells to traverse|1|500|50
OutputVector|-om|Output Outlet Shapefile
5 changes: 5 additions & 0 deletions python/plugins/sextante/taudem/description/pitremove.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Pit Remove
pitremove
Basic Grid Analysis tools
ParameterRaster|-z|Elevation Grid|False
OutputRaster|-fel|Pit Removed Elevation Grid
6 changes: 6 additions & 0 deletions python/plugins/sextante/taudem/description/slopearearatio.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Slope Over Area Ratio
slopearearatio
Specialized Grid Analysis tools
ParameterRaster|-slp|Slope Grid|False
ParameterRaster|-sca|Specific Catchment Area Grid|False
OutputRaster|-sar|Slope Divided By Area Ratio Grid
7 changes: 7 additions & 0 deletions python/plugins/sextante/taudem/description/slopeavedown.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Slope Average Down
slopeavedown
Specialized Grid Analysis tools
ParameterRaster|-p|D8 Flow Direction Grid|False
ParameterRaster|-fel|Pit Filled Elevation Grid|False
ParameterNumber|-dn|Downslope Distance|1|500|50
OutputRaster|-slpd|Slope Average Down Grid
14 changes: 14 additions & 0 deletions python/plugins/sextante/taudem/description/streamnet.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Stream Reach and Watershed
streamnet
Stream Network Analysis tools
ParameterRaster|-fel|Pit Filled Elevation Grid|False
ParameterRaster|-p|D8 Flow Direction Grid|False
ParameterRaster|-ad8|D8 Drainage Area|False
ParameterRaster|-src|Stream Raster Grid|False
ParameterVector|-o|Outlets Shapefile as Network Nodes|0|True
ParameterBoolean|-sw|Delineate Single Watershed|False
OutputRaster|-ord|Stream Order Grid
OutputRaster|-w|Watershed Grid
OutputVector|-net|Stream Reach Shapefile
OutputFile|-tree|Network Connectivity Tree
OutputFile|-coord|Network Coordinates
7 changes: 7 additions & 0 deletions python/plugins/sextante/taudem/description/threshold.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Stream Definition By Threshold
threshold
Stream Network Analysis tools
ParameterRaster|-ssa|Accumulated Stream Source Grid|False
ParameterNumber|-thresh|Threshold|1|None|100
ParameterRaster|-mask|Mask Grid|True
OutputRaster|-src|Stream Raster Grid
123 changes: 123 additions & 0 deletions python/plugins/sextante/taudem/dinfdistdown.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# -*- coding: utf-8 -*-

"""
***************************************************************************
dinfdistdown.py
---------------------
Date : October 2012
Copyright : (C) 2012 by Alexander Bruy
Email : alexander dot bruy at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""


__author__ = 'Alexander Bruy'
__date__ = 'October 2012'
__copyright__ = '(C) 2012, Alexander Bruy'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'

import os

from PyQt4.QtGui import *

from sextante.core.GeoAlgorithm import GeoAlgorithm
from sextante.core.SextanteLog import SextanteLog
from sextante.core.SextanteUtils import SextanteUtils
from sextante.core.SextanteConfig import SextanteConfig
from sextante.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException

from sextante.parameters.ParameterRaster import ParameterRaster
from sextante.parameters.ParameterBoolean import ParameterBoolean
from sextante.parameters.ParameterSelection import ParameterSelection

from sextante.outputs.OutputRaster import OutputRaster

from sextante.taudem.TauDEMUtils import TauDEMUtils

class DinfDistDown(GeoAlgorithm):
DINF_FLOW_DIR_GRID = "DINF_FLOW_DIR_GRID"
PIT_FILLED_GRID = "PIT_FILLED_GRID"
STREAM_GRID = "STREAM_GRID"
WEIGHT_PATH_GRID = "WEIGHT_PATH_GRID"
STAT_METHOD = "STAT_METHOD"
DIST_METHOD = "DIST_METHOD"
EDGE_CONTAM = "EDGE_CONTAM"

DIST_DOWN_GRID = "DIST_DOWN_GRID"

STATISTICS = ["Minimum", "Maximum", "Average"]
STAT_DICT = {0:"min",
1:"max",
2:"ave"}

DISTANCE = ["Pythagoras", "Horizontal", "Vertical", "Surface"]
DIST_DICT = {0:"p",
1:"h",
2:"v",
3:"s"}

def getIcon(self):
return QIcon(os.path.dirname(__file__) + "/../images/taudem.png")

def defineCharacteristics(self):
self.name = "D-Infinity Distance Down"
self.cmdName = "dinfdistdown"
self.group = "Specialized Grid Analysis tools"

self.addParameter(ParameterRaster(self.DINF_FLOW_DIR_GRID, "D-Infinity Flow Direction Grid", False))
self.addParameter(ParameterRaster(self.PIT_FILLED_GRID, "Pit Filled Elevation Grid", False))
self.addParameter(ParameterRaster(self.STREAM_GRID, "Stream Raster Grid", False))
self.addParameter(ParameterRaster(self.WEIGHT_PATH_GRID, "Weight Path Grid", True))
self.addParameter(ParameterSelection(self.STAT_METHOD, "Statistical Method", self.STATISTICS, 2))
self.addParameter(ParameterSelection(self.DIST_METHOD, "Distance Method", self.DISTANCE, 1))
self.addParameter(ParameterBoolean(self.EDGE_CONTAM, "Check for edge contamination", True))

self.addOutput(OutputRaster(self.DIST_DOWN_GRID, "D-Infinity Drop to Stream Grid"))

def processAlgorithm(self, progress):
commands = []
commands.append(os.path.join(TauDEMUtils.mpiexecPath(), "mpiexec"))

processNum = SextanteConfig.getSetting(TauDEMUtils.MPI_PROCESSES)
if processNum <= 0:
raise GeoAlgorithmExecutionException("Wrong number of MPI processes used.\nPlease set correct number before running TauDEM algorithms.")

commands.append("-n")
commands.append(str(processNum))
commands.append(os.path.join(TauDEMUtils.taudemPath(), self.cmdName))
commands.append("-ang")
commands.append(self.getParameterValue(self.DINF_FLOW_DIR_GRID))
commands.append("-fel")
commands.append(self.getParameterValue(self.PIT_FILLED_GRID))
commands.append("-src")
commands.append(self.getParameterValue(self.STREAM_GRID))
wg = self.getParameterValue(self.WEIGHT_PATH_GRID)
if wg is not None:
commands.append("-wg")
commands.append(self.getParameterValue(self.WEIGHT_PATH_GRID))
commands.append("-m")
commands.append(str(self.STAT_DICT[self.getParameterValue(self.STAT_METHOD)]))
commands.append(str(self.DIST_DICT[self.getParameterValue(self.DIST_METHOD)]))
if str(self.getParameterValue(self.EDGE_CONTAM)).lower() == "false":
commands.append("-nc")
commands.append("-dd")
commands.append(self.getOutputValue(self.DIST_DOWN_GRID))

loglines = []
loglines.append("TauDEM execution command")
for line in commands:
loglines.append(line)
SextanteLog.addToLog(SextanteLog.LOG_INFO, loglines)

TauDEMUtils.executeTauDEM(commands, progress)

def helpFile(self):
return os.path.join(os.path.dirname(__file__), "help", self.cmdName + ".html")
120 changes: 120 additions & 0 deletions python/plugins/sextante/taudem/dinfdistup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# -*- coding: utf-8 -*-

"""
***************************************************************************
dinfdistup.py
---------------------
Date : October 2012
Copyright : (C) 2012 by Alexander Bruy
Email : alexander dot bruy at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""


__author__ = 'Alexander Bruy'
__date__ = 'October 2012'
__copyright__ = '(C) 2012, Alexander Bruy'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'

import os

from PyQt4.QtGui import *

from sextante.core.GeoAlgorithm import GeoAlgorithm
from sextante.core.SextanteLog import SextanteLog
from sextante.core.SextanteUtils import SextanteUtils
from sextante.core.SextanteConfig import SextanteConfig
from sextante.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException

from sextante.parameters.ParameterRaster import ParameterRaster
from sextante.parameters.ParameterNumber import ParameterNumber
from sextante.parameters.ParameterBoolean import ParameterBoolean
from sextante.parameters.ParameterSelection import ParameterSelection

from sextante.outputs.OutputRaster import OutputRaster

from sextante.taudem.TauDEMUtils import TauDEMUtils

class DinfDistUp(GeoAlgorithm):
DINF_FLOW_DIR_GRID = "DINF_FLOW_DIR_GRID"
PIT_FILLED_GRID = "PIT_FILLED_GRID"
SLOPE_GRID = "SLOPE_GRID"
THRESHOLD = "THRESHOLD"
STAT_METHOD = "STAT_METHOD"
DIST_METHOD = "DIST_METHOD"
EDGE_CONTAM = "EDGE_CONTAM"

DIST_UP_GRID = "DIST_UP_GRID"

STATISTICS = ["Minimum", "Maximum", "Average"]
STAT_DICT = {0:"min",
1:"max",
2:"ave"}

DISTANCE = ["Pythagoras", "Horizontal", "Vertical", "Surface"]
DIST_DICT = {0:"p",
1:"h",
2:"v",
3:"s"}

def getIcon(self):
return QIcon(os.path.dirname(__file__) + "/../images/taudem.png")

def defineCharacteristics(self):
self.name = "D-Infinity Distance Up"
self.cmdName = "dinfdistup"
self.group = "Specialized Grid Analysis tools"

self.addParameter(ParameterRaster(self.DINF_FLOW_DIR_GRID, "D-Infinity Flow Direction Grid", False))
self.addParameter(ParameterRaster(self.PIT_FILLED_GRID, "Pit Filled Elevation Grid", False))
self.addParameter(ParameterRaster(self.SLOPE_GRID, "Slope Grid", False))
self.addParameter(ParameterSelection(self.STAT_METHOD, "Statistical Method", self.STATISTICS, 2))
self.addParameter(ParameterSelection(self.DIST_METHOD, "Distance Method", self.DISTANCE, 1))
self.addParameter(ParameterNumber(self.THRESHOLD, "Proportion Threshold", 0, None, 0.5))
self.addParameter(ParameterBoolean(self.EDGE_CONTAM, "Check for edge contamination", True))

self.addOutput(OutputRaster(self.DIST_UP_GRID, "D-Infinity Distance Up"))

def processAlgorithm(self, progress):
commands = []
commands.append(os.path.join(TauDEMUtils.mpiexecPath(), "mpiexec"))

processNum = SextanteConfig.getSetting(TauDEMUtils.MPI_PROCESSES)
if processNum <= 0:
raise GeoAlgorithmExecutionException("Wrong number of MPI processes used.\nPlease set correct number before running TauDEM algorithms.")

commands.append("-n")
commands.append(str(processNum))
commands.append(os.path.join(TauDEMUtils.taudemPath(), self.cmdName))
commands.append("-ang")
commands.append(self.getParameterValue(self.DINF_FLOW_DIR_GRID))
commands.append("-fel")
commands.append(self.getParameterValue(self.PIT_FILLED_GRID))
commands.append("-m")
commands.append(str(self.STAT_DICT[self.getParameterValue(self.STAT_METHOD)]))
commands.append(str(self.DIST_DICT[self.getParameterValue(self.DIST_METHOD)]))
commands.append("-thresh")
commands.append(str(self.getParameterValue(self.THRESHOLD)))
if str(self.getParameterValue(self.EDGE_CONTAM)).lower() == "false":
commands.append("-nc")
commands.append("-du")
commands.append(self.getOutputValue(self.DIST_UP_GRID))

loglines = []
loglines.append("TauDEM execution command")
for line in commands:
loglines.append(line)
SextanteLog.addToLog(SextanteLog.LOG_INFO, loglines)

TauDEMUtils.executeTauDEM(commands, progress)

def helpFile(self):
return os.path.join(os.path.dirname(__file__), "help", self.cmdName + ".html")
112 changes: 112 additions & 0 deletions python/plugins/sextante/taudem/dinftranslimaccum.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# -*- coding: utf-8 -*-

"""
***************************************************************************
dinftranslimaccum.py
---------------------
Date : October 2012
Copyright : (C) 2012 by Alexander Bruy
Email : alexander dot bruy at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""


__author__ = 'Alexander Bruy'
__date__ = 'October 2012'
__copyright__ = '(C) 2012, Alexander Bruy'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'

import os

from PyQt4.QtGui import *

from sextante.core.GeoAlgorithm import GeoAlgorithm
from sextante.core.SextanteLog import SextanteLog
from sextante.core.SextanteUtils import SextanteUtils
from sextante.core.SextanteConfig import SextanteConfig
from sextante.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException

from sextante.parameters.ParameterRaster import ParameterRaster
from sextante.parameters.ParameterVector import ParameterVector
from sextante.parameters.ParameterBoolean import ParameterBoolean

from sextante.outputs.OutputRaster import OutputRaster

from sextante.taudem.TauDEMUtils import TauDEMUtils

class DinfTransLimAccum(GeoAlgorithm):
DINF_FLOW_DIR_GRID = "DINF_FLOW_DIR_GRID"
SUPPLY_GRID = "SUPPLY_GRID"
CAPACITY_GRID = "CAPACITY_GRID"
IN_CONCENTR_GRID = "IN_CONCENTR_GRID"
OUTLETS_SHAPE = "OUTLETS_SHAPE"
EDGE_CONTAM = "EDGE_CONTAM"

TRANSP_LIM_ACCUM_GRID = "TRANSP_LIM_ACCUM_GRID"
DEPOSITION_GRID = "DEPOSITION_GRID"
OUT_CONCENTR_GRID = "OUT_CONCENTR_GRID"

def getIcon(self):
return QIcon(os.path.dirname(__file__) + "/../images/taudem.png")

def defineCharacteristics(self):
self.name = "D-Infinity Transport Limited Accumulation"
self.cmdName = "dinftranslimaccum"
self.group = "Specialized Grid Analysis tools"

self.addParameter(ParameterRaster(self.DINF_FLOW_DIR_GRID, "D-Infinity Flow Direction Grid", False))
self.addParameter(ParameterRaster(self.SUPPLY_GRID, "Supply Grid", False))
self.addParameter(ParameterRaster(self.CAPACITY_GRID, "Transport Capacity Grid", False))
self.addParameter(ParameterVector(self.OUTLETS_SHAPE, "Outlets Shapefile", ParameterVector.VECTOR_TYPE_POINT, True))
self.addParameter(ParameterBoolean(self.EDGE_CONTAM, "Check for edge contamination", True))

self.addOutput(OutputRaster(self.TRANSP_LIM_ACCUM_GRID, "Transport Limited Accumulation Grid"))
self.addOutput(OutputRaster(self.DEPOSITION_GRID, "Deposition Grid"))

def processAlgorithm(self, progress):
commands = []
commands.append(os.path.join(TauDEMUtils.mpiexecPath(), "mpiexec"))

processNum = SextanteConfig.getSetting(TauDEMUtils.MPI_PROCESSES)
if processNum <= 0:
raise GeoAlgorithmExecutionException("Wrong number of MPI processes used.\nPlease set correct number before running TauDEM algorithms.")

commands.append("-n")
commands.append(str(processNum))
commands.append(os.path.join(TauDEMUtils.taudemPath(), self.cmdName))
commands.append("-ang")
commands.append(self.getParameterValue(self.DINF_FLOW_DIR_GRID))
commands.append("-tsup")
commands.append(self.getParameterValue(self.SUPPLY_GRID))
commands.append("-tc")
commands.append(self.getParameterValue(self.CAPACITY_GRID))
param = self.getParameterValue(self.OUTLETS_SHAPE)
if param is not None:
commands.append("-o")
commands.append(param)
if str(self.getParameterValue(self.EDGE_CONTAM)).lower() == "false":
commands.append("-nc")

commands.append("-tla")
commands.append(self.getOutputValue(self.TRANSP_LIM_ACCUM_GRID))
commands.append("-tdep")
commands.append(self.getOutputValue(self.DEPOSITION_GRID))

loglines = []
loglines.append("TauDEM execution command")
for line in commands:
loglines.append(line)
SextanteLog.addToLog(SextanteLog.LOG_INFO, loglines)

TauDEMUtils.executeTauDEM(commands, progress)

def helpFile(self):
return os.path.join(os.path.dirname(__file__), "help", self.cmdName + ".html")
118 changes: 118 additions & 0 deletions python/plugins/sextante/taudem/dinftranslimaccum2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# -*- coding: utf-8 -*-

"""
***************************************************************************
dinftranslimaccum2.py
---------------------
Date : October 2012
Copyright : (C) 2012 by Alexander Bruy
Email : alexander dot bruy at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""


__author__ = 'Alexander Bruy'
__date__ = 'October 2012'
__copyright__ = '(C) 2012, Alexander Bruy'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'

import os

from PyQt4.QtGui import *

from sextante.core.GeoAlgorithm import GeoAlgorithm
from sextante.core.SextanteLog import SextanteLog
from sextante.core.SextanteUtils import SextanteUtils
from sextante.core.SextanteConfig import SextanteConfig
from sextante.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException

from sextante.parameters.ParameterRaster import ParameterRaster
from sextante.parameters.ParameterVector import ParameterVector
from sextante.parameters.ParameterBoolean import ParameterBoolean

from sextante.outputs.OutputRaster import OutputRaster

from sextante.taudem.TauDEMUtils import TauDEMUtils

class DinfTransLimAccum2(GeoAlgorithm):
DINF_FLOW_DIR_GRID = "DINF_FLOW_DIR_GRID"
SUPPLY_GRID = "SUPPLY_GRID"
CAPACITY_GRID = "CAPACITY_GRID"
IN_CONCENTR_GRID = "IN_CONCENTR_GRID"
OUTLETS_SHAPE = "OUTLETS_SHAPE"
EDGE_CONTAM = "EDGE_CONTAM"

TRANSP_LIM_ACCUM_GRID = "TRANSP_LIM_ACCUM_GRID"
DEPOSITION_GRID = "DEPOSITION_GRID"
OUT_CONCENTR_GRID = "OUT_CONCENTR_GRID"

def getIcon(self):
return QIcon(os.path.dirname(__file__) + "/../images/taudem.png")

def defineCharacteristics(self):
self.name = "D-Infinity Transport Limited Accumulation - 2"
self.cmdName = "dinftranslimaccum"
self.group = "Specialized Grid Analysis tools"

self.addParameter(ParameterRaster(self.DINF_FLOW_DIR_GRID, "D-Infinity Flow Direction Grid", False))
self.addParameter(ParameterRaster(self.SUPPLY_GRID, "Supply Grid", False))
self.addParameter(ParameterRaster(self.CAPACITY_GRID, "Transport Capacity Grid", False))
self.addParameter(ParameterRaster(self.IN_CONCENTR_GRID, "Input Concentration Grid", False))
self.addParameter(ParameterVector(self.OUTLETS_SHAPE, "Outlets Shapefile", ParameterVector.VECTOR_TYPE_POINT, True))
self.addParameter(ParameterBoolean(self.EDGE_CONTAM, "Check for edge contamination", True))

self.addOutput(OutputRaster(self.TRANSP_LIM_ACCUM_GRID, "Transport Limited Accumulation Grid"))
self.addOutput(OutputRaster(self.DEPOSITION_GRID, "Deposition Grid"))
self.addOutput(OutputRaster(self.OUT_CONCENTR_GRID, "Output Concentration Grid"))

def processAlgorithm(self, progress):
commands = []
commands.append(os.path.join(TauDEMUtils.mpiexecPath(), "mpiexec"))

processNum = SextanteConfig.getSetting(TauDEMUtils.MPI_PROCESSES)
if processNum <= 0:
raise GeoAlgorithmExecutionException("Wrong number of MPI processes used.\nPlease set correct number before running TauDEM algorithms.")

commands.append("-n")
commands.append(str(processNum))
commands.append(os.path.join(TauDEMUtils.taudemPath(), self.cmdName))
commands.append("-ang")
commands.append(self.getParameterValue(self.DINF_FLOW_DIR_GRID))
commands.append("-tsup")
commands.append(self.getParameterValue(self.SUPPLY_GRID))
commands.append("-tc")
commands.append(self.getParameterValue(self.CAPACITY_GRID))
commands.append("-cs")
commands.append(self.getParameterValue(self.IN_CONCENTR_GRID))
param = self.getParameterValue(self.OUTLETS_SHAPE)
if param is not None:
commands.append("-o")
commands.append(param)
if str(self.getParameterValue(self.EDGE_CONTAM)).lower() == "false":
commands.append("-nc")

commands.append("-tla")
commands.append(self.getOutputValue(self.TRANSP_LIM_ACCUM_GRID))
commands.append("-tdep")
commands.append(self.getOutputValue(self.DEPOSITION_GRID))
commands.append("-ctpt")
commands.append(self.getOutputValue(self.OUT_CONCENTR_GRID))

loglines = []
loglines.append("TauDEM execution command")
for line in commands:
loglines.append(line)
SextanteLog.addToLog(SextanteLog.LOG_INFO, loglines)

TauDEMUtils.executeTauDEM(commands, progress)

def helpFile(self):
return os.path.join(os.path.dirname(__file__), "help", self.cmdName + ".html")
117 changes: 117 additions & 0 deletions python/plugins/sextante/taudem/dropanalysis.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# -*- coding: utf-8 -*-

"""
***************************************************************************
dropanalysis.py
---------------------
Date : October 2012
Copyright : (C) 2012 by Alexander Bruy
Email : alexander dot bruy at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""


__author__ = 'Alexander Bruy'
__date__ = 'October 2012'
__copyright__ = '(C) 2012, Alexander Bruy'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'

import os

from PyQt4.QtGui import *

from sextante.core.GeoAlgorithm import GeoAlgorithm
from sextante.core.SextanteLog import SextanteLog
from sextante.core.SextanteUtils import SextanteUtils
from sextante.core.SextanteConfig import SextanteConfig
from sextante.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException

from sextante.parameters.ParameterRaster import ParameterRaster
from sextante.parameters.ParameterVector import ParameterVector
from sextante.parameters.ParameterNumber import ParameterNumber
from sextante.parameters.ParameterSelection import ParameterSelection

from sextante.outputs.OutputFile import OutputFile

from sextante.taudem.TauDEMUtils import TauDEMUtils

class DropAnalysis(GeoAlgorithm):
PIT_FILLED_GRID = "PIT_FILLED_GRID"
D8_CONTRIB_AREA_GRID = "D8_CONTRIB_AREA_GRID"
D8_FLOW_DIR_GRID = "D8_FLOW_DIR_GRID"
ACCUM_STREAM_SOURCE_GRID = "ACCUM_STREAM_SOURCE_GRID"
OUTLETS_SHAPE = "OUTLETS_SHAPE"
MIN_TRESHOLD = "MIN_TRESHOLD"
MAX_THRESHOLD = "MAX_THRESHOLD"
TRESHOLD_NUM = "TRESHOLD_NUM"
STEP_TYPE = "STEP_TYPE"

DROP_ANALYSIS_FILE = "DROP_ANALYSIS_FILE"

STEPS = ["Logarithmic", "Linear"]

def getIcon(self):
return QIcon(os.path.dirname(__file__) + "/../images/taudem.png")

def defineCharacteristics(self):
self.name = "Stream Drop Analysis"
self.cmdName = "dropanalysis"
self.group = "Stream Network Analysis tools"

self.addParameter(ParameterRaster(self.D8_CONTRIB_AREA_GRID, "D8 Contributing Area Grid", False))
self.addParameter(ParameterRaster(self.D8_FLOW_DIR_GRID, "D8 Flow Direction Grid", False))
self.addParameter(ParameterRaster(self.PIT_FILLED_GRID, "Pit Filled Elevation Grid", False))
self.addParameter(ParameterRaster(self.ACCUM_STREAM_SOURCE_GRID, "Contributing Area Grid", False))
self.addParameter(ParameterVector(self.OUTLETS_SHAPE, "Outlets Shapefile", ParameterVector.VECTOR_TYPE_POINT, False))
self.addParameter(ParameterNumber(self.MIN_TRESHOLD, "Minimum Threshold", 0, None, 5))
self.addParameter(ParameterNumber(self.MAX_THRESHOLD, "Maximum Threshold", 0, None, 500))
self.addParameter(ParameterNumber(self.TRESHOLD_NUM, "Number of Threshold Values", 0, None, 10))
self.addParameter(ParameterSelection(self.STEP_TYPE, "Spacing for Threshold Values", self.STEPS, 0))
self.addOutput(OutputFile(self.DROP_ANALYSIS_FILE, "D-Infinity Drop to Stream Grid"))

def processAlgorithm(self, progress):
commands.append(os.path.join(TauDEMUtils.mpiexecPath(), "mpiexec"))

processNum = SextanteConfig.getSetting(TauDEMUtils.MPI_PROCESSES)
if processNum <= 0:
raise GeoAlgorithmExecutionException("Wrong number of MPI processes used.\nPlease set correct number before running TauDEM algorithms.")

commands.append("-n")
commands.append(str(processNum))
commands.append(os.path.join(TauDEMUtils.taudemPath(), self.cmdName))
commands.append("-ad8")
commands.append(self.getParameterValue(self.D8_CONTRIB_AREA_GRID))
commands.append("-p")
commands.append(self.getParameterValue(self.D8_FLOW_DIR_GRID))
commands.append("-fel")
commands.append(self.getParameterValue(self.PIT_FILLED_GRID))
commands.append("-ssa")
commands.append(self.getParameterValue(self.ACCUM_STREAM_SOURCE_GRID))
commands.append("-o")
commands.append(self.getParameterValue(self.OUTLETS_SHAPE))
commands.append("-par")
commands.append(str(self.getParameterValue(self.MIN_TRESHOLD)))
commands.append(str(self.getParameterValue(self.MAX_THRESHOLD)))
commands.append(str(self.getParameterValue(self.TRESHOLD_NUM)))
commands.append(str(self.getParameterValue(self.STEPS)))
commands.append("-drp")
commands.append(self.getOutputValue(self.DROP_ANALYSIS_FILE))

loglines = []
loglines.append("TauDEM execution command")
for line in commands:
loglines.append(line)
SextanteLog.addToLog(SextanteLog.LOG_INFO, loglines)

TauDEMUtils.executeTauDEM(commands, progress)

def helpFile(self):
return os.path.join(os.path.dirname(__file__), "help", self.cmdName + ".html")
112 changes: 112 additions & 0 deletions python/plugins/sextante/taudem/gridnet.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# -*- coding: utf-8 -*-

"""
***************************************************************************
gridnet.py
---------------------
Date : October 2012
Copyright : (C) 2012 by Alexander Bruy
Email : alexander dot bruy at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""


__author__ = 'Alexander Bruy'
__date__ = 'October 2012'
__copyright__ = '(C) 2012, Alexander Bruy'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'

import os

from PyQt4.QtGui import *

from sextante.core.GeoAlgorithm import GeoAlgorithm
from sextante.core.SextanteLog import SextanteLog
from sextante.core.SextanteUtils import SextanteUtils
from sextante.core.SextanteConfig import SextanteConfig
from sextante.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException

from sextante.parameters.ParameterRaster import ParameterRaster
from sextante.parameters.ParameterVector import ParameterVector
from sextante.parameters.ParameterNumber import ParameterNumber

from sextante.outputs.OutputRaster import OutputRaster

from sextante.taudem.TauDEMUtils import TauDEMUtils

class GridNet(GeoAlgorithm):
D8_FLOW_DIR_GRID = "D8_FLOW_DIR_GRID"
OUTLETS_SHAPE = "OUTLETS_SHAPE"
MASK_GRID = "MASK_GRID"
THRESHOLD = "THRESHOLD"

LONGEST_LEN_GRID = "LONGEST_LEN_GRID"
TOTAL_LEN_GRID = "TOTAL_LEN_GRID"
STRAHLER_GRID = "STRAHLER_GRID"

def getIcon(self):
return QIcon(os.path.dirname(__file__) + "/../images/taudem.png")

def defineCharacteristics(self):
self.name = "Grid Network"
self.cmdName = "gridnet"
self.group = "Basic Grid Analysis tools"

self.addParameter(ParameterRaster(self.D8_FLOW_DIR_GRID, "D8 Flow Direction Grid", False))
self.addParameter(ParameterVector(self.OUTLETS_SHAPE, "Outlets Shapefile", ParameterVector.VECTOR_TYPE_POINT, True))
self.addParameter(ParameterRaster(self.MASK_GRID, "Mask Grid", True))
self.addParameter(ParameterNumber(self.THRESHOLD, "Proportion Threshold", 0, None, 100))

self.addOutput(OutputRaster(self.LONGEST_LEN_GRID, "Longest Upslope Length Grid"))
self.addOutput(OutputRaster(self.TOTAL_LEN_GRID, "Total Upslope Length Grid"))
self.addOutput(OutputRaster(self.STRAHLER_GRID, "Strahler Network Order Grid"))

def processAlgorithm(self, progress):
commands = []
commands.append(os.path.join(TauDEMUtils.mpiexecPath(), "mpiexec"))

processNum = SextanteConfig.getSetting(TauDEMUtils.MPI_PROCESSES)
if processNum <= 0:
raise GeoAlgorithmExecutionException("Wrong number of MPI processes used.\nPlease set correct number before running TauDEM algorithms.")

commands.append("-n")
commands.append(str(processNum))
commands.append(os.path.join(TauDEMUtils.taudemPath(), self.cmdName))
commands.append("-p")
commands.append(self.getParameterValue(self.D8_FLOW_DIR_GRID))
param = self.getParameterValue(self.OUTLETS_SHAPE)
if param is not None:
commands.append("-o")
commands.append(param)
param = self.getParameterValue(self.MASK_GRID)
if param is not None:
commands.append("-mask")
commands.append(param)
commands.append("-thresh")
commands.append(self.getParameterValue(self.THRESHOLD))

commands.append("-plen")
commands.append(self.getOutputValue(self.LONGEST_LEN_GRID))
commands.append("-tlen")
commands.append(self.getOutputValue(self.TOTAL_LEN_GRID))
commands.append("-gord")
commands.append(self.getOutputValue(self.STRAHLER_GRID))

loglines = []
loglines.append("TauDEM execution command")
for line in commands:
loglines.append(line)
SextanteLog.addToLog(SextanteLog.LOG_INFO, loglines)

TauDEMUtils.executeTauDEM(commands, progress)

def helpFile(self):
return os.path.join(os.path.dirname(__file__), "help", self.cmdName + ".html")
73 changes: 73 additions & 0 deletions python/plugins/sextante/taudem/help/aread8.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D8 Contributing Area</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>Calculates a grid of contributing areas using the
single direction D8 flow model. The contribution of each grid cell is taken
as one (or when the optional weight grid is used, the value from the weight
grid). The contributing area for each grid cell is taken as its own contribution
plus the contribution from upslope neighbors that drain in to it according
to the D8 flow model.</div>
<div class='description'>If the optional outlet point shapefile is used,
only the outlet cells and the cells upslope (by the D8 flow model) of them
are in the domain to be evaluated.</div>
<div class='description'>By default, the tool checks for edge contamination.
This is defined as the possibility that a contributing area value may be
underestimated due to grid cells outside of the domain not being counted.
This occurs when drainage is inwards from the boundaries or areas with
&quot;no data&quot; values for elevation. The algorithm recognizes this
and reports &quot;no data&quot; for the contributing area. It is common
to see streaks of &quot;no data&quot; values extending inwards from boundaries
along flow paths that enter the domain at a boundary. This is the desired
effect and indicates that contributing area for these grid cells is unknown
due to it being dependent on terrain outside of the domain of data available.
Edge contamination checking may be turned off in cases where you know this
is not an issue or want to ignore these problems, if for example, the DEM
has been clipped along a watershed outline.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D8 Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of D8 flow directions which are defined, for each cell, as
the direction of the one of its eight adjacent or diagonal neighbors
with the steepest downward slope. This grid can be obtained as the
output of the &quot;D8 Flow Directions&quot; tool.</dd>
<dt>Outlets Shapefile <div class='type'>Point Shapefile (optional)</div></dt>
<dd>A point shapefile defining the outlets of interest. If this input
file is used, only the cells upslope of these outlet cells are considered
to be within the domain being evaluated.</dd>
<dt>Weight Grid <div class='type'>Raster Grid (optional)</div></dt>
<dd>A grid giving contribution to flow for each cell. These contributions
(also sometimes referred to as weights or loadings) are used in the
contributing area accumulation. If this input file is not used, the
contribution to flow will assumed to be one for each grid cell.</dd>
<dt>Check for edge contamination <div class='type'>Boolean</div></dt>
<dd>A flag that indicates whether the tool should check for edge
contamination. Edge contamination is defined as the possibility that
a contributing area value may be underestimated due to the fact that
grid cells outside of the domain have not been evaluated. This occurs
when drainage is inwards from the boundaries or areas with &quot;no data&quot;
values for elevation. The algorithm recognizes this and reports &quot;no data&quot;
for the impated cells. It is common to see streaks of &quot;no data&quot;
values extending inwards from boundaries along flow paths that enter
the domain at a boundary. This is the desired effect and indicates that
contributing area for these grid cells is unknown due to it being
dependent on terrain outside of the domain of available data. Edge
contamination checking may be turned off in cases where you know this
is not an issue, or want to ignore these problems, if for example, the
DEM has been clipped along a watershed outline.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>D8 Contributing Area Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of contributing area values calculated as the cells own
contribution plus the contribution from upslope neighbors that drain
in to it according to the D8 flow model.</dd>
</dl>
</body></html>
103 changes: 103 additions & 0 deletions python/plugins/sextante/taudem/help/areadinf.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D-Infinity Contributing Area</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>Calculates a grid of specific catchment area which
is the contributing area per unit contour length using the multiple flow
direction D-infinity approach. D-infinity flow direction is defined as
steepest downward slope on planar triangular facets on a block centered
grid. The contribution at each grid cell is taken as the grid cell length
(or when the optional weight grid input is used, from the weight grid).
The contributing area of each grid cell is then taken as its own contribution
plus the contribution from upslope neighbors that have some fraction
draining to it according to the D-infinity flow model. The flow from each
cell either all drains to one neighbor, if the angle falls along a cardinal
(0, &pi;/2, &pi;, 3&pi;/2) or ordinal (&pi;/4, 3&pi;/4, 5&pi;/4, 7&pi;/4)
direction, or is on an angle falling between the direct angle to two adjacent
neighbors. In the latter case the flow is proportioned between these two
neighbor cells according to how close the flow direction angle is to the
direct angle to those cells. The contour length used here is the grid cell
size. The resulting units of the specific catchment area are length units
the same as those of the grid cell size.</div>
<p align="center"><img src="img/tardemfig.gif"></img></p>
<div class='description'>When the optional weight grid is not used, the
result is reported in terms of specific catchment area, the upslope area
per unit contour length, taken here as the number of cells times grid cell
length (cell area divided by cell length). This assumes that grid cell
length is the effective contour length, in the definition of specific
catchment area and does not distinguish any difference in contour length
dependent upon the flow direction. When the optional weight grid is used,
the result is reported directly as a summation of weights, without any
scaling.</div>
<div class='description'>If the optional outlet point shapefile is used,
only the outlet cells and the cells upslope (by the D-infinity flow model)
of them are in the domain to be evaluated.</div>
<div class='description'>By default, the tool checks for edge contamination.
This is defined as the possibility that a contributing area value may be
underestimated due to grid cells outside of the domain not being counted.
This occurs when drainage is inwards from the boundaries or areas with
&quot;no data&quot; values for elevation. The algorithm recognizes this
and reports &quot;no data&quot; for the contributing area. It is common
to see streaks of &quot;no data&quot; values extending inwards from boundaries
along flow paths that enter the domain at a boundary. This is the desired
effect and indicates that contributing area for these grid cells is unknown
due to it being dependent on terrain outside of the domain of data available.
Edge contamination checking may be turned off in cases where you know it
is not an issue or want to ignore these problems, if for example, the DEM
has been clipped along a watershed outline.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D-Infinity Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of flow directions based on the D-infinity flow method using
the steepest slope of a triangular facet. Flow direction is determined
as the direction of the steepest downward slope on the 8 triangular
facets of a 3 x 3 block centered grid. Flow direction is encoded as
an angle in radians, counter-clockwise from east as a continuous
(floating point) quantity between 0 and 2&pi;. The resulting flow in
a grid is then usually interpreted as being proportioned between the
two neighboring cells that define the triangular facet with the steepest
downward slope.</dd>
<dt>Outlets Shapefile <div class='type'>Point Shapefile (optional)</div></dt>
<dd>A point shapefile defining the outlets of interest. If this input
file is used, only the cells upslope of these outlet cells are considered
to be within the domain being evaluated.</dd>
<dt>Weight Grid <div class='type'>Raster Grid (optional)</div></dt>
<dd>A grid giving contribution to flow for each cell. These contributions
(also sometimes referred to as weights or loadings) are used in the
contributing area accumulation. If this input file is not used, the
result is reported in terms of specific catchment area (the upslope
area per unit contour length) taken as the number of cells times grid
cell length (cell area divided by cell length).</dd>
<dt>Check for edge contamination <div class='type'>Boolean</div></dt>
<dd>A flag that indicates whether the tool should check for edge
contamination. Edge contamination is defined as the possibility that
a contributing area value may be underestimated due to the fact that
grid cells outside of the domain have not been evaluated. This occurs
when drainage is inwards from the boundaries or areas with &quot;no data&quot;
values for elevation. The algorithm recognizes this and reports &quot;no data&quot;
for the impated cells. It is common to see streaks of &quot;no data&quot;
values extending inwards from boundaries along flow paths that enter
the domain at a boundary. This is the desired effect and indicates that
contributing area for these grid cells is unknown due to it being
dependent on terrain outside of the domain of available data. Edge
contamination checking may be turned off in cases where you know this
is not an issue, or want to ignore these problems, if for example, the
DEM has been clipped along a watershed outline.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>D-Infinity Specific Catchment Area Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of specific catchment area which is the contributing area
per unit contour length using the multiple flow direction D-infinity
approach. The contributing area of each grid cell is then taken as its
own contribution plus the contribution from upslope neighbors that
have some fraction draining to it according to the D-infinity flow model.</dd>
</dl>
</body></html>
69 changes: 69 additions & 0 deletions python/plugins/sextante/taudem/help/d8flowdir.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D8 Flow Directions</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>Creates 2 grids. The first contains the flow
direction from each grid cell to one of its adjacent or diagonal neighbors,
calculated using the direction of steepest descent. The second contain the
slope, as evaluated in the direction of steepest descent, and is reported
as drop/distance, i.e. tan of the angle. Flow direction is reported as
&quot;no data&quot; for any grid cell adjacent to the edge of the DEM domain,
or adjacent to a &quot;no data&quot; value in the DEM. In flat areas, flow
directions are assigned away from higher ground and towards lower ground
using the method of Garbrecht and Martz (1997). The D8 flow direction
algorithm may be applied to a DEM that has not had its pits filled, but
it will then result in &quot;no data&quot; values for flow direction
and slope at the lowest point of each pit.</div>
<div class='description'>D8 Flow Direction Coding:</div>
<ul>
<li>1&nbsp;&mdash; East</li>
<li>2&nbsp;&mdash; Northeast</li>
<li>3&nbsp;&mdash; North</li>
<li>4&nbsp;&mdash; Northwest</li>
<li>5&nbsp;&mdash; West</li>
<li>6&nbsp;&mdash; Southwest</li>
<li>7&nbsp;&mdash; South</li>
<li>8&nbsp;&mdash; Southeast</li>
</ul>
<p align="center"><img src="img/d8index.gif"></img></p>
<div class='description'>The flow direction routing across flat areas is
performed according to the method described by Garbrecht, J. and L. W.
Martz, (1997), &quot;The Assignment of Drainage Direction Over Flat Surfaces
in Raster Digital Elevation Models&quot;, Journal of Hydrology, 193: 204-213.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>Pit Filled Elevation Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of elevation values. This is usually the output of the &quot;Pit
Remove&quot; tool, in which case it is elevations with pits removed.
Pits are low elevation areas in digital elevation models (DEMs) that
are completely surrounded by higher terrain. They are generally taken
to be artifacts of the digitation process that interfere with the
processing of flow across DEMs. So they are removed by raising their
elevation to the point where they just drain off the domain. This step
is not essential if you have reason to believe that the pits in your
DEM are real. If a few pits actually exist and so should not be removed,
while at the same time others are believed to be artifacts that need
to be removed, the actual pits should have &quot;no data&quot; elevation
values inserted at their lowest point. &quot;No data&quot; values serve
to define edges of the domain in the flow field, and elevations are
only raised to where flow is off an edge, so an internal &quot;no data&quot;
value will stop a pit from being removed, if necessary.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>D8 Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of D8 flow directions which are defined, for each cell, as
the direction of the one of its eight adjacent or diagonal neighbors
with the steepest downward slope.</dd>
<dt>D8 Slope Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving slope in the D8 flow direction. This is measured as
drop/distance.</dd>
</dl>
</body></html>
61 changes: 61 additions & 0 deletions python/plugins/sextante/taudem/help/d8flowpathextremeup.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D8 Extreme Upslope Value</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>Evaluates the extreme (either maximum or minimum)
upslope value from an input grid based on the D8 flow model. This is intended
initially for use in stream raster generation to identify a threshold of
the slope times area product that results in an optimum (according to drop
analysis) stream network.</div>
<div class='description'>If the optional outlet point shapefile is used,
only the outlet cells and the cells upslope (by the D8 flow model) of them
are in the domain to be evaluated.</div>
<div class='description'>By default, the tool checks for edge contamination.
This is defined as the possibility that a result may be underestimated due
to grid cells outside of the domain not being counted. This occurs when
drainage is inwards from the boundaries or areas with no data values for
elevation. The algorithm recognizes this and reports &quot;no data&quot;
for the result for these grid cells. It is common to see streaks of
&quot;no data&quot; values extending inwards from boundaries along flow
paths that enter the domain at a boundary. This is the desired effect and
indicates that the result for these grid cells is unknown due to it being
dependent on terrain outside of the domain of data available. Edge
contamination checking may be turned off in cases where you know this is
not an issue or want to ignore these problems, if for example, the DEM has
been clipped along a watershed outline.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D8 Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of D8 flow directions which are defined, for each cell, as
the direction of the one of its eight adjacent or diagonal neighbors
with the steepest downward slope. This grid can be obtained as the
output of the &quot;D8 Flow Directions&quot; tool.</dd>
<dt>Upslope Values Grid <div class='type'>Raster Grid</div></dt>
<dd>This is the grid of values of which the maximum or minimum upslope
value is selected. The values most commonly used are the slope times
area product needed when generating stream rasters according to drop
analysis.</dd>
<dt>Outlets Shapefile <div class='type'>Point Shapefile (optional)</div></dt>
<dd>A point shape file defining outlets of interest. If this input file
is used, only the area upslope of these outlets will be evaluated by
the tool.</dd>
<dt>Use maximum upslope value <div class='type'>Boolean</div></dt>
<dd>A flag to indicate whether the maximum or minimum upslope value
is to be calculated. Default is <strong>True</strong>.</dd>
<dt>Check for edge contamination <div class='type'>Boolean</div></dt>
<dd>A flag that indicates whether the tool should check for edge
contamination. Default is <strong>True</strong>.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>Extreme Value Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of the maximum/minimum upslope values.</dd>
</dl>
</body></html>
45 changes: 45 additions & 0 deletions python/plugins/sextante/taudem/help/d8hdisttostrm.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D8 Distance To Streams</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>Computes the horizontal distance to stream for
each grid cell, moving downslope according to the D8 flow model, until a
stream grid cell is encountered.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D8 Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>This input is a grid of flow directions that are encoded using the
D8 method where all flow from a cells goes to a single neighboring cell
in the direction of steepest descent. This grid can be obtained as the
output of the &quot;D8 Flow Directions&quot; tool.</dd>
<dt>Stream Raster Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid indicating streams. Such a grid can be created by several
of the tools in the &quot;Stream Network Analysis&quot; toolset. However,
the tools in the &quot;Stream Network Analysis&quot; toolset only create
grids with a value of 0 for no stream, or 1 for stream cells. This tool
can also accept grids with values greater than 1, which can be used in
conjunction with the Threshold parameter to determine the location of
streams. This allows Contributing Area grids to be used to define streams
as well as the normal Stream Raster grids. This grid expects integer
(long integer) values and any non-integer values will be truncated to an
integer before being evaluated.</dd>
<dt>Threshold <div class='type'>Double</div></dt>
<dd>This value acts as threshold on the Stream Raster Grid to determine
the location of streams. Cells with a Stream Raster Grid value greater
than or equal to the Threshold value are interpreted as streams. Default
value <strong>50</strong>.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>Distance to Streams <div class='type'>Raster Grid</div></dt>
<dd>A grid giving the horizontal distance along the flow path as defined
by the D8 Flow Directions Grid to the streams in the Stream Raster Grid.</dd>
</dl>
</body></html>
119 changes: 119 additions & 0 deletions python/plugins/sextante/taudem/help/dinfavalanche.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D-Infinity Avalanche Runout</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>Identifies an avalanche's affected area and the
flow path length to each cell in that affacted area. All cells downslope
from each source area cell, up to the point where the slope from the source
to the affected area is less than a threshold angle called the Alpha Angle
can be in the affected area. This tool uses the D-infinity multiple flow
direction method for determining flow direction. This will likely cause
very small amounts of flow to be dispersed to some downslope cells that
might overstate the affected area, so a threshold proportion can be set
to avoid this excess dispersion. The flow path length is the distance from
the cell in question to the source cell that has the highest angle.</div>
<div class='description'>All points downslope from the source area are
potentially in the affected area, but not beyond a point where the slope
from the source to the affected area is less than a threshold angle called
the Alpha Angle.</div>
<p align="center"><img src="img/arexample.gif"></img></p>
<div class='description'>Slope is to be measured using the straight line
distance from source point to evaluation point.</div>
<div class='description'>It makes more physical sense to me for the angle
to be measured along the flow path. Nevertheless it is equally easy to
code straight line angles as angles along the flow path, so an option that
allows switching will be provided. The most practical way to evaluate
avalanche runout is to keep track of the source point with the greatest
angle to each point. Then the recursive upslope flow algebra approach will
look at a grid cell and all its upslope neighbors that flow to it. Information
from the upslope neighbors will be used to calculate the angle to the grid
cell in question and retain it in the runout zone if the angle exceeds
the alpha angle. This procedure makes the assumption that the maximum
angle at a grid cell will be from the set of cells that have maximum angles
to the inflowing neighbors. This will always be true of angle is calculated
along a flow path, but I can conceive of cases where flow paths bend back
on themselves where this would not be the case for straight line angles.</div>
<div class='description'>The D-infinity multiple flow direction field assigns
flow from each grid cell to multiple downslope neighbors using proportions
(<tt>P<sub>ik</sub></tt>) that vary between 0 and 1 and sum to 1 for all
flows out of a grid cell. It may be desirable to specify a threshold <tt>T</tt>
that this proportion has to exceed before a grid cell is counted as flowing
to a downslope grid cell, e.g. <tt>P<sub>ik</sub> > T</tt> (=0.2 say) to
avoid dispersion to grid cells that get very little flow. <tt>T</tt> will
be specified as a user input. If all upslope grid cells are to be used
<tt>T</tt> may be input as 0.</div>
<div class='description'>Avalanche source sites are to be input as a short
integer grid (name suffix *ass, e.g. demass) comprised of positive values
where avalanches may be triggered and 0 values elsewhere.</div>
<div class='description'>The following grids are output:</div>
<ul>
<li>rz&nbsp;&mdash; A runout zone indicator with value 0 to indicate that
this grid cell is not in the runout zone and value > 0 to indicate that
this grid cell is in the runout zone. Since there may be information in
the angle to the associated source site, this variable will be assigned
the angle to the source site (in degrees)</li>
<li>dm&nbsp;&mdash; Along flow distance from the source site that has
the highest angle to the point in question</li>
</ul>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D-Infinity Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving flow direction by the D-infinity method. Flow direction
is measured in radians, counter clockwise from east. This can be created
by the tool &quot;D-Infinity Flow Directions&quot;.</dd>
<dt>Pit Filled Elevation Grid <div class='type'>Raster Grid</div></dt>
<dd>This input is a grid of elevation values. As a general rule, it is
recommended that you use a grid of elevation values that have had the
pits removed for this input. Pits are generally taken to be artifacts
that interfere with the analysis of flow across them. This grid can be
obtained as the output of the &quot;Pit Remove&quot; tool, in which case
it contains elevation values where the pits have been filled to the
point where they just drain.</dd>
<dt>Avalanche Source Site Grid <div class='type'>Raster Grid</div></dt>
<dd>This is a grid of source areas for snow avalanches that are commonly
identified manually using a mix of experience and visual interpretation
of maps. Avalanche source sites are to be input as a short integer grid
(name suffix *ass, e.g. demass) comprised of positive values where
avalanches may be triggered and 0 values elsewhere.</dd>
<dt>Proportion Threshold <div class='type'>Double</div></dt>
<dd>This value is a threshold proportion that is used to limit the disperson
of flow caused by using the D-infinity multiple flow direction method
for determining flow direction. The D-infinity multiple flow direction
method often causes very small amounts of flow to be dispersed to some
downslope cells that might overstate the affected area, so a threshold
proportion can be set to avoid this excess dispersion. Default <strong>0.2</strong>.</dd>
<dt>Alpha Angle Threshold <div class='type'>Double</div></dt>
<dd>This value is the threshold angle, called the Alpha Angle, that
is used to determine which of the cells downslope from the source cells
are in the affected area. Only the cells downslope from each source
area cell, up to the point where the slope from the source to the
affected area is less than a threshold angle are in the affected area.
Default <strong>18</strong>.</dd>
<dt>Measure distance along flow path <div class='type'>Boolean</div></dt>
<dd>This option selects the method used to measure the distance used
to calculate the slope angle. If option is &quot;True&quot; then measure
it along the flow path, where the &quot;False&quot; option causes the
slope to be measure along the straight line distance from the source
cell to the evaluation cell. Default <strong>True</strong>.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>Runout Zone Grid <div class='type'>Raster Grid</div></dt>
<dd>This grid Identifies the avalanche's runout zone (affected area)
using a runout zone indicator with value 0 to indicate that this grid
cell is not in the runout zone and value > 0 to indicate that this grid
cell is in the runout zone. Since there may be information in the angle
to the associated source site, this variable will be assigned the angle
to the source site (in degrees).</dd>
<dt>Path Distance Grid <div class='type'>Raster Grid</div></dt>
<dd>This is a grid of the flow distance from the source site that has
the highest angle to each cell.</dd>
</dl>
</body></html>
100 changes: 100 additions & 0 deletions python/plugins/sextante/taudem/help/dinfconclimaccum.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D-Infinity Concentration Limited Acccumulation</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>This function applies to the situation where an
unlimited supply of a substance is loaded into flow at a concentration or
solubility threshold Csol over a region indicated by an indicator grid (dg).
It a grid of the concentration of a substance at each location in the domain,
where the supply of substance from a supply area is loaded into the flow
at a concentration or solubility threshold. The flow is first calculated
as a D-infinity weighted contributing area of an input Effective Runoff
Weight Grid (notionally excess precipitation). The concentation of substance
over the supply area (indicator grid) is at the concentration threshold.
As the substance moves downslope with the D-infinity flow field, it is
subject to first order decay in moving from cell to cell as well as dilution
due to changes in flow. The decay multiplier grid gives the fractional
(first order) reduction in quantity in moving from grid cell <tt>x</tt>
to the next downslope cell. If the outlets shapefile is used, the tool
only evaluates the part of the domain that contributes flow to the locations
given by the shapefile. This is useful for a tracking a contaminant or
compound from an area with unlimited supply of that compound that is
loaded into a flow at a concentration or solubility threshold over a zone
and flow from the zone may be subject to decay or attenuation.</div>
<div class='description'>The indicator grid (<tt>dg</tt>) is used to delineate
the area of the substance supply using the (0, 1) indicator function <tt>i(x)</tt>.
<tt>A[]</tt> denotes the weighted accumulation operator evaluated using
the D-Infinity Contributing Area function. The Effective Runoff Weight
Grid gives the supply to the flow (e.g. the excess rainfall if this is
overland flow) denoted as <tt>w(x)</tt>. The specific discharge is then
given by:</div>
<pre align="center">Q(x)=A[w(x)].</pre>
<div class='description'>This weighted accumulation <tt>Q(x)</tt> is output
as the Overland Flow Specific Discharge Grid. Over the substance supply area
concentration is at the threshold (the threshold is a saturation or solubility
limit). If <tt>i(x) = 1</tt>, then</div>
<pre align="center">C(x) = Csol, and L(x) = Csol Q(x),</pre>
<div class='description'>where <tt>L(x)</tt> denotes the load being carried
by the flow. At remaining locations, the load is determined by load accumulation
and the concentration by dilution:</div>
<p align="center"><img src="img/claeqn.gif"></img></p>
<div class='description'>Here <tt>d(x) = d(i, j)</tt> is a decay multiplier
giving the fractional (first order) reduction in mass in moving from grid
cell <tt>x</tt> to the next downslope cell. If travel (or residence) times
<tt>t(x)</tt> associated with flow between cells are available <tt>d(x)</tt>
may be evaluated as <tt>exp(-k t(x))</tt> where <tt>k</tt> is a first order
decay parameter. The Concentration grid output is <tt>C(x)</tt>. If the
outlets shapefile is used, the tool only evaluates the part of the domain
that contributes flow to the locations given by the shapefile.</div>
<p align="center"><img src="img/clafig.gif"></img></p>
<div class='description'>Useful for a tracking a contaminant released or
partitioned to flow at a fixed threshold concentration.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D-Infinity Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving flow direction by the D-infinity method. Flow direction
is measured in radians, counter clockwise from east. This grid can be
created by the function &quot;D-Infinity Flow Directions&quot;.</dd>
<dt>Disturbance Indicator Grid <div class='type'>Raster Grid (optional)</div></dt>
<dd>A grid that indicates the source zone of the area of substance
supply and must be 1 inside the zone and 0 or &quot;no data&quot; over
the rest of the domain.</dd>
<dt>Decay Multiplier Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving the factor by which flow leaving each grid cell is
multiplied before accumulation on downslope grid cells. This may be
used to simulate the movement of an attenuating or decaying substance.
If travel (or residence) times <tt>t(x)</tt> associated with flow between
cells are available <tt>d(x)</tt> may be evaluated as <tt>exp(-k t(x))</tt>
where <tt>k</tt> is a first order decay parameter.</dd>
<dt>Effective Runoff Weight Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving the input quantity (notionally effective runoff or
excess precipitation) to be used in the D-infinity weighted contributing
area evaluation of Overland Flow Specific Discharge.</dd>
<dt>Outlets Shapefile <div class='type'>Point Shapefile (optional)</div></dt>
<dd>This optional input is a point shapefile defining outlets of interest.
If this file is used, the tool will only evaluate the area upslope of
these outlets.</dd>
<dt>Concentration Threshold <div class='type'>Double</div></dt>
<dd>The concentration or solubility threshold. Over the substance supply
area, concentration is at this threshold. Default <strong>1.0</strong>.</dd>
<dt>Check for edge contamination <div class='type'>Boolean</div></dt>
<dd>This option determines whether the tool should check for edge
contamination. Edge contamination is defined as the possibility that
a value may be underestimated due to grid cells outside of the domain
not being considered when determining contributing area. Default
<strong>True</strong>.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>Concentration Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving the resulting concentration of the compound of interest
in the flow.</dd>
</dl>
</body></html>
72 changes: 72 additions & 0 deletions python/plugins/sextante/taudem/help/dinfdecayaccum.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D-Infinity Decaying Accumulation</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>The D-Infinity Decaying Accumulation tool creates
a grid of the accumulated quantity at each location in the domain where
the quantity accumulates with the D-infinity flow field, but is subject
to first order decay in moving from cell to cell. By default, the quantity
contribution of each grid cell is the cell length to give a per unit width
accumulation, but can optionally be expressed with a weight grid. The decay
multiplier grid gives the fractional (first order) reduction in quantity
in accumulating from grid cell <tt>x</tt> to the next downslope cell.</div>
<div class='description'>A decayed accumulation operator <tt>DA[.]</tt>
takes as input a mass loading field <tt>m(x)</tt> expressed at each grid
location as <tt>m(i, j)</tt> that is assumed to move with the flow field
but is subject to first order decay in moving from cell to cell. The output
is the accumulated mass at each location <tt>DA(x)</tt>. The accumulation
of <tt>m</tt> at each grid cell can be numerically evaluated.</div>
<p align="center"><img src="img/decayeqn.gif"></img></p>
<div class='description'>Here <tt>d(x) = d(i ,j)</tt> is a decay multiplier
giving the fractional (first order) reduction in mass in moving from grid
cell <tt>x</tt> to the next downslope cell. If travel (or residence) times
<tt>t(x)</tt> associated with flow between cells are available <tt>d(x)</tt>
may be evaluated as <tt>exp(-k t(x))</tt> where <tt>k</tt> is a first order
decay parameter. The weight grid is used to represent the mass loading <tt>m(x)</tt>.
If not specified this is taken as 1. If the outlets shapefile is used the
function is only evaluated on that part of the domain that contributes flow
to the locations given by the shapefile.</div>
<p align="center"><img src="img/decay.gif"></img></p>
<div class='description'>Useful for a tracking contaminant or compound
subject to decay or attenuation.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D-Infinity Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving flow direction by the D-infinity method. Flow direction
is measured in radians, counter clockwise from east. This grid can be
created by the function &quot;D-Infinity Flow Directions&quot;.</dd>
<dt>Decay Multiplier Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving the factor by which flow leaving each grid cell is
multiplied before accumulation on downslope grid cells. This may be
used to simulate the movement of an attenuating substance.</dd>
<dt>Weight Grid <div class='type'>Raster Grid (optional)</div></dt>
<dd>A grid giving weights (loadings) to be used in the accumulation.
If this optional grid is not specified, weights are taken as the linear
grid cell size to give a per unit width accumulation.</dd>
<dt>Outlets Shapefile <div class='type'>Point Shapefile (optional)</div></dt>
<dd>This optional input is a point shapefile defining outlets of interest.
If this file is used, the tool will only evaluate ther area upslope of
these outlets.</dd>
<dt>Check for edge contamination <div class='type'>Boolean</div></dt>
<dd>This option determines whether the tool should check for edge
contamination. Edge contamination is defined as the possibility that
a value may be underestimated due to grid cells outside of the domain
not being considered when determining contributing area. Default
<strong>True</strong>.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>Decayed Specific Catchment Area Grid <div class='type'>Raster Grid</div></dt>
<dd>The D-Infinity Decaying Accumulation tool creates a grid of the
accumulated mass at each location in the domain where mass moves with
the D-infinity flow field, but is subject to first order decay in moving
from cell to cell.</dd>
</dl>
</body></html>
86 changes: 86 additions & 0 deletions python/plugins/sextante/taudem/help/dinfdistdown.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D-Infinity Distance Down</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>Calculates the distance downslope to a stream
using the D-infinity flow model. The D-infinity flow model is a multiple
flow direction model, because the outflow from each grid cell is proportioned
between up to 2 downslope grid cells. As such, the distance from any grid
cell to a stream is not uniquely defined. Flow that originates at a particular
grid cell may enter the stream at a number of different cells. The statistical
method may be selected as the longest, shortest or weighted average of the
flow path distance to the stream. Also one of several ways of measuring
distance may be selected: the total straight line path (Pythagoras), the
horizontal component of the straight line path, the vertical component of
the straight line path, or the total surface flow path.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D-Infinity Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving flow direction by the D-infinity method. Flow direction
is measured in radians, counter clockwise from east. This can be created
by the tool &quot;D-Infinity Flow Directions&quot;.</dd>
<dt>Pit Filled Elevation Grid <div class='type'>Raster Grid</div></dt>
<dd>This input is a grid of elevation values. As a general rule, it is
recommended that you use a grid of elevation values that have had the
pits removed for this input. Pits are generally taken to be artifacts
that interfere with the analysis of flow across them. This grid can be
obtained as the output of the &quot;Pit Remove&quot; tool, in which case
it contains elevation values where the pits have been filled to the
point where they just drain.</dd>
<dt>Stream Raster Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid indicating streams, by using a grid cell value of 1 on streams
and 0 off streams. This is usually the output of one of the tools in
the &quot;Stream Network Analysis&quot; toolset.</dd>
<dt>Weight Path Grid <div class='type'>Raster Grid (optional)</div></dt>
<dd>A grid giving weights (loadings) to be used in the distance calculation.
This might be used for example where only flow distance through a buffer
is to be calculated. The weight is then 1 in the buffer and 0 outside
it. Alternatively the weight may reflect some sort of cost function
for travel over the surface, perhaps representing travel time or attenuation
of a process. If this input file is not used, the loadings will assumed
to be one for each grid cell.</dd>
<dt>Statistical Method <div class='type'>Choise</div></dt>
<dd>Statistical method used to calculate the distance down to the stream.
In the D-Infinity flow model, the outflow from each grid cell is
proportioned between two downslope grid cells. Therefore, the distance
from any grid cell to a stream is not uniquely defined. Flow that
originates at a particular grid cell may enter the stream at a number
of cells. The distance to the stream may be defined as the longest (maximum),
shortest (minimum) or weighted average of the distance down to the stream.
Default is <strong>Average</strong>.</dd>
<dt>Distance Method <div class='type'>Choise</div></dt>
<dd>Distance method used to calculate the distance down to the stream.
One of several ways of measuring distance may be selected: the total
straight line path (Pythagoras), the horizontal component of the straight
line path (horizontal), the vertical component of the straight line path
(vertical), or the total surface flow path (surface). Default is
<strong>Horizontal</strong>.</dd>
<dt>Check for Edge Contamination <div class='type'>Boolean</div></dt>
<dd>A flag that determines whether the tool should check for edge
contamination. This is defined as the possibility that a value may be
underestimated due to grid cells outside of the domain not being counted.
In the context of Distance Down this occurs when part of a flow path
traced downslope from a grid cell leaves the domain without reaching
a stream grid cell. With edge contamination checking selected, the
algorithm recognizes this and reports no data for the result. This is
the desired effect and indicates that values for these grid cells is
unknown due to it being dependent on terrain outside of the domain of
data available. Edge contamination checking may be overridden in cases
where you know this is not an issue or want to evaluate the distance
using only the fraction of flow paths that terminate at a stream.
Default <strong>True</strong>.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>D-Infinity Drop to Stream Grid <div class='type'>Raster Grid</div></dt>
<dd>Creates a grid containing the distance to stream calculated using
the D-infinity flow model and the statistical and path methods chosen.</dd>
</dl>
</body></html>
83 changes: 83 additions & 0 deletions python/plugins/sextante/taudem/help/dinfdistup.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D-Infinity Distance Up</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>This tool calculates the distance from each grid
cell up to the ridge cells along the reverse D-infinity flow directions.
Ridge cells are defined to be grid cells that have no contribution from
grid cells further upslope. Given the convergence of multiple flow paths
at any grid cell, any given grid cell can have multiple upslope ridge cells.
There are three statictical methods that this tool can use: maximum distance,
minimum distance and waited flow average over these flow paths. A variant
on the above is to consider only grid cells that contribute flow with a
proportion greater than a user specified threshold (t) to be considered
as upslope of any given grid cell. Setting t=0.5 would result in only one
flow path from any grid cell and would give the result equivalent to a D8
flow model, rather than D-infinity flow model, where flow is proportioned
between two downslope grid cells. Finally there are several different
optional paths that can be measured: the total straight line path (Pythagoras),
the horizontal component of the straight line path, the vertical component
of the straight line path, or the total surface flow path.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D-Infinity Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving flow direction by the D-infinity method. Flow direction
is measured in radians, counter clockwise from east. This can be created
by the tool &quot;D-Infinity Flow Directions&quot;.</dd>
<dt>Pit Filled Elevation Grid <div class='type'>Raster Grid</div></dt>
<dd>This input is a grid of elevation values. As a general rule, it is
recommended that you use a grid of elevation values that have had the
pits removed for this input. Pits are generally taken to be artifacts
that interfere with the analysis of flow across them. This grid can be
obtained as the output of the &quot;Pit Remove&quot; tool, in which case
it contains elevation values where the pits have been filled to the
point where they just drain.</dd>
<dt>Slope Grid <div class='type'>Raster Grid</div></dt>
<dd>This input is a grid of slope values. This is measured as drop/distance
and it is most often obtained as the output of the &quot;D-Infinity
Flow Directions&quot; tool.</dd>
<dt>Statistical Method <div class='type'>Choise</div></dt>
<dd>Statistical method used to calculate the distance down to the stream.
In the D-Infinity flow model, the outflow from each grid cell is
proportioned between two downslope grid cells. Therefore, the distance
from any grid cell to a stream is not uniquely defined. Flow that
originates at a particular grid cell may enter the stream at a number
of cells. The distance to the stream may be defined as the longest (maximum),
shortest (minimum) or weighted average of the distance down to the stream.
Default is <strong>Average</strong>.</dd>
<dt>Distance Method <div class='type'>Choise</div></dt>
<dd>Distance method used to calculate the distance down to the stream.
One of several ways of measuring distance may be selected: the total
straight line path (Pythagoras), the horizontal component of the straight
line path (horizontal), the vertical component of the straight line path
(vertical), or the total surface flow path (surface). Default is
<strong>Horizontal</strong>.</dd>
<dt>Proportion Threshold <div class='type'>Double</div></dt>
<dd>The proportion threshold parameter where only grid cells that
contribute flow with a proportion greater than this user specified
threshold (t) is considered to be upslope of any given grid cell.
Setting t=0.5 would result in only one flow path from any grid cell
and would give the result equivalent to a D8 flow model, rather than
D-Infinity flow model, where flow is proportioned between two downslope
grid cells. Default <strong>0.5</strong>.</dd>
<dt>Check for Edge Contamination <div class='type'>Boolean</div></dt>
<dd>A flag that determines whether the tool should check for edge
contamination. This is defined as the possibility that a value may be
underestimated due to grid cells outside of the domain not being counted.
Default <strong>True</strong>.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>D-Infinity Distance Up <div class='type'>Raster Grid</div></dt>
<dd>Creates a grid containing the distances up to the ridge calculated
using the D-Infinity flow model and the statistical and path methods
chosen.</dd>
</dl>
</body></html>
77 changes: 77 additions & 0 deletions python/plugins/sextante/taudem/help/dinfflowdir.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D-Infinity Flow Directions</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>Assigns a flow direction based on the D-infinity
flow method using the steepest slope of a triangular facet (Tarboton, 1997,
&quot;A New Method for the Determination of Flow Directions and Contributing
Areas in Grid Digital Elevation Models&quot;, Water Resources Research,
33(2): 309-319). Flow direction is defined as steepest downward slope on
planar triangular facets on a block centered grid. Flow direction is encoded
as an angle in radians counter-clockwise from east as a continuous (floating
point) quantity between 0 and 2&pi;. The flow direction angle is determined
as the direction of the steepest downward slope on the eight triangular
facets formed in a 3 x 3 grid cell window centered on the grid cell of
interest. The resulting flow in a grid is then usually interpreted as being
proportioned between the two neighboring cells that define the triangular
facet with the steepest downward slope.</div>
<p align="center"><img src="img/tardemfig.gif"></img></p>
<div class='description'>A block-centered representation is used with each
elevation value taken to represent the elevation of the center of the
corresponding grid cell. Eight planar triangular facets are formed between
each grid cell and its eight neighbors. Each of these has a downslope vector
which when drawn outwards from the center may be at an angle that lies within
or outside the 45 degree (&pi;/4 radian) angle range of the facet at the center
point. If the slope vector angle is within the facet angle, it represents
the steepest flow direction on that facet. If the slope vector angle is
outside a facet, the steepest flow direction associated with that facet
is taken along the steepest edge. The slope and flow direction associated
with the grid cell is taken as the magnitude and direction of the steepest
downslope vector from all eight facets. Slope is measured as drop/distance,
i.e. tan of the slope angle.</div>
<div class='description'>In the case where no slope vectors are positive
(downslope), the flow direction is set using the method of Garbrecht and
Martz (1997) for the determination of flow across flat areas. This makes
flat areas drain away from high ground and towards low ground. The flow
path grid to enforce drainage along existing streams is an optional input,
and if used, takes precedence over elevations for the setting of flow
directions.</div>
<div class='description'>The D-infinity flow direction algorithm may be
applied to a DEM that has not had its pits filled, but it will then result
in &quot;no data&quot; values for the D-infinity flow direction and slope
associated with the lowest point of the pit.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>Pit Filled Elevation Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of elevation values. This is usually the output of the
&quot;Pit Remove&quot; tool, in which case it is elevations with pits
removed.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>D-Infinity Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of flow directions based on the D-infinity flow method using
the steepest slope of a triangular facet. Flow direction is determined
as the direction of the steepest downward slope on the 8 triangular
facets of a 3 x 3 block centered grid. Flow direction is encoded as
an angle in radians, counter-clockwise from east as a continuous
(floating point) quantity between 0 and 2&pi;. The resulting flow in
a grid is then usually interpreted as being proportioned between the
two neighboring cells that define the triangular facet with the steepest
downward slope.</dd>
<dt>D-Infinity Slope Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid of slope evaluated using the D-infinity method described in
Tarboton, D. G., (1997), &quot;A New Method for the Determination of
Flow Directions and Contributing Areas in Grid Digital Elevation Models&quot;,
Water Resources Research, 33(2): 309-319. This is the steepest outwards
slope on one of eight triangular facets centered at each grid cell,
measured as drop/distance, i.e. tan of the slope angle.</dd>
</dl>
</body></html>
48 changes: 48 additions & 0 deletions python/plugins/sextante/taudem/help/dinfrevaccum.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D-Infinity Reverse Accumulation</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>This works in a similar way to evaluation of
weighted Contributing area, except that the accumulation is by propagating
the weight loadings upslope along the reverse of the flow directions to
accumulate the quantity of weight loading downslope from each grid cell.
The function also reports the maximum value of the weight loading downslope
from each grid cell in the Maximum Downslope grid.</div>
<p align="center"><img src="img/raccfig.gif"></img></p>
<div class='description'>This function is designed to evaluate and map the
hazard due to activities that may have an effect downslope. The example is
land management activities that increase runoff. Runoff is sometimes a
trigger for landslides or debris flows, so the weight grid here could be
taken as a terrain stability map. Then the reverse accumulation provides
a measure of the amount of unstable terrain downslope from each grid cell,
as an indicator of the danger of activities that may increase runoff, even
though there may be no potential for any local impact.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D-Infinity Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving flow direction by the D-infinity method. Flow direction
is measured in radians, counter clockwise from east. This can be created
by the tool &quot;D-Infinity Flow Directions&quot;.</dd>
<dt>Weight Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving weights (loadings) to be used in the accumulation.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>Reverse Accumulation Grid <div class='type'>Raster Grid</div></dt>
<dd>The grid giving the result of the &quot;Reverse Accumulation&quot;
function. This works in a similar way to evaluation of weighted Contributing
area, except that the accumulation is by propagating the weight loadings
upslope along the reverse of the flow directions to accumulate the quantity
of loading downslope from each grid cell.</dd>
<dt>Maximum Downslope Grid <div class='type'>Raster Grid</div></dt>
<dd>The grid giving the maximum of the weight loading grid downslope
from each grid cell.</dd>
</dl>
</body></html>
104 changes: 104 additions & 0 deletions python/plugins/sextante/taudem/help/dinftranslimaccum.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
<html>
<head><link rel="stylesheet" type="text/css" href="help.css"/></head>
<body>
<h1 class='module'>D-Infinity Transport Limited Accumulation</h1>
<div class='author'>(c) 2010 by David G. Tarboton</div>
<div class='description'>This function is designed to calculate the transport
and deposition of a substance (e.g. sediment) that may be limited by both
supply and the capacity of the flow field to transport it. This function
accumulates substance flux (e.g. sediment transport) subject to the rule
that transport out of any grid cell is the minimum between supply and transport
capacity, <tt>T<sub>cap</sub></tt>. The total supply at a grid cell is
calculated as the sum of the transport in from upslope grid cells, <tt>T<sub>in</sub></tt>,
plus the local supply contribution, <tt>E</tt> (e.g. erosion). This function
also outputs deposition, <tt>D</tt>, calculated as total supply minus actual
transport.</div>
<p align="center"><img src="img/tlaeqn.gif"></img></p>
<div class='description'>Here <tt>E</tt> is the supply. <tt>T<sub>out</sub></tt>
at each grid cell becomes <tt>T<sub>in</sub></tt> for downslope grid cells
and is reported as Transport limited accumulation (<tt>tla</tt>). <tt>D</tt>
is deposition (<tt>tdep</tt>). The function provides the option to evaluate
concentration of a compound (contaminant) adhered to the transported
substance. This is evaluated as follows:</div>
<p align="center"><img src="img/tlaceqn1.gif"></img></p>
<div class='description'>Where <tt>L<sub>in</sub></tt> is the total incoming
compound loading and <tt>C<sub>in</sub></tt> and <tt>T<sub>in</sub></tt>
refer to the Concentration and Transport entering from each upslope grid
cell.</div>
<p align="center"><img src="img/tlaceqn2.gif"></img></p>
<div class='description'>If</div>
<p align="center"><img src="img/tlaceqn3.gif"></img></p>
<div class='description'>else</div>
<p align="center"><img src="img/tlaceqn4.gif"></img></p>
<div class='description'>where <tt>C<sub>s</sub></tt> is the concentration
supplied locally and the difference in the second term on the right represents
the additional supply from the local grid cell. Then,</div>
<p align="center"><img src="img/tlaceqn5.gif"></img></p>
<div class='description'><tt>C<sub>out</sub></tt> at each grid cell comprises
is the concentration grid output from this function.</div>
<div class='description'>If the outlets shapefile is used the tool only
evaluates that part of the domain that contributes flow to the locations
given by the shapefile.</div>
<div class='description'>Transport limited accumulation is useful for
modeling erosion and sediment delivery, including the spatial dependence
of sediment delivery ratio and contaminant that adheres to sediment.</div>

<h2>Parameters</h2>
<dl class='parameters'>
<dt>Number of Processes <div class='type'>Integer</div></dt>
<dd>The number of stripes that the domain will be divided into and the
number of MPI parallel processes that will be spawned to evaluate each
of the stripes.</dd>
<dt>D-Infinity Flow Direction Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving flow direction by the D-infinity method. Flow direction
is measured in radians, counter clockwise from east. This can be created
by the tool &quot;D-Infinity Flow Directions&quot;.</dd>
<dt>Supply Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving the supply (loading) of material to a transport limited
accumulation function. In the application to erosion, this grid would give
the erosion detachment, or sediment supplied at each grid cell.</dd>
<dt>Transport Capacity Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving the transport capacity at each grid cell for the
transport limited accumulation function. In the application to erosion
this grid would give the transport capacity of the carrying flow.</dd>
<dt>Input Concentration Grid <div class='type'>Raster Grid (optional)</div></dt>
<dd>A grid giving the concentration of a compound of interest in the
supply to the transport limited accumulation function. In the application
to erosion, this grid would give the concentration of say phosphorous
adhered to the eroded sediment. <strong>NOTE</strong>: if you need
this optional parameter please use &quot;D-Infinity Transport Limited
Accumulation - 2&quot; tool.</dd>
<dt>Outlets Shapefile <div class='type'>Point Shapefile (optional)</div></dt>
<dd>This optional input is a point shapefile defining outlets of interest.
If this file is used, the tool will only evaluate the area upslope of
these outlets.</dd>
<dt>Check for Edge Contamination <div class='type'>Boolean</div></dt>
<dd>This option determines whether the tool should check for edge
contamination. Edge contamination is defined as the possibility that
a value may be underestimated due to grid cells outside of the domain
not being considered when determining the result. Default <strong>True</strong>.</dd>
</dl>

<h2>Outputs</h2>
<dl class='parameters'>
<dt>Transport Limited Accumulation Grid <div class='type'>Raster Grid</div></dt>
<dd>This grid is the weighted accumulation of supply accumulated respecting
the limitations in transport capacity and reports the transport rate
calculated by accumulating the substance flux subject to the rule that
the transport out of any grid cell is the minimum of the total supply
(local supply plus transport in) to that grid cell and the transport
capacity.</dd>
<dt>Deposition Grid <div class='type'>Raster Grid</div></dt>
<dd>A grid giving the deposition resulting from the transport limited
accumulation. This is the residual from the transport in to each grid
cell minus the transport capacity out of the grid cell. The deposition
grid is calculated as the transport in + the local supply - the tranport
out.</dd>
<dt>Output Concentration Grid <div class='type'>Raster Grid (optional)</div></dt>
<dd>If an input concentation in supply grid is given, then this grid
is also output and gives the concentration of a compound (contaminant)
adhered or bound to the transported substance (e.g. sediment) is calculated.
<strong>NOTE</strong>: to produce this output please use &quot;D-Infinity
Transport Limited Accumulation - 2&quot; tool.</dd>
</dl>
</body></html>
Loading