Also known as
Model type Single
Model part of larger framework
Incorporated models or components:
Spatial dimensions 2D
Spatial extent Landscape-Scale, Watershed-Scale
Model domain Hydrology
One-line model description Diversions component for a D8-based, spatial hydrologic model.
Extended model description This process component is part of a spatially-distributed hydrologic model called TopoFlow, but it can now be used as a stand-alone model. TopoFlow supports three different types of flow diversions: sources, sinks and canals. Sources are locations such as natural springs where water enters the watershed at a point by some process other than those that are otherwise modeled. Similarly, sinks are locations where water leaves the watershed at a point. Canals are generally man-made reaches such as tunnels or irrigation ditches that transport water from one point to another, typically without following the natural gradient of the terrain that is indicated by the DEM. The upstream end is essentially a sink and the downstream end a source.


Name Scott Peckham
Type of contact Model developer
Institute / Organization CSDMS, INSTAAR, University of Colorado
Postal address 1 1560 30th street
Postal address 2
Town / City Boulder
Postal code 80305
State Colorado
Country United States
Email address
Phone 303-492-6752

Supported platforms
Unix, Linux, Mac OS, Windows
Other platform
Programming language


Other program language None (but uses NumPy package)
Code optimized Single Processor
Multiple processors implemented
Nr of distributed processors
Nr of shared processors
Start year development 2001
Does model development still take place? Yes
If above answer is no, provide end year model development
Code development status Active
When did you indicate the 'code development status'? 2020
Model availability As code, As teaching tool
Source code availability
(Or provide future intension)
Through web repository
Source web address
Source csdms web address
Program license type Apache public license
Program license type other
Memory requirements Standard
Typical run time Minutes to hours

Describe input parameters For sources and sinks, the following information must be provided, each on its own line:
ID 	    (source pixel ID as long integer; calendar index)
nd 	    (number of durations and flow rates)
durations   (vector of durations in minutes)
flow rates  (vector of discharges in m^3/sec)

For canals, the following information must be provided, again with each entry on a separate line in the text file:

ID1 	    (start pixel ID as long integer; calendar index)
ID2 	    (end pixel ID as long integer; calendar index)
time 	    (travel time between ID1 and ID2, in minutes)
nd 	    (number of durations and flow rates)
durations   (vector of durations in minutes)
flow rates  (vector of discharges in m^3/sec)

Canals are currently assumed to be lossless, so that the flow rates at the two ends are identical, but lagged by the travel time. The behavior of this component is controlled with a configuration (CFG) file, which may point to other files that contain input data. Here is a sample configuration (CFG) file for this component:

Method code:            0
Method name:            Standard
Use sources:            0              Treynor_sources.txt     (N/A)
Use sinks:              0              Treynor_sinks.txt       (N/A)
Use canals:             0              Treynor_canals.txt      (N/A)
Input format
Other input format
Describe output parameters
Output format ASCII, Binary
Other output format
Pre-processing software needed? Yes
Describe pre-processing software Another program must be used to create the input grids. This includes a D8 flow grid derived from a DEM for the region to be modeled. The earlier, IDL version of TopoFlow can be used to create some of these.
Post-processing software needed? Yes
Describe post-processing software None, except visualization software. Grid sequences saved in netCDF files can be viewed as animations and saved as movies using VisIt.
Visualization software needed? Yes
If above answer is yes
Other visualization software VisIt

Describe processes represented by the model
Describe key physical parameters and equations
Describe length scale and resolution constraints Recommended grid cell size is around 100 meters, but can be parameterized to run with a wide range of grid cell sizes. DEM grid dimensions are typically less than 1000 columns by 1000 rows.
Describe time scale and resolution constraints The basic stability condition is: dt < (dx / u_min), where dt is the timestep, dx is the grid cell size and u_min is the smallest velocity in the grid. This ensures that flow cannot cross a grid cell in less than one time step. Typical timesteps are on the order of seconds to minutes. Model can be run for a full year or longer, if necessary.
Describe any numerical limitations and issues This model/component needs more rigorous testing.

Describe available calibration data sets This model/component is typically not calibrated to fit data, but is run with a best guess or measured value for each input parameter.
Upload calibration data sets if available:
Describe available test data sets Available test data sets:
  • Treynor watershed, in the Nishnabotna River basin, Iowa, USA.
  • (Two large rainfall events.)
  • Small basin in Kentucky.
  • Inclined plane for testing.
  • Arctic watershed data from Larry Hinzman (UAF).
  • See /data/progs/topoflow/3.0/data on CSDMS cluster.
Upload test data sets if available:
Describe ideal data for testing Several test datasets are stored on the CSDMS cluster at: /data/progs/topoflow/3.0/data.

Do you have current or future plans for collaborating with other researchers? Collaborators include: Larry Hinzman (UAF), Bob Bolton, Anna Liljedahl (UAF), Stefan Pohl, Tom Over and others
Is there a manual available? Yes
Upload manual if available:
Model website if any This site.
Model forum / discussion board
Comments About this component:
  • This component was developed as part of the TopoFlow hydrologic model, which was originally written in IDL and had a point-and-click GUI. For more information on TopoFlow, please goto:
  • When used from within the CSDMS Modeling Tool (CMT), this component has "config" button which launches a graphical user interface (GUI) for changing input parameters. The GUI is a tabbed dialog with a Help button at the bottom that displays HTML help in a browser window.
  • This component also has a configuration (CFG) file, with a name of the form: <case_prefix>_channels_diff_wave.cfg. This file can be edited with a text editor.
  • The Numerical Python module (numpy) is used for fast, array-based processing.
  • This model has an OpenMI-style interface, similar to OpenMI 2.0. Part of this interface is inherited from "".

This part will be filled out by CSDMS staff

OpenMI compliant No but planned
BMI compliant Yes
WMT component Yes
PyMT component
Is this a data component
Can be coupled with:

TopoFlow, TopoFlow-Channels-Diffusive_Wave, TopoFlow-Channels-Dynamic_Wave, TopoFlow-Channels-Kinematic_Wave,

Model info
Nr. of publications: 1
Total citations: 11
h-index: 1
m-quotient: 0.07
Qrcode TopoFlow-Diversions.png
Link to this page




Nr. of publications: 1
Total citations: 11
h-index: 1
m-quotient: 0.07



Model help:TopoFlow-Diversions

Input Files

Output Files