David Tarboton, Dan Watson, Rob Wallace: Dtarb@usu - Edu
David Tarboton, Dan Watson, Rob Wallace: Dtarb@usu - Edu
David Tarboton, Dan Watson, Rob Wallace: Dtarb@usu - Edu
Logan, Utah
3US Army Engineer Research and Development
http://hydrology.usu.edu/taudem dtarb@usu.edu
Theme
To advance the capability for hydrologic prediction
by developing models that take advantage of new
information and process understanding enabled by
new technology
Topics
Hydrologic information systems (includes GIS)
Terrain analysis using digital elevation
models(watershed delineation)
Snow hydrology
Hydrologic modeling
Streamflow trends
Hydrology and Ecology
2
My Teaching
Physical Hydrology CEE6400 (Fall)
2010s LIDAR ~1 m
106 cells/km2
Website and Demo
http://hydrology.usu.edu/taudem
Model Builder Model to Delineate Watershed
using TauDEM tools
The starting point: A Grid
Digital Elevation Model
720 720
Contours
740
720
700
680
Planchon, O., and F. Darboux (2001), A fast, simple and versatile algorithm to fill
the depressions of digital elevation models, Catena(46), 159-176.
Parallel Approach
MPI, distributed
memory paradigm
Row oriented slices
Each process
includes one buffer
row on either side
Each process does
not change buffer row
Parallel Scheme
Communicate
Initialize( Z,F)
Do
for all grid cells i
if Z(i) > n Z denotes the original elevation.
F(i) Z(i) F denotes the pit filled elevation.
Else n denotes lowest neighboring elevation
F(i) n i denotes the cell being evaluated
i on stack for next pass
endfor
Send( topRow, rank-1 ) Iterate only over stack of changeable cells
Send( bottomRow, rank+1 )
Recv( rowBelow, rank+1 )
Recv( rowAbove, rank-1 )
Until F is not modified
D8 Flow Direction Model
- Direction of steepest descent
30
80 74 63 4 3 2
69 67 56 5 1
60 52 48 6 7 8
67 52
0.50 Slope = Drop/Distance
30
67 48 Steepest down slope direction
0.45
30 2
Grid Network
Contributing Area (Flow Accumulation)
1 1 1 1 1 1 1 1 1 1
1 3 3 3 1 1 3 3 3 1
1 1 11 1 2 1 1 2
1 11
2 1 1 15 1 2 1 1
1 15
1 5 2 20 2 1 5 2 2
20
The area draining each grid cell includes the grid cell
itself.
Stream Definition
Flow Accumulation Stream Network for
> 10 Cell Threshold 10 cell Threshold
Drainage Area
1 1 1 1 1 1 1 1 1 1
1 3 3 3 1 1 3 3 3 1
1 1 11 1 2 1 1 1 2
11
2 1 1 15 1 2 1 1
1 15
1 5 2 20 2 1 5 2 2
20
Watershed Draining to Outlet
Watershed and Stream Grids
DEM Delineated Catchments and
Stream Networks
For every stream
segment, there is a
corresponding
catchment
Catchments are a
tessellation of the
landscape
Based on the D8
flow direction model
Edge contamination
Edge contamination arises due to 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 no data values. The algorithm
recognizes this and reports "no data" resulting in streaks of "no data" values extending
inwards from boundaries along flow paths that enter the domain at a boundary.
Representation of Flow Field
Proportion Steepest direction
Steepest flowing to downslope
neighboring Proportion flowing to
single grid cell 4 is neighboring grid cell 3
direction 1/(1+2) is 2/(1+2)
3 2
4 2 1
48 52 Flow
direction.
56 67 5 1
67 52 D8 D
0.50 6 8
30 7
Tarboton, D. G., (1997), "A New Method for the Determination of Flow Directions and Contributing Areas in Grid
Digital Elevation Models," Water Resources Research, 33(2): 309-319.)
Proportion Steepest direction
flowing to downslope D-Infinity Slope, Flow Direction
neighboring
grid cell 4 is
Proportion flowing to
neighboring grid cell 3
and Contributing Area
1/(1+2) is 2/(1+2)
3 2
4 2 1
Flow
direction.
5 1
6 8
7
Pseudocode for Recursive Flow
Accumulation
Global P, w, A,
FlowAccumulation(i) Pki
for all k neighbors of i
if Pki>0
FlowAccumulation(k)
next k
Ai wi PkiA k
{k:Pki 0}
return
General Pseudocode Upstream Flow
Algebra Evaluation
Global P, ,
FlowAlgebra(i) Pki
for all k neighbors of i
if Pki>0
FlowAlgebra(k)
next k
i = FA(i, Pki, k, k)
return
Example: Retention limited runoff
generation with run-on
Global P, (r,c), q
FlowAlgebra(i)
qk r
for all k neighbors of i
if Pki>0 c qi
FlowAlgebra(k)
next k
q i max( P q
{k:Pki 0}
ki k ri ci ,0)
return
Retention Capacity
Retention limited
runoff with run-on
A C r=5
r=7 c=6
c=4 0.6 qin=1.8
q=3 q=0.8
1
r=4 0.4 Runoff from uniform input of 0.25
r=4
c=6 c=5
1
q=0 qin=2
q=1
B D
q i max( P q
{k:Pki 0}
ki k ri ci ,0)
Decaying Accumulation
A decayed accumulation operator DA[.]
takes as input a mass loading field m(x)
expressed at each grid location as m(i, j)
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 DA(i,j).
The accumulation of m at each grid cell
can be numerically evaluated
Partial
Sept
implement- 8 4 GB 1.6 GB
2009 0.22 GB
ation
June
TauDEM 5 8 4 GB 4 GB
2010
Multifile on
Sept Hardware
48 GB 4 6 GB
2010 limits
RAM PC
Multifile on
Sept cluster with Hardware
128 11 GB
2010 128 GB limits
RAM
2000
ArcGIS T ~ n 0.03
500 1000
Total
Compute
Seconds
Seconds
500
T ~ n 0.44 Total
C ~ n 0.56
200
200
C ~ n 0.69 Compute
1 2 3 4 5 7 1 2 5 10 20 50
Processors Processors
Parallel D-Infinity Contributing Area Timing for Boise River dataset (24856 x 24000 cells ~ 2.4 GB)
Total
500
500
Compute T ~ n 0.18
T ~ n 0.63 to 48 proc. Total
Seconds
Seconds
100 200
Compute
C ~ n 0.95
200
C ~ n 0.93
100
to 48 proc.
50
1 2 3 4 5 7 10 20 50 100
Processors Processors
8 processor PC 128 processor cluster
Dual quad-core Xeon E5405 2.0GHz PC with 16 diskless Dell SC1435 compute nodes, each with 2.0GHz
16GB RAM dual quad-core AMD Opteron 2350 processors with 8GB RAM
Scaling of run times to large grids
1. Owl is an 8 core PC (Dual quad-core Xeon E5405 2.0GHz) with 16GB RAM
2. Rex is a 128 core cluster of 16 diskless Dell SC1435 compute nodes, each with 2.0GHz dual quad-core
AMD Opteron 2350 processors with 8GB RAM
3. Virtual is a virtual PC resourced with 48 GB RAM and 4 Intel Xeon E5450 3 GHz processors
4. Mac is an 8 core (Dual quad-core Intel Xeon E5620 2.26 GHz) with 16GB RAM
Scaling of run times to large grids
100000 100000
Time (Seconds)
10000
1000
Core 1
Core 2
Node 2 Node 2
local disk local disk
Core 1
Scatter all Gather partial
input files to output from
all nodes Core 2 each node to
form complete
output on
shared store
Summary and Conclusions
Parallelization speeds up processing and partitioned processing
reduces size limitations
Parallel logic developed for general recursive flow accumulation
methodology (flow algebra)
Documented ArcGIS Toolbox Graphical User Interface
32 and 64 bit versions (but 32 bit version limited by inherent 32 bit
operating system memory limitations)
PC, Mac and Linux/Unix capability
Capability to process large grids efficiently increased from 0.22 GB
upper limit pre-project to where < 4GB grids can be processed in
the ArcGIS Toolbox version on a PC within a day and up to 11 GB
has been processed on a distributed cluster (a 50 fold size
increase)
Limitations and Dependencies
Uses MPICH2 library from Argonne National
Laboratory
http://www.mcs.anl.gov/research/projects/mpich2/
Processor memory