Skip to main content

Plugin-based component modeling tool.

Project description

https://zenodo.org/badge/DOI/10.5281/zenodo.154179.svg https://readthedocs.org/projects/landlab/badge/?version=latest https://travis-ci.org/landlab/landlab.svg?branch=master https://coveralls.io/repos/landlab/landlab/badge.png https://ci.appveyor.com/api/projects/status/6u0bj0pggxrmf7s1/branch/master?svg=true https://landscape.io/github/landlab/landlab/master/landscape.svg https://mybinder.org/badge_logo.svg

Landlab

What does Landlab do?

Landlab is an open-source Python-language package for numerical modeling of Earth surface dynamics. It contains

  • A gridding engine which represents the model domain. Regular and irregular grids are supported.

  • A library of process components, each of which represents a physical process (e.g., generation of rain, erosion by flowing water). These components have a common interface and can be combined based on a user’s needs.

  • Utilities that support general numerical methods, file input/output, and visualization.

In addition Landlab contains a set of Jupyter notebook tutorials providing an introduction to core concepts and examples of use.

Landlab was designed for disciplines that quantify Earth surface dynamics such as geomorphology, hydrology, glaciology, and stratigraphy. It can also be used in related fields. Scientists who use this type of 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. Landlab saves practitioners from the need for this kind of re-invention by providing standardized components that they can re-use.

Watch the webinar Landlab Toolkit Overview at CSDMS to learn more.

How do I install Landlab?

First you’ll need a Python distribution and either the conda or pip package manager. If you don’t know what you want, we recommend the Anaconda Python distribution.

Two main installation options exist for Landlab. Most people will likely want to install a prepackaged binary. We distribute through both conda-forge and pip.

Landlab 2.0

In late December 2019 Landlab switched to version 2.0-beta. Landlab will be in 2.0-beta until the Landlab 2.0 publication is finalized. Landlab dropped support of Python 2.7 with this transition.

Supported Python Versions

Landlab supports Python versions >= 3.6. Landlab distributes pre-packaged binaries through conda-forge and PyPI for versions 3.6 and 3.7 (3.8 coming soon).

Conda Environment with Pre-packaged Binary Distribution

To create a conda environment that installs a pre-packaged binary and all the dependencies necessary to run the notebooks, clone the repository, navigate to within the top level directory and use the following command:

$ conda env create --file=environment.yml

Then activate the environment and open the welcome notebook execute the following:

$ conda activate landlab_notebooks
$ jupyter notebook notebooks/welcome.ipynb

Developer Installation

Individuals interested in modifying the Landlab source code should follow the developer installation instructions which describe cloning the source code, creating a conda environment for development, compiling, and testing the code.

In short, clone the repository, navigate to the top level directory, and the following commands:

$ conda env create --file=environment-dev.yml
$ conda activate landlab_dev
$ python setup.py develop

How do I verify I’ve installed Landlab correctly?

Landlab uses pytest to discover and run tests. These include docstring tests located within the core source code (landlab\landlab directory) and unit tests located within the landlab\tests directory. Presuming you have used a source code installation with the above conda environment, you will be able to test your install with

$ pytest

from within the landlab_dev conda environment. Additional instructions, including how the unit tests directory is structured can be found under the testing section of the landlab documentation.

What are Landlab’s dependencies?

The core package dependencies are specified by requirements.txt and used by setup.py. There are some additional dependencies that exist for running the notebooks or modifying the source code and testing.

Details of how we structure our dependencies can be found under the dependencies section of the landlab documentation.

How do I learn more about Landlab?

Our documentation is hosted on ReadTheDocs at https://landlab.readthedocs.io/. This includes a User Guide and API reference.

The following paper describes the design of Landlab.

Hobley, D. E. J., Adams, J. M., Nudurupati, S. S., Hutton, E. W. H., Gasparini, N. M., Istanbulluoglu, E. and Tucker, G. E., 2017, Creative computing with Landlab: an open-source toolkit for building, coupling, and exploring two-dimensional numerical models of Earth-surface dynamics, Earth Surface Dynamics, 5, p 21-46, 10.5194/esurf-5-21-2017.

Are there any examples of using Landlab I can look at?

The Landlab package contains a directory at landlab/notebooks which contains Jupyter notebooks describe core concepts and give examples of using components. The file landlab/notebooks/welcome.ipynb provides a table of contents to the notebooks and is the recommended starting place. To launch an instance of Binder and explore the notebooks click here.

In addition there are a set of notebooks curated to teach physical processes located in the directory landlab/notebooks/teaching.

To launch an Binder instance that goes straight to these teaching notebooks click here.

What License does Landlab use?

MIT (see the file LICENSE.txt)

I used Landlab and want to cite it. How do I do this correctly?

The following references refer to the entire Landlab package.

Hobley, D. E. J., Adams, J. M., Nudurupati, S. S., Hutton, E. W. H., Gasparini, N. M., Istanbulluoglu, E. and Tucker, G. E., 2017, Creative computing with Landlab: an open-source toolkit for building, coupling, and exploring two-dimensional numerical models of Earth-surface dynamics, Earth Surface Dynamics, 5, p 21-46, 10.5194/esurf-5-21-2017.

Barnhart, K. R., Hutton, E. W. H., Tucker, G. E., Gasparini, N. M., Istanbulluoglu, E., Hobley, D. E. J., Lyons, N. J., Mouchene, M., Nudurupati, S. S., Adams, J. M., and Bandaragoda, C.: Short communication: Landlab v2.0: A software package for Earth surface dynamics, Earth Surf. Dynam. Discuss., https://doi.org/10.5194/esurf-2020-12, in review, 2020.

BibTeX format:

@article{Hobley2017,
         Author = {Hobley, D. E. J. and Adams, J. M. and
                   Nudurupati, S. S. and Hutton, E. W. H.
                   and Gasparini, N. M. and Istanbulluoglu,
                   E. and Tucker, G. E.},
         Journal = {Earth Surface Dynamics},
         Year = {2017},
         Title = {Creative computing with Landlab: an open-source
                  toolkit for building, coupling, and exploring
                  two-dimensional numerical models of
                  Earth-surface dynamics},
         Number = {5},
         Pages = {21-46},
         Doi = {10.5194/esurf-5-21-2017}}

