Meeting:Abstract 2013 CSDMS meeting-078
Landlab: a component-based software modeling environment for computational Earth-surface processes modeling
[[Image:|300px|right|link=File:]]The Landlab project creates an environment in which scientists can build a numerical landscape model without having to code all of the individual components. Landscape models compute flows of mass, such as water, sediment, glacial ice, volcanic material, or landslide debris, across a gridded terrain surface. Landscape models have a number of commonalities, such as operating on a grid of points and routing material across the grid. Scientists who want to use a landscape model often build their own unique model from the ground up, re-coding the basic building blocks of their landscape model rather than taking advantage of codes that have already been written. Whereas the end result may be novel software programs, many person-hours are lost rewriting existing code, and the resulting software is often idiosyncratic and not able to interact with programs written by other scientists in the community. This individuality in software programs leads to lost opportunity for exploring an even wider array of scientific questions than those which can be addressed using a single model. The Landlab project seeks to eliminate these redundancies and lost opportunities by creating a user- and developer-friendly numerical landscape modelling environment which provides scientists with the fundamental building blocks needed for modeling landscape processes. The Landlab will include a number of independent, interoperable components such as (1) a gridding engine to handle both regular and unstructured meshes, (2) an interface for space-time rainfall input, (3) a surface hydrology component, (4) an erosion-deposition component, (5) a vegetation dynamics component and (6) a simulation driver. The components interface with each other using the basic model interface (BMI) and will be fully compatible with the CSDMS Modeling Toolkit. Users can design unique models simply by linking together already-built components into a “new” landscape model within the landlab environment. Alternatively, users can design new landscape models by creating process components that are specialized for individual studies and linking these new components with preexisting Landlab components.