Skip to main content

Umami calculates landscape metrics

Project description

Documentation Status Build Status Build status Coverage Status Anaconda-Server Badge Binder DOI

What is it?

Umami is a package for calculating objective functions or objective function components for Earth surface dynamics modeling. It was designed to work well with terrainbento and other models built with the Landlab Toolkit. Examples can be found in the notebooks directory (or on Binder Binder ).

Umami offers two primary classes:

  • a Residual, which represents the difference between model and data, and
  • a Metric, which is a calculated value on either model or data.

The set of currently supported calculations are found in the umami.calculations submodule.

What does it do well?

Umami was designed to provide an input-file based interface for calculating single-value landscape metrics for use in model analysis. This supports reproducible analysis and systematic variation in metric construction. When used with terrainbento one input file can describe the model run, and one input file can describe the model assessment or model-data comparison. This streamlines model analysis applications. Umami also provides multiple output formats (YAML and Dakota), the latter of which is designed to interface with Sandia National Laboratory's Dakota package.

To get a sense of how it is meant to be used, check out the notebooks on Binder and the API documentation.

Where to get it

To install the release version of umami (this is probably what you want) we support conda and pip package management.

Using conda

Open a terminal and execute the following:

$ conda config --add channels conda-forge
$ conda install umami

Using pip

Open a terminal and execute the following:

$ pip install umami

From source code

The source code is housed on GitHub. To install the umami from source code we recommend creating a conda environment.

$ git clone
$ cd umami
$ conda env create -f environment-dev.yml
$ conda activate umami-dev
$ python install

If you are interested in developing umami, please check out the development practices page.

Read the documentation

Documentation is housed on ReadTheDocs.



Report issues and get help

Umami uses Github Issue as a single point of contact for users and developers. To ask a question, report a bug, make a feature request, or to get in touch for any reason, please make an Issue.

Contribute to umami

All contributions are welcome and appreciated. Feel free to:

  • Make an issue to ask a question. Your question will help others in the future.
  • Make an issue to report a bug or a potential improvement. We will work to fix it. If you have an idea about how to fix it, please feel free to propose it, or make a Pull Request.
  • Fork the repository, make changes to the source code on a development branch, and submit a Pull Request to have your changes brought into the umami repository. No contribution to the code base or documentation is too small.

Contributors and maintainers to this project are are expected to abide the Contributor Code of Conduct.

Cite umami


Umami is described by a Journal of Open Source Software paper. If you use umami in your research, please cite it.

Project details

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 Distribution

umami-2.0.0-py3-none-any.whl (26.4 kB view hashes)

Uploaded py3

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