@article{barnhart2020short,
         Author = {Barnhart, K. R. and Hutton, E. W. H. and
                   Tucker, G. E. and Gasparini, N. M. and
                   Istanbulluoglu, E. and Hobley, D. E. J. and
                   Lyons, N. J. and Mouchene, M. and Nudurupati,
                   S. S. and Adams, J. M. and Bandaragoda, C.},
         Title = {Short communication: Landlab v2.0: A software
                  package for Earth surface dynamics},
         Journal = {Earth Surface Dynamics Discussions},
         Volume = {2020},
         Year = {2020},
         Pages = {1--25},
         Url = {https://www.earth-surf-dynam-discuss.net/esurf-2020-12/},
         Doi = {10.5194/esurf-2020-12}
         }

In addition, depending on what parts of Landlab you use, you may need to cite component-specific. Refer to the References section of each component and this page which discusses the Landlab Citation Registry tool.

I think I found a bug. What should I do?

Please make an Issue describing the bug so we can address it, or work with you to address it. Please try to provide a minimal, reproducible example.

I found something in the documentation that isn’t clear. What should I do?

Please make an Issue describing the what isn’t clear to you. Someone will tag the most appropriate member of the core Landlab team. We will work to clarify your question and revise the documentation so that it is clear for the next user.

I’m interested in contributing to Landlab. Where do I get started?

Thank you for your interest! Refer to CONTRIBUTING.md and this page in the documentation that describes contribution guidelines.

How is the Landlab package structured?

The following page in the documentation describes the package structure.

How was Landlab funded?

Landlab is funded by the US National Science Foundation. It has been supported by the following grants:

  • A Collaborative NSF SI2-SSE proposal to University of Colorado (Greg Tucker, 1147454), and the University of Washington (Erkan Istanbulluoglu, 1148305)

  • A Collaborative NSF SI2-SSI proposal to University of Colorado (Greg Tucker and Dan Hobley, 1450409), Tulane University (Nicole Gasparini, 1450338), and the University of Washington (Erkan Istanbulluoglu, 1450412).

  • A NSF EAR Postdoctoral Fellowship to Katy Barnhart (1725774).

Who made Landlab?

The core development team is currently composed of:

  • Greg Tucker (CU)

  • Nicole Gasparini (Tulane)

  • Erkan Istanbulluoglu (UW)

  • Daniel Hobley (Cardiff)

  • Sai S. Nudurupati (UW)

  • Jordan Adams (Tulane)

  • Eric Hutton (CU)

  • Jenny Knuth (CU)

  • Katy Barnhart (CU)

  • Margaux Mouchene (CU)

  • Christina Bandaragoda (UW)

  • Nathan Lyons (Tulane)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

landlab-2.0.1-cp38-cp38-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

landlab-2.0.1-cp38-cp38-manylinux1_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.8

landlab-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

landlab-2.0.1-cp37-cp37m-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.7m Windows x86-64

landlab-2.0.1-cp37-cp37m-manylinux1_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.7m

landlab-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

landlab-2.0.1-cp36-cp36m-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.6m Windows x86-64

landlab-2.0.1-cp36-cp36m-manylinux1_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.6m

landlab-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file landlab-2.0.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: landlab-2.0.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.0

File hashes

Hashes for landlab-2.0.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3f08097de64e699dbe9b0b559ade2c0a50fc5c8788e69f3c53aa833afc04ee39
MD5 a1be90f22234517cef9adf5aec139d8a
BLAKE2b-256 c254864d64f18776fd1b30a31315f9dfa12b76f7dc40f28acef2a15da60ad65d

See more details on using hashes here.

File details

Details for the file landlab-2.0.1-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.1-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for landlab-2.0.1-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7bafcb8963bac9e2ea5259283e65c7c1470ca55bb76f24061f737a2ff3f2b98a
MD5 d6183ff18a4efb2048f40c0c2da51f2e
BLAKE2b-256 e8420d8a5b6d650536cb5162d4bfc9af5b7ae2f5bb0c9100788915688fb930b5

See more details on using hashes here.

File details

Details for the file landlab-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for landlab-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 09d98683bf2f472224bd30884518d6c12be8309f710e3b5e652a4d5036784be2
MD5 d341a0ac16dafd9d9c2ebceba8cf1297
BLAKE2b-256 226c17f9d9bafc4c66ee557605c4c562937bece7c2ed3df4fe865f465ba0e148

See more details on using hashes here.

File details

Details for the file landlab-2.0.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: landlab-2.0.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

File hashes

Hashes for landlab-2.0.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f89a8698727a95d9a4f7a2d4795f7f2a1538287d412a44fdf29e629581707925
MD5 40e51869bceb17056d7c6fa7dfb30d62
BLAKE2b-256 5498ae525c37f511aaeebb1e02b1ebcf2adbf0839ff53f85fc9582fae7147a43

See more details on using hashes here.

File details

Details for the file landlab-2.0.1-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.1-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for landlab-2.0.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 94e5e62dbc226cf52dcf347b514cd65919d09afd84c87e67c2b235dcd470bb40
MD5 e6151ad82c4eccd2322505967fc86355
BLAKE2b-256 98616ee8bb4d1ae23ddda719d75709ed908cfc7fe0e33e51d7b2c2eec35998fb

See more details on using hashes here.

File details

Details for the file landlab-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for landlab-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5e3b18dc870d97ad85fc24b4bf92ebb8d7cfa565511e84d460eb777fdb37afe0
MD5 b9c381d6d2dadc86ca934b432eddb8d1
BLAKE2b-256 4c94ee6a8f3a4c1283e868a8c1298b0c6ef7071003bf3802e2960a1e982e985d

See more details on using hashes here.

File details

Details for the file landlab-2.0.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: landlab-2.0.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.8

File hashes

Hashes for landlab-2.0.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 5939b711bd3e1f75086eeb3f34565b0087c7a860a638b8b806af78f1944cc1ab
MD5 e8787a990bf4cf147839083cc0e0b684
BLAKE2b-256 87492006293092d92bfd2af4d4095ba5d59d39884d626cd0fead62b20a447c11

See more details on using hashes here.

File details

Details for the file landlab-2.0.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.1-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for landlab-2.0.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 74d9af79070fc880aa962c1db9ea11b9636ceb7e5ce7648369910ad8e496ad5c
MD5 c11b178e0a6435f17712b3a08986bd4a
BLAKE2b-256 40646cadc125259d411cc34632147e6dee13f18054440712c5a1ddd7be660755

See more details on using hashes here.

File details

Details for the file landlab-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.10

File hashes

Hashes for landlab-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 961b7a6d7642cd19773af95ab599f0edaa77bddb560a187aa6ebc3f280325fd7
MD5 40627c9e47d2c3ed96b9fa1c20a8e249
BLAKE2b-256 df3ae0509ade127b2dbd313ddf7c104fe5680367b2644b2d547c462316d27f90

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page