Short communication: Landlab v2.0: A software package for Earth surface dynamics

Numerical simulation of the form and characteristics of Earth’s surface provides insight into its evolution. Landlab is an open-source Python package that contains modularized elements of numerical models for Earth’s surface, thus reducing time required for researchers to create new or reimplement existing models. Landlab contains a gridding engine which represents the model domain as a dual graph of structured quadrilaterals (e.g., raster) or irregular Voronoi polygon–Delaunay triangle mesh (e.g., regular hexagons, radially symmetric meshes, and fully irregular meshes). Landlab also contains components – modular implementations of single physical processes – and a suite of utilities that support numerical methods, input/output, and visualization. This contribution describes package development since version 1.0 and backward-compatibility-breaking changes that necessitate the new major release, version 2.0. Substantial changes include refactoring the grid, improving the component standard interface, dropping Python 2 support, and creating 31 new components – for a total of 58 components in the Landlab package. We describe reasons why many changes were made in order to provide insight for designers of future packages. We conclude by discussing lessons about the dynamics of scientific software development gained from the experience of using, developing, maintaining, and teaching with Landlab. Published by Copernicus Publications on behalf of the European Geosciences Union. 380 K. R. Barnhart et al.: Landlab 2.0

[1]  W. Culling Soil Creep and the Development of Hillside Slopes , 1963, The Journal of Geology.

[2]  E. C. Childs Drainage of Groundwater Resting on a Sloping Bed , 1971 .

[3]  Peter S. Eagleson,et al.  Climate, soil, and vegetation: 2. The distribution of annual precipitation derived from observed storm sequences , 1978 .

[4]  I. A. Chaikovsky,et al.  Terminology for model credibility , 1979 .

[5]  John F. O'Callaghan,et al.  The extraction of drainage networks from digital elevation data , 1984, Comput. Vis. Graph. Image Process..

[6]  R. Bras Hydrology : an introduction to hydrologic science , 1990 .

[7]  K. Beven,et al.  THE PREDICTION OF HILLSLOPE FLOW PATHS FOR DISTRIBUTED HYDROLOGICAL MODELLING USING DIGITAL TERRAIN MODELS , 1991 .

[8]  C. Goad Geophysical Geodesy: The Slow Deformations of the Earth , 1991 .

[9]  I. Rodríguez‐Iturbe,et al.  A coupled channel network growth and hillslope evolution model: 2. Nondimensionalization and applications , 1991 .

[10]  I. Rodríguez‐Iturbe,et al.  A coupled channel network growth and hillslope evolution model: 1. Theory , 1991 .

[11]  T. G. Freeman,et al.  Calculating catchment area with divergent flow based on a regular grid , 1991 .

[12]  A. Howard A detachment-limited model of drainage basin evolution , 1994 .

[13]  Pierre Y. Julien,et al.  RASTER‐BASED HYDROLOGIC MODELING OF SPATIALLY‐VARIED SURFACE RUNOFF , 1995 .

[14]  D. Tarboton A new method for the determination of flow directions and upslope areas in grid digital elevation models , 1997 .

[15]  Daniel Polakow,et al.  Modelling fire-return interval T: stochasticity and censoring in the two-parameter Weibull model , 1999 .

[16]  Filippo Catani,et al.  Statistical analysis of drainage density from digital terrain data , 2001 .

[17]  Nicole M. Gasparini,et al.  The Channel-Hillslope Integrated Landscape Development Model (CHILD) , 2001 .

[18]  Luca Ridolfi,et al.  Plants in water-controlled ecosystems: active role in hydrologic processes and response to water stress: II. Probabilistic soil moisture dynamics , 2001 .

[19]  Nicole M. Gasparini,et al.  An object-oriented framework for distributed hydrologic and geomorphic modeling using triangulated irregular networks , 2001 .

[20]  N. Snyder,et al.  Tectonics from topography: Procedures, promise, and pitfalls , 2006 .

[21]  John D. Hunter,et al.  Matplotlib: A 2D Graphics Environment , 2007, Computing in Science & Engineering.

[22]  Brian E. Granger,et al.  IPython: A System for Interactive Scientific Computing , 2007, Computing in Science & Engineering.

[23]  James P. M. Syvitski,et al.  Sedflux 2.0: An advanced process-response model that generates three-dimensional stratigraphy , 2008, Comput. Geosci..

