|
1 | 1 | [](https://umami.readthedocs.io/en/latest/?badge=latest) |
2 | 2 | [](https://travis-ci.org/TerrainBento/umami) |
3 | 3 | [](https://ci.appveyor.com/project/kbarnhart/umami) |
4 | | -[](https://mybinder.org/v2/gh/TerrainBento/umami/master) |
5 | 4 | [](https://coveralls.io/github/TerrainBento/umami?branch=master) |
6 | 5 | [](https://conda.anaconda.org/conda-forge) |
| 6 | +[](https://mybinder.org/v2/gh/TerrainBento/umami/master?filepath=notebooks%2FWelcome.ipynb) |
7 | 7 |
|
8 | | -# Umami |
| 8 | +# What is it? |
9 | 9 |
|
10 | | -Umami calculates topographic metrics for use in assessing model-data fit. |
| 10 | +Umami is a package for calculating objective functions or objective function |
| 11 | +components for Earth surface dynamics modeling. It was designed to work well |
| 12 | +with |
| 13 | +[terrainbento](https://github.com/TerrainBento/terrainbento) and other models built with the |
| 14 | +[Landlab Toolkit](https://github.com/landlab/landlab). Examples can be |
| 15 | +found in the `notebooks` directory (or on Binder |
| 16 | +[](https://mybinder.org/v2/gh/TerrainBento/umami/master?filepath=notebooks%2FWelcome.ipynb) |
| 17 | +). |
11 | 18 |
|
12 | | -It is presently under construction. |
| 19 | +Umami offers two primary classes: |
| 20 | +* a [`Residual`](https://umami.readthedocs.io/en/latest/umami.residual.html#Residual), |
| 21 | +which represents the difference between model and data, and |
| 22 | +* a [`Metric`](https://umami.readthedocs.io/en/latest/umami.metric.html), |
| 23 | +which is a calculated value on either model or data. |
13 | 24 |
|
14 | | -There will eventually be a binder link here to some notebooks that provide introductory examples. |
| 25 | +The set of currently supported calculations are found in the [`umami.calculations`](https://umami.readthedocs.io/en/latest/umami.calculations.html) submodule. |
15 | 26 |
|
16 | | -# Getting Help |
| 27 | +# What does it do well? |
17 | 28 |
|
18 | | -Use the [Issues Page]() to ask questions and get help. Please search open and closed issues to identify if a question has already been asked. We welcome all questions. |
| 29 | +Umami was designed to provide an input-file based interface for calculating |
| 30 | +single-value landscape metrics for use in model analysis. This supports |
| 31 | +reproducible analysis and systematic variation in metric construction. When |
| 32 | +used with `terrainbento` one input file can describe the model run, and one |
| 33 | +input file can describe the model assessment or model-data comparison. This |
| 34 | +streamlines model analysis applications. Umami also provides multiple output |
| 35 | +formats (YAML and Dakota), the latter of which is designed to interface with |
| 36 | +Sandia National Laboratory's [Dakota package](https://dakota.sandia.gov). |
19 | 37 |
|
20 | | -# Contributing |
| 38 | +To get a sense of how it is meant to be used, check out the |
| 39 | +[notebooks on Binder](https://mybinder.org/v2/gh/TerrainBento/umami/master?filepath=notebooks%2FWelcome.ipynb) |
| 40 | +and the [API documentation](https://umami.readthedocs.io/en/latest/). |
21 | 41 |
|
22 | | -User contributions are welcome pull requests on a development branch. Umami strives for a meaningful 100% code coverage, adherence to [PEP8](), low lint levels using [Flake8](), and [Black style](). Many of these standards are enforced by continuous integration tests and the development team will help you bring contributions into compliance. Please see the [Development Practices]() page for more information. |
| 42 | +# Where to get it |
23 | 43 |
|
24 | | -# Installation instructions |
25 | | - |
26 | | -**WARNING: conda and pip distributions are not presently active** |
27 | | -Before installing umami you will need a python distribution. We recommend that you use the [Anaconda python distribution](https://www.anaconda.com/download/). Unless you have a specific reason to want Python 2.7 we strongly suggest that you install Python 3.7 (or the current 3.* version provided by Anaconda). |
28 | | - |
29 | | -To install the release version of umami (this is probably what you want) we support conda and pip package management. |
| 44 | +To install the release version of umami (this is probably what you want) we |
| 45 | +support [conda](https://anaconda.org/conda-forge/umami) and |
| 46 | +[pip](https://pypi.org/project/umami/) package management. |
30 | 47 |
|
31 | 48 | ## Using conda |
| 49 | + |
32 | 50 | Open a terminal and execute the following: |
33 | 51 |
|
34 | 52 | ``` |
35 | | -conda config --add channels conda-forge |
36 | | -conda install umami |
| 53 | +$ conda config --add channels conda-forge |
| 54 | +$ conda install umami |
37 | 55 | ``` |
38 | 56 |
|
39 | 57 | ## Using pip |
| 58 | + |
40 | 59 | Open a terminal and execute the following: |
41 | 60 |
|
42 | 61 | ``` |
43 | | -pip install umami |
| 62 | +$ pip install umami |
44 | 63 | ``` |
45 | 64 |
|
46 | 65 | ## From source code |
47 | 66 |
|
48 | | -To install the umami source code version of umami we recommend creating a conda environment for umami. |
| 67 | +The source code is housed on [GitHub](https://github.com/TerrainBento/umami). |
| 68 | +To install the umami from source code we recommend creating a conda environment. |
49 | 69 |
|
50 | 70 | ``` |
51 | | -git clone https://github.com/TerrainBento/umami.git |
52 | | -cd umami |
53 | | -conda env create -f environment-dev.yml |
54 | | -conda activate umami-dev |
55 | | -python setup.py install |
| 71 | +$ git clone https://github.com/TerrainBento/umami.git |
| 72 | +$ cd umami |
| 73 | +$ conda env create -f environment-dev.yml |
| 74 | +$ conda activate umami-dev |
| 75 | +$ python setup.py install |
56 | 76 | ``` |
57 | 77 |
|
58 | | -#### A note to developers |
| 78 | +If you are interested in developing umami, please check out the |
| 79 | +[development practices](https://umami.readthedocs.io/en/latest/development_practices.html) |
| 80 | +page. |
| 81 | + |
| 82 | +# Read the documentation |
| 83 | + |
| 84 | +Documentation is housed on [ReadTheDocs](https://umami.readthedocs.io). |
| 85 | + |
| 86 | +# License |
| 87 | + |
| 88 | +[MIT](https://github.com/TerrainBento/umami/blob/master/LICENSE) |
| 89 | + |
| 90 | +# Report issues and get help |
| 91 | + |
| 92 | +Umami uses Github Issue as a single point of contact for users and developers. |
| 93 | +To ask a question, report a bug, make a feature request, or to get in touch for |
| 94 | +any reason, please make |
| 95 | +[an Issue](https://github.com/TerrainBento/umami/issues). |
| 96 | + |
| 97 | +# Contribute to umami |
| 98 | + |
| 99 | +All contributions are welcome. |
59 | 100 |
|
60 | | -If you plan to develop with umami, please fork umami, clone the forked repository, and replace `python setup.py install` with `python setup.py develop`. We recommend developing new features on a development branch. |
| 101 | +Contributors and maintainers to this project are are expected to abide the [Contributor Code of Conduct](https://github.com/TerrainBento/umami/blob/master/CODE_OF_CONDUCT.md). |
61 | 102 |
|
| 103 | +# Cite umami |
62 | 104 |
|
63 | | -# How to cite |
| 105 | +If you use umami in your research, please cite it. |
64 | 106 |
|
65 | | -This repository will be submitted to JOSS. |
| 107 | +A Journal of Open Source Software submission is planned. When it is finalized, |
| 108 | +a link and citation will be found here. |
0 commit comments