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 desiged 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). Note that on PyPI, the --pre flag is necessary while Landlab v2.0 is in beta release.

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 reference refers 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.

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}}

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.0b4-cp38-cp38-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

landlab-2.0.0b4-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.0b4-cp37-cp37m-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m

landlab-2.0.0b4-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.0b4-cp36-cp36m-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.6m Windows x86-64

landlab-2.0.0b4-cp36-cp36m-manylinux1_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.6m

landlab-2.0.0b4-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.0b4-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: landlab-2.0.0b4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.0

File hashes

Hashes for landlab-2.0.0b4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 76fbde82b83a51f4f4db9faf1574a366b5bfebdd6f7d1be2099443c06e221620
MD5 2919b30e9fbfc4295f113bf98c13db63
BLAKE2b-256 439ebb56272670d979334db5e749650b2ff191108a1b66030bdb1c68014f9ec9

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b4-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b4-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.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.1

File hashes

Hashes for landlab-2.0.0b4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0855337cf47ccc95f1add9f1c399394d3d4bc3b41374bb8a0bc3df58339b64a8
MD5 61ecfb2b5dfdac71ca4825ae52d78e76
BLAKE2b-256 d8c51cfe5f639d6307bd4252d2ab72a26b9775cdd20d73713d90cbde3f83027b

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b4-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: landlab-2.0.0b4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.5

File hashes

Hashes for landlab-2.0.0b4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 424bb4bc6f26fd96eaec92e67d044d57a94b519e56e0d0adc815459962d7f23b
MD5 023fa43ee478896429456083c229aedb
BLAKE2b-256 371826bf0bb0166f8f16b06d9a7d086adc2358d4301d5f0c2a078c91a3cfb60d

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b4-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b4-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.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.6

File hashes

Hashes for landlab-2.0.0b4-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f89c56fa37d2d373330207978e284ac0bcc6e5806f1ab30d9e8e35878eaf5fe3
MD5 5eff5cc0ddf8b50da57b96f0ee5586ac
BLAKE2b-256 aa5035e021620e6ac9b0f905c01e70c1bc730c4ea8bd28d81e185d919b98f50c

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b4-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b4-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.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.6

File hashes

Hashes for landlab-2.0.0b4-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 38c779097e93ad062141b6b3869f6cbb3a43b072a6d4b85821326d79aba5a711
MD5 f24e90f2d4ef85a4dedef7aa1d9d0027
BLAKE2b-256 8edac39b8bf3985cf1655fb5e190936b488eefd44f871c2252d0002f43aaf815

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b4-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: landlab-2.0.0b4-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.6.8

File hashes

Hashes for landlab-2.0.0b4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 fe4f3406caff58661dff518ff971ce78e9772446c4cba1f9a8603c728f7445eb
MD5 3569b8a345dcce1f46ed90a635de548e
BLAKE2b-256 4d0f9313fbad52944d6dbd3c45971b35a551026419456963fa20df087933b430

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b4-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b4-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.6

File hashes

Hashes for landlab-2.0.0b4-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8102e57fa379fde4a8a56a73cb1d5d2f32488f4a575ba4dcfef1a97c2dc8dc8b
MD5 60db27e1cf6f3fbc9a84f7b32fd4d167
BLAKE2b-256 9d53126b85a1cd06d1c81a0c3149edac039e166eac9a32a8f3a54c480142785c

See more details on using hashes here.

File details

Details for the file landlab-2.0.0b4-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: landlab-2.0.0b4-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.22.0 setuptools/45.1.0.post20200127 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.6.10

File hashes

Hashes for landlab-2.0.0b4-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 108c01fe06c3deaa7564863aa2d248f4c1f6d2933a3c43bf337142cff5e1c8d0
MD5 5012839c15e7e3da634e4739dd6a9493
BLAKE2b-256 31b538af03c1471dc6a05ebf21212f74eb337efe02740b1ceceb235eeafc3650

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