
Information and code (Arc/Info and ArcGIS) used to calculate
cumulative downhill slope length, maximum downhill slope angle, and flowdirection
from a DEM.
 Directional slope calculations
 Download a copy of the python code (for ArcGIS 10.x, not Pro) HERE. Readme information at this link.
 RUSLE Calculations (While this code will continue to
be hosted on this website, Rick
VanRemortel will be taking over tech support for the RUSLE code.)
Work is underway to build a ArcGIS Pro version (as of 6/29/2019)
 RUSLE Version 5 is, effectively, RUSLE Version 4 recoded
in C to work off an array. It was later converted to run as an ArcMap
extension. Note, there were problems with the ArcMap extension, and the has been taken down. The original C code was published in:
Van Remortel, R., R. Maichle, and R. Hickey, 2004, Computing the
RUSLE LS Factor through Array based Slope Length Processing of
Digital Elevation Data Using a C++ Executable. Computers and
Geosciences. V. 30, No. 910, pp. 10431053. DOWNLOAD
PDF
 RUSLE Version 4 (an AML): (posted on 12/018/2003)  Version 4
is intended to correct an orderofoperations error in earlier versions
that affected the computation of the slope steepness constituent,
generally yielding higher (by about 510%) LS factor values. This
is the latest version of the RUSLE code that was modified from the
original USLEbased code by Rick
D. Van Remortel and Mathew E. Hamilton of the Remote Sensing
and Technical Services Department, Lockheed Martin Environmental
Services. Calculates LS Factor using DEM data according to RUSLEbased
criteria. See the AML itself for more info. Download the UNIX
version or the Windows Version.
(windows version tested under 9.1 [run from the arc prompt in workstation]
on 16 Feb, 2007).
 Version 4 Output Files
 DEM Results
 dem_fill = filledsink DEM
 dem_fill_b = filledsink DEM + 1cell outer buffer
 down_slp_ang = downlsope angle in degrees
 flowdir_in = flow direction entering a cell
 flowdir_out = flow direction leaving a cell
 flowdir_out_b = flow direction leaving a cell + 1cell
outer buffer
 m_slpexp = slope exponent (m) used in final Lconstituent
calculations
 nd_chg2 = nodata check to check progress of slopelength
iterations
 slp_lgth_beg = initial slope length used to begin
slopelength iteration
 slp_lgth_cum = cumulative slope length at completion
of each slope length iteration
 slp_lgth_cell = length of cell with respect to flowdir
 slp_end_fac = factor (threshold) that will end slopelength
cumulation
 slp_lgth_ft = slope length expressed in feet, used
as input to L and S factor calculations
 L and S Factor Calculations
 slp_lgth_max = renamed slp_lgth_cum from previous
iteration
 slp_lgth_prev = renamed slp_lgth_max for checking
progress
 *_ruslel = calculated Lconstituent of LS factor
 *_rusles = calculated Sconstituent of LS factor
 *_ruslels2 = final output grid; calculated grid value
is LS factor x 100 which retains significant digits
within the integer grid and minimizes grid storage requirements
(actual ls_factor value is an additional side attribute
in .vat file
 Older versions of the RUSLE code (versions 2 and 3) are still
available for download. Both (and a readme file) are within the
rusle_ls_old.zip file

USLE Calculations
 ArcInfo GRID AMLs: Download here.
These work fine under UNIX, but (usually) crash (eventually) when
running under NT/2000. I've been unable to find the bug  if anyone
does, please send me the fix. For more information, see the Computers,
Environment, and Urban Systems paper listed below. Information
regarding how to use the code is at the start of the text file.
NOTE: this is Version 2 of the AML. It has been modified
to calculate slope length in x,y space. The original code
calculated slope length along the slope itself (x,y,z space).
The change was done to conform to USLE and RUSLE requirements.
If you want the originals, they can still be downloaded
(you will have to break them into separate aml files). The output
from this code produces slope angle, slope length, and USLE LS factor
value files. To put some dates on things, Version 1 was coded (and
published) in 1994; Version 2 was coded in 1999 and published in
2000.
***And a notice to users of ALL sets of code  this is iterative software
and will run on your entire grid a number of times equal to one more than
the maximum number of cells in the longest flowpath on the grid.
Yes, this means that the code can, sometimes, run
for a number of days. The Arc/Info AMLs are constantly reading and writing
to a disk (fast harddrives are good......). The RUSLE Version 4 code is
the fastest of the AMLs. Version 5 is pretty fast, too.
Please feel free to use any of the code posted on this page. The original
work came from my dissertation, and the details can be found either there
or in the Computers, Environment, and Urban Systems paper. The
Environment and Planning A paper is listed as a more general reference
to work using erosion modeling as a part of a larger project. The Cartography
papers discuss the slope length algorithms in more detail, including the
differences/similarities of the IDRISI/ARC and USLE/RUSLE code. Finally,
the Dunn and Hickey paper discusses differences among the different available
slope angle algorithms  including the maximum downhill slope angle algorithm
which I prefer. The 2000, 2001, and 2004 papers represent updates of the
1994 work for both the USLE and RUSLE.
 Hickey, R., 1994, Design and Simulation of Smelter Reclamation Strategies
using an Environmental Decision Support System. Ph.D. dissertation.
Department of Geography, University of Idaho, Moscow, ID.
 Hickey, R, A. Smith, and P. Jankowski, 1994, Slope length calculations
from a DEM within ARC/INFO GRID: Computers, Environment and Urban
Systems, v. 18, no. 5, pp. 365  380. DOWNLOAD
PDF
 Hickey, R. and P. Jankowski, 1997, GIS and Environmental Decisionmaking
to aid smelter reclamation planning: Environment and Planning A,
v. 29, pp. 5  19.
 Dunn, M. and R. Hickey, 1998, The effect of slope algorithms on slope
estimates within a GIS. Cartography, v. 27, no. 1, pp. 9  15.
DOWNLOAD PDF
 Hickey, R., 2000, Slope Angle and Slope Length Solutions for GIS.
Cartography, v. 29, no. 1, pp. 1  8. DOWNLOAD
PDF
 Van Remortel, R., M. Hamilton, and R. Hickey, 2001, Estimating the
LS factor for RUSLE through iterative slope length processing of DEM
elevation data. Cartography. V. 30, no. 1, pp. 27  35. DOWNLOAD
PDF
 Hickey, R., E. Burns, J. Bolte, and D. Walker, 2005, Development
of a Statewide Erosion Vulnerability Screening Tool for Oregon, Geography
Online . V. 5, no. 2.
 Van Remortel, R., R. Maichle, and R. Hickey, 2004, Computing the
RUSLE LS Factor through Array based Slope Length Processing of Digital
Elevation Data Using a C++ Executable. Computers and Geosciences.
V. 30, No. 910, pp. 10431053. DOWNLOAD
PDF