[24]  Dimitri Lague,et al.  Fluvial erosion/transport equation of landscape evolution models revisited , 2009 .

[25]  P. Bates,et al.  A simple inertial formulation of the shallow water equations for efficient two-dimensional flood inundation modelling. , 2010 .

[26]  Skipper Seabold,et al.  Statsmodels: Econometric and Statistical Modeling with Python , 2010, SciPy.

[27]  Wes McKinney,et al.  Data Structures for Statistical Computing in Python , 2010, SciPy.

[28]  Daniel E. J. Hobley,et al.  Field calibration of sediment flux dependent river incision , 2011 .

[29]  J. Perron,et al.  Numerical methods for nonlinear hillslope transport laws , 2011 .

[30]  Feng Liu,et al.  A survey of the practice of computational science , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[31]  Paul D. Bates,et al.  Improving the stability of a simple formulation of the shallow water equations for 2‐D flood modeling , 2012 .

[32]  Paola Passalacqua,et al.  A sub-grid scale closure for nonlinear hillslope sediment transport models , 2012 .

[33]  L. Royden,et al.  An integral approach to bedrock river profile analysis , 2013 .

[34]  Jean Braun,et al.  A very efficient O(n), implicit and parallel method to solve the stream power equation governing fluvial incision and landscape evolution , 2013 .

[35]  Enrique R. Vivoni,et al.  Modeling the ecohydrological role of aspect‐controlled radiation on tree‐grass‐shrub coexistence in a semiarid climate , 2013 .

[36]  E. Shelef,et al.  Impact of flow routing on catchment area calculations, slope estimates, and numerical simulations of landscape development , 2013 .

[37]  Scott D. Peckham,et al.  A component-based approach to integrated modeling in the geosciences: The design of CSDMS , 2013, Comput. Geosci..

[38]  Richard Barnes,et al.  Priority-Flood: An Optimal Depression-Filling and Watershed-Labeling Algorithm for Digital Elevation Models , 2015, Comput. Geosci..

[39]  Ian M. Mitchell,et al.  Best Practices for Scientific Computing , 2012, PLoS biology.

[40]  George E. Hilley,et al.  Lithologic control on the form of soil-mantled hillslopes , 2014 .

[41]  Andrew D. Wickert,et al.  Open-source modular solutions for flexural isostasy: gFlex v1.0 , 2015 .

[42]  Qianqian Wang,et al.  Assessing the impact of software on science: A bootstrapped learning of software entities in full-text papers , 2015, J. Informetrics.

[43]  Timothée Poisot Best publishing practices to improve user confidence in scientific software , 2015 .

[44]  Martin Reich,et al.  Modelling sediment clasts transport during landscape evolution , 2015 .

[45]  Matthew Rocklin,et al.  Dask: Parallel Computation with Blocked algorithms and Task Scheduling , 2015, SciPy.

[46]  Jeffrey C. Carver Software Engineering for Science , 2016, Comput. Sci. Eng..

[47]  Nicole M. Gasparini,et al.  Creative computing with Landlab: an open-source toolkit for building, coupling, and exploring two-dimensional numerical models of Earth-surface dynamics , 2016 .

[48]  Jason W. Kean,et al.  Model simulations of flood and debris flow timing in steep catchments after wildfire , 2016 .

[49]  Daniel S. Katz,et al.  The Challenge and Promise of Software Citation for Credit, Identification, Discovery, and Reuse , 2016, ACM J. Data Inf. Qual..

[50]  Randall J. LeVeque,et al.  Clawpack: building an open source ecosystem for solving hyperbolic PDEs , 2016, PeerJ Comput. Sci..

[51]  Nicole M. Gasparini,et al.  A hydroclimatological approach to predicting regional landslide probability using Landlab , 2017 .

[52]  MacKenzie Smith,et al.  Software and the Scientist: Coding and Citation Practices in Geodynamics , 2017 .

[53]  Nicole M. Gasparini,et al.  The Landlab v1.0 OverlandFlow component: a Python tool for computing shallow-water flow across watersheds , 2017 .

[54]  Morgan Taschuk,et al.  Ten simple rules for making research software more robust , 2016, PLoS Comput. Biol..

[55]  Stephan Hoyer,et al.  xarray: N-D labeled arrays and datasets in Python , 2017 .

