Landlab
Version 2.0.0beta
Landlab (http://landlab.github.io) is an opensource Python library of code that enables users to easily build unique earth surface processes models to address specific hypotheses. The Landlab library contains gridding engines for building regular and irregular grids, process components that act on grid variables, tools for storing and sharing data among the grid and components, and plotting and analysis tools. Process components represent individual processes occurring at the earth’s surface (e.g. growth and death of vegetation, surface water infiltration, linear diffusion of sediment), or drivers of these processes (e.g. rainfall, solar radiation). Users can build models by combining existing process components, or build new components if a required process component does not exist. Landlab was developed by members of the CSDMS community with support from CSDMS and the National Science Foundation (two ACI  SI2 grants).
Why build another modeling tool?
Landlab has the rare distinction of being built to make modeling accessible to a wide variety of earth scientists, including those who do not traditionally use computational models. In contrast, most other models are designed to answer a specific hypothesis posed by the developers.
What does this mean for new users?
 Landlab is extensively documented.
 Users can contact developers with issues.
 There are tutorials to teach users how to use Landlab.
 There are classroom tutorials to teach students about different surface processes.
 Many Landlab tutorials are accessible through Hydroshare, an online collaborative environment for sharing data and models, which allows users to testout Landlab without installing it locally.
 Landlab has integrated testing to ensure that new code contributions will not break existing code.
 There is documentation to make contributing code a bit easier.
Landlab Components and Models
Numerous people have contributed components and models to landlab. Of these, 52 are described in the CSDMS repository and are listed below. Would you like to add a Landlab component to the below list? Start here:Program  Description  Developer  Download  PyMT 

ChannelProfiler  The ChannelProfiler extracts and plots channel networks from a landlab grid.  Barnhart, Katy  
ChiFinder  Calculate Chi Indices  Hobley, Daniel  
DepressionFinderAndRouter  Find depressions on a topographic surface.  Hobley, Dan  
DepthDependentDiffuser

Soil depthdependent linear hillslope diffuser  Glade, Rachel  
DepthDependentTaylorDiffuser  This component implements a depthdependent Taylor series diffusion rule, combining concepts of Ganti et al. (2012) and Johnstone and Hilley (2014).  Glade, Rachel  
DetachmentLtdErosion  Simulate detachment limited sediment transport.  Adams, Jordan  
Drainage Density

Component for calculating drainage density in Landlab given a channel network  Shobe, Charles  
ErosionDeposition

Landlab component for fluvial erosion/deposition.  Shobe, Charles  
ExponentialWeatherer  Exponential soil production function in the style of Ahnert (1976)  Glade, Rachel  
FastscapeEroder  Compute fluvial erosion using stream power theory (“fastscape” algorithm)  Hobley, Daniel  
FireGenerator  This component generates a random fire event or fire time series from the Weibull statistical distribution.  Adams, Jordan  
Flexure  Deform the lithosphere with 1D or 2D flexure.  Hutton, Eric  
FlowAccumulator  Component to accumulate flow and calculate drainage area.  Barnhart, Katy  
FlowDirectorD8  Singlepath (steepest direction) flow direction with diagonals on rasters.  Barnhart, Katy  
FlowDirectorDinf  Flow direction on a raster grid by the D infinity method.  Barnhart, Katy  
FlowDirectorMFD  Multiplepath flow direction with or without out diagonals.  Barnhart, Katy  
FlowDirectorSteepest  Singlepath (steepest direction) flow direction without diagonals.  Barnhart, Katy  
FractureGridGenerator  Create a 2D grid with randomly generated fractures.  Tucker, Greg  
GrainHill

Cellular automaton model of hillslope evolution  Tucker, Gregory  
GroundwaterDupuitPercolator  The GroundwaterDupuitPercolator solves the Boussinesq equation for flow in an unconfined aquifer over an impermeable aquifer base and calculates groundwater return flow to the surface.  Litwin, David  
HackCalculator  Calculate Hack parameters.  Barnhart, Katy  
LakeMapperBarnes  Temporarily fills depressions and reroutes flow across them  Hobley, Daniel  
Landlab  Python software framework for writing, assembling, and running 2D numerical models  Tucker, Greg  
Landslides  Landlab component that simulates landslide probability of failure as well as mean relative wetness and probability of saturation.  Strauch, Ronda  
LateralEroder  Laterally erode neighbor node through fluvial erosion.  Langston, Abigail  
LinearDiffuser  Landlab component that models soil creep as a linear diffusion process  Tucker, Greg  
Lithology  Create a Lithology object with different properties  Barnhart, Katy  
LossyFlowAccumulator  Component to calculate drainage area and accumulate flow, while permitting dynamic loss or gain of flow downstream.  Hobley, Dan  
NormalFault  NormalFault implements relative rock motion due to a normal fault.  Barnhart, Katy  
OverlandFlow

Component simulating overland flow using a 2D numerical approximation of the shallowwater equations following the de Almeida et al., 2012 algorithm for storagecell inundation modeling.  Adams, Jordan  
OverlandFlowBates  This component simulates overland flow using the 2D numerical model of shallowwater flow over topography using the Bates et al. (2010) algorithm for storagecell inundation modeling.  Adams, Jordan  
PerronNLDiffuse  Nonlinear diffusion, following Perron (2011).  Hobley, Daniel  
PotentialEvapotranspiration  Calculates potential evapotranspiration  Nudurupati, Sai  
PotentialityFlowRouter  Multidirectional flow routing using a novel method.  Hobley, Daniel  
PrecipitationDistribution  Generate random sequence of precipitation events  Adams, Jordan  
Radiation  Compute 1D and 2D total incident shortwave radiation.  Nudurupati, Sai  
SPACE

Landlab component for 2D calculation of fluvial sediment transport and bedrock erosion  Shobe, Charles  
SedDepEroder  Compute fluvial erosion using using “tools and cover” theory  Hobley, Daniel  
SinkFiller  Fill sinks in a landscape to the brim, following the Barnes et al. (2014) algorithms.  Hobley, Daniel  
SoilInfiltrationGreenAmpt

Landlab component that calculates soil infiltration based on the GreenAmpt solution.  Rengers, Francis  
SoilMoisture  Compute the decay of soil moisture saturation at storminterstorm time period  Nudurupati, Sai  
SpatialPrecipitationDistribution  Generate random sequence of spatiallyresolved precipitation events  Hobley, Daniel  
SpeciesEvolver  Evolve life in a landscape.  Lyons, Nathan  
SteepnessFinder  Calculate steepness and concavity indices from gridded topography  Hobley, Daniel  
StreamPowerSmoothThresholdEroder  Compute fluvial erosion using stream power theory with a numerically smoothed threshold  Tucker, Greg  
TaylorNonLinearDiffuser  Model nonlinear soil creep after Ganti et al. (2012)  Glade, Rachel  
Terrainbento

A Python package for multimodel analysis in longterm drainage basin evolution  Barnhart, Katy  
TransportLengthHillslopeDiffuser  Transport length hillslope diffusion.  Mouchene, Margaux  
VegCA  Landlab component that simulates interspecies plant competition using a 2D cellular automata model.  Nudurupati, Sai  
Vegetation  Model plant dynamics using multiple representative plant species  Nudurupati, Sai  
ZoneController  Controls zones and populates them with taxa.  Lyons, Nathan  
ZoneTaxon  A zonebased taxon  Lyons, Nathan 
Landlab is an element of the CSDMS Workbench, an integrated system of software tools, technologies, and standards for building and coupling models.