Also known as Implicit Drainage Area
Model type Tool
Model part of larger framework
Note on status model
Date note status model
Incorporated models or components:
Spatial dimensions 2D
Spatial extent Continental, Landscape-Scale, Regional-Scale, Watershed-Scale
Model domain Hydrology
One-line model description An implementation of the Implicit Drainage Area method (regular and hybrid versions) for calculating drainage area from flow directions using parallel iterative solvers.
Extended model description IDA formulates the task of determing the drainage area, given flow directions, as a system of implicit equations. This allows the use of iterative solvers, which have the advantages of being parallelizable on distributed memory systems and widely available through libraries such as PETSc.

Using the open source PETSc library (which must be downloaded and installed separately), IDA permits large landscapes to be divided among processors, reducing total runtime and memory requirements per processor.

It is possible to reduce run time with the use of an initial guess of the drainage area. This can either be provided as a file, or use a serial algorithm on each processor to correctly determine the drainage area for the cells that do not receive flow from outside the processor's domain.

The hybrid IDA method, which is enabled with the -onlycrossborder option, uses a serial algorithm to solve for local drainage on each processor, and then only uses the parallel iterative solver to incorporate flow between processor domains. This generally results in a significant reduction in total runtime.

Currently only D8 flow directions are supported. Inputs and outputs are raw binary files.


drainage basin, watershed, hydrological, parallel computing,

Name Alan Richardson
Type of contact Model developer
Institute / Organization Massachusetts Institute of Technology
Postal address 1 77 Massachusetts Ave. #54-217
Postal address 2
Town / City Cambridge
Postal code 02139
State Massachusetts
Country United States
Email address

Supported platforms
Other platform
Programming language


Other program language
Code optimized Multiple Processors
Multiple processors implemented Distributed memory
Nr of distributed processors
Nr of shared processors
Start year development 2012
Does model development still take place? No
If above answer is no, provide end year model development 2012
Code development status As is, no updates are provided
When did you indicate the 'code development status'? 2020
Model availability As code
Source code availability
(Or provide future intension)
Through CSDMS repository
Source web address
Source csdms web address
Program license type BSD or MIT X11
Program license type other
Memory requirements
Typical run time

Describe input parameters Input flow directions:
 8 bit unsigned integers
 The numbers corresponding to each of the 9 possible flow directions are
 shown below:
 32  64 128
 16  0   1
 8   4   2
 So a cell with the value '1' means that the flow in that cell goes to the
 East, while a value of '32' means that the cell's flow goes to the
 North West. The value '0' implies that the cell is a sink and flow does not
 leave it
 Row major order is used.
Input format Binary
Other input format
Describe output parameters Output drainage area, true drainage area, and initial guess:
 64 bit float ('double')
 Row major order is used.
 The drainage area of cells with no drainage to or from them, such as ocean
 cells, will be the area of the cell itself (1.0, if all cells are given
 unit area).
Output format Binary
Other output format
Pre-processing software needed? No
Describe pre-processing software
Post-processing software needed? No
Describe post-processing software
Visualization software needed? No
If above answer is yes
Other visualization software

Describe processes represented by the model Computation of drainage area, which, for a particular cell, is the sum of cells that drain through that cell.
Describe key physical parameters and equations Flow direction: the direction to the immediately neighboring cell (N,NE,E,...) to which flow from a cell is directed.

Drainage area: The size of the total number of cells that drain through a cell.

Describe length scale and resolution constraints Increasing the number of processors should allow larger/higher resolution landscapes to be considered.
Describe time scale and resolution constraints This code does not involve time.
Describe any numerical limitations and issues If you will be processing very large landscapes then you may need to configure PETSc with the --with-64-bit-indices option.

Describe available calibration data sets
Upload calibration data sets if available:
Describe available test data sets As an example of running IDA, and a test to ensure that it is running

correctly, a small project is provided. Unpack it using tar -xjf example.tar.bz2


 dir.bin: flow directions for a 1000 x 1000 cell landscape
 true.bin: the correct answer, for comparison a Bash script to run the example. The script must be modified to 
   specify the path to the IDA executable.


 Make the Bash script executable with the command chmod +x
 Run the Bash script with ./
 It will run IDA several times with different options, and may take some time
 Depending on your configuration of PETSc, some of the runs may fail
Upload test data sets if available: Media:Example.tar.bz2
Describe ideal data for testing

Do you have current or future plans for collaborating with other researchers?
Is there a manual available? No
Upload manual if available:
Model website if any
Model forum / discussion board
Comments View the included README file for additional notes on compiling and running

This part will be filled out by CSDMS staff

OpenMI compliant No but possible
BMI compliant No but possible
WMT component No but possible
PyMT component
Is this a data component
Can be coupled with:
Model info
Nr. of publications: 1
Total citations: 11
h-index: 1
m-quotient: 0.1

Link to this page




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

Featured publication(s)YearModel describedType of ReferenceCitations
Richardson, Alan; Hill, Christopher N.; Perron, J. Taylor; 2014. IDA: An implicit, parallelizable method for calculating drainage area. Water Resources Research, 50, 4110–4130. 10.1002/2013WR014326
(View/edit entry)
2014 IDA
Model overview 11
See more publications of IDA



Input Files

Output Files