[56]  Gregory E. Tucker,et al.  The SPACE 1.0 model: a Landlab component for 2-D calculation of sediment transport, bedrock erosion, and landscape evolution , 2017 .

[57]  Gregory E. Tucker,et al.  Developing and exploring a theory for the lateral erosion of bedrock channels for use in landscape evolution models , 2017 .

[58]  J. Erhel,et al.  Dynamic coupling of subsurface and seepage flows solved within a regularized partition formulation , 2017 .

[59]  Donald R Schoolmaster,et al.  Barrier Displacement on a Neutral Landscape: Toward a Theory of Continental Biogeography , 2016, Systematic biology.

[60]  Lex Nederbragt,et al.  Good enough practices in scientific computing , 2016, PLoS Comput. Biol..

[61]  K. Cranmer,et al.  Open is not enough , 2018, Nature Physics.

[62]  A. Anders,et al.  Modeled Postglacial Landscape Evolution at the Southern Margin of the Laurentide Ice Sheet: Hydrological Connection of Uplands Controls the Pace and Style of Fluvial Network Expansion , 2018 .

[63]  Todd A. Ehlers,et al.  Effect of changing vegetation and precipitation on denudation – Part 2: Predicted landscape response to transient climate and vegetation cover over millennial to million-year timescales , 2018, Earth Surface Dynamics.

[64]  Nicole Gasparini,et al.  Lithology: A Landlab submodule for spatially variable rock properties , 2018, J. Open Source Softw..

[65]  Daniel E. J. Hobley,et al.  STORM 1.0: a simple, flexible, and parsimonious stochastic rainfall generator for simulating climate and climate change , 2018, Geoscientific Model Development.

[66]  Gregory E. Tucker,et al.  Terrainbento 1.0: a Python package for multi-model analysis in long-term drainage basin evolution , 2018, Geoscientific Model Development.

[67]  Sharon C. Glotzer,et al.  How to Professionally Develop Reusable Scientific Software—And When Not To , 2019, Computing in Science & Engineering.

[68]  J. Covault,et al.  Conversion of tectonic and climatic forcings into records of sediment supply and provenance , 2019, Scientific Reports.

[69]  Louise H. Kellogg,et al.  The Role of Scientific Communities in Creating Reusable Software: Lessons From Geophysics , 2019, Computing in Science & Engineering.

[70]  Nicole M. Gasparini,et al.  Topographic controls on divide migration, stream capture, and diversification in riverine life , 2019 .

[71]  Christoph Grützner,et al.  Relative timing of uplift along the Zagros Mountain Front Flexure (Kurdistan Region of Iraq): Constrained by geomorphic indices and landscape evolution modeling , 2019, Solid Earth.

[72]  Eric W. H. Hutton,et al.  umami: A Python package for Earth surface dynamics objective function construction , 2019, J. Open Source Softw..

[73]  Anthony M. Castronova,et al.  Enabling Collaborative Numerical Modeling in Earth Sciences using Knowledge Infrastructure , 2019, Environ. Model. Softw..

[74]  Gregory E. Tucker,et al.  Modeling the Shape and Evolution of Normal‐Fault Facets , 2020, Journal of Geophysical Research: Earth Surface.

[75]  Mary C. Hill,et al.  Inverting Topography for Landscape Evolution Model Process Representation: 2. Calibration and Validation , 2020, Journal of Geophysical Research: Earth Surface.

[76]  Mary C. Hill,et al.  Inverting Topography for Landscape Evolution Model Process Representation: 1. Conceptualization and Sensitivity Analysis , 2018, Journal of Geophysical Research: Earth Surface.

[77]  Mary C. Hill,et al.  Inverting Topography for Landscape Evolution Model Process Representation: 3. Determining Parameter Ranges for Select Mature Geomorphic Transport Laws and Connecting Changes in Fluvial Erodibility to Changes in Climate , 2020, Journal of Geophysical Research: Earth Surface.

[78]  Katherine R. Barnhart,et al.  GroundwaterDupuitPercolator: A Landlab component for groundwater flow , 2020, J. Open Source Softw..

[79]  Nicole M. Gasparini,et al.  SpeciesEvolver: A Landlab component to evolve life in simulated landscapes , 2020, J. Open Source Softw..