Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC: add landlab as a source of inspiration in about section #25

Closed
benbovy opened this issue Jan 16, 2018 · 0 comments
Closed

DOC: add landlab as a source of inspiration in about section #25

benbovy opened this issue Jan 16, 2018 · 0 comments
Milestone

Comments

@benbovy
Copy link
Member

benbovy commented Jan 16, 2018

Landlab is a toolkit for landscape evolution modeling which has recently gained popularity in the community of geomorphologists. It provides its own framework, which is similar in many aspects with the xarray-simlab framework. It has been (and is still) a great source of inspiration for the development of xarray-simlab! The two frameworks differ on some points, though (disclaimer: I explain the differences below within the limits of my understanding of how landlab is designed and implemented):

  • xarray-simlab is domain-agnostic while landlab (framework and library of components) is applied to landscape evolution. For example, xarray-simlab doesn't provide any feature for setting model grids/meshes while landlab supports a variety of structured or unstructured meshes.

  • landlab comes with batteries included (i.e., lots of model components), while xarray-simlab only provides the bare-bones framework (model components are implemented in 3rd-party packages).

  • xarray-simlab's API for setting and running simulations is declarative while landlab's API is more imperative.

  • Interfaces of xarray-simlab processes (i.e., Python classes, after Redesign access to variables and their values in Process subclasses #19 based on attrs) are generally more compact and "pythonic" than interfaces of equivalent landlab components (BMI interface).

  • In xarray-simlab every variable is declared inside processes, at a unique place, including state variables that are also used in other processes (via references or "foreign variables"), while such shared variables are usually defined outside of landlab components (and redefined inside each component). Landlab relies on standard names for shared variables, while xarray-simlab allows more flexibility.

  • landlab doesn't seem to automate aspects like workflow dependencies and model inputs, although maybe this could be easily supported?

@benbovy benbovy added this to the 0.2 milestone Feb 27, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant