Umami calculates landscape metrics


License
MIT
Install
pip install umami==2.0.0

Documentation

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 https://github.com/TerrainBento/umami.git
$ cd umami
$ conda env create -f environment-dev.yml
$ conda activate umami-dev
$ python setup.py install

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

Read the documentation

Documentation is housed on ReadTheDocs.

License

MIT

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

DOI

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