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.
One of the advantages of IDA is that the number of communication stages, when processors communicate with each other to transfer data from the boundaries of their domains to neighbors, is almost independent of the number of processors. This compares favorably to methods such as ParallelArea, where increasing the number of processors will lead to a larger number of communication stages.
The algorithm formulates the calculation as a system of linear equations. This system can then be solved with a preconditioned iterative solver. By avoid-
ing the recursive nature of other drainage area algorithms and taking advantage of widely available, paralle-lizable linear solvers, IDA is well adapted for parallel processing. We demonstrate that the IDA algorithm exhibits good scaling to large numbers of processors. This suggests that it is well suited to large, high-resolution data sets. The conventional serial algorithm may be fastest for small data sets, and queue-based parallel algorithms are potentially best suited to modest numbers of processors, but IDA’s continued per-formance improvements even at large numbers of processors suggest that it might be an appropriate method for many-core systems such as large GPU clusters. A hybrid approach, which combines the efficiency of the serial calculation with IDA’s parallel scalability, reduces the problem size at which IDA becomes competitive. The option to provide an initial guess to the iterative solver creates the possibility of reducing the solution time when performing repeated flow routing calculations on similar terrain, such as in numerical landscape evolution models, by using the solution from the previous step as an initial guess. We anticipate that further performance improvements could be obtained through a judicious choice of solver and preconditioner. With a small modification, this method can be used to delineate drainage basins with the same suitability for parallel computation.
Applying the IDA algorithm to the HydroSHEDS 3 arc sec data set, we demonstrate the suitability of this method for processing very large data sets. At such a resolution it is possible to obtain more meaningful val-ues of topographic slope than with coarser grids, which in turn permits more accurate estimates of quanties such as large-scale erosion rates and sediment yields. With drainage area data at a scale that permits meaningful slope calculations, it becomes possible to compare predictions of riverine suspended sediment flux based on slope with predictions based on topographic relief, which is frequently used as a surrogate for slope at coarse spatial resolutions. We show that an empirical model based on drainage area and slope accounts for a larger fraction of the variance in a data set of continental sediment fluxes than a model relying only on drainage area and drainage basin relief. Calculating drainage area at high resolution allows us to apply this relationship to predict average coastal sediment flux for small basins.
For principles and details on the IDA model, see the literature: "IDA: An implicit, parallelizable method for calculating
drainage area".