Skip to content

Commit 8c5ad82

Browse files
committed
Merge branch 'master' into release
2 parents bdfdb3c + 2e5c847 commit 8c5ad82

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+2161
-1327
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,9 @@ __pycache__/
1414
\.DS_Store
1515

1616
notebooks/\.ipynb_checkpoints/
17+
18+
coverage.xml
19+
20+
.coverage.*
21+
22+
*.nc

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,6 @@ install:
6161
- pip install -e .
6262
script:
6363
- pip install pytest pytest-cov coveralls
64-
- pip install jupyter pandas plotnine holoviews terrainbento
65-
- pytest --cov-report=xml:$(pwd)/coverage.xml
64+
- pip install jupyter pandas plotnine holoviews terrainbento tqdm
65+
- pytest umami tests/ --doctest-modules --cov=umami --cov-report=xml:$(pwd)/coverage.xml -vvv
6666
after_success: coveralls

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Examples of unacceptable behavior by participants include:
2121
* The use of sexualized language or imagery and unwelcome sexual attention or advances
2222
* Trolling, insulting/derogatory comments, and personal or political attacks
2323
* Public or private harassment
24-
* Publishing others" private information, such as a physical or electronic address, without explicit permission
24+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
2525
* Other conduct which could reasonably be considered inappropriate in a professional setting
2626

2727
## Our Responsibilities

Makefile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,9 @@ coverage: ## check code coverage quickly with the default Python
7070
docs: ## generate Sphinx HTML documentation, including API docs
7171
rm -f docs/umami.rst
7272
rm -f docs/modules.rst
73-
sphinx-apidoc -o docs/ umami
7473
$(MAKE) -C docs clean
7574
$(MAKE) -C docs html
76-
$(BROWSER) docs/_build/html/index.html
75+
$(BROWSER) docs/build/html/index.html
7776

7877
install: clean ## install the package to the active Python's site-packages
7978
python setup.py develop

README.md

Lines changed: 71 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,108 @@
11
[![Documentation Status](https://readthedocs.org/projects/umami/badge/?version=latest)](https://umami.readthedocs.io/en/latest/?badge=latest)
22
[![Build Status](https://travis-ci.org/TerrainBento/umami.svg?branch=master)](https://travis-ci.org/TerrainBento/umami)
33
[![Build status](https://ci.appveyor.com/api/projects/status/0ehba569dttgsuyv?svg=true)](https://ci.appveyor.com/project/kbarnhart/umami)
4-
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TerrainBento/umami/master)
54
[![Coverage Status](https://coveralls.io/repos/github/TerrainBento/umami/badge.svg?branch=master)](https://coveralls.io/github/TerrainBento/umami?branch=master)
65
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/umami/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)
6+
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TerrainBento/umami/master?filepath=notebooks%2FWelcome.ipynb)
77

8-
# Umami
8+
# What is it?
99

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+
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/TerrainBento/umami/master?filepath=notebooks%2FWelcome.ipynb)
17+
).
1118

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.
1324

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.
1526

16-
# Getting Help
27+
# What does it do well?
1728

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).
1937

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/).
2141

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
2343

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.
3047

3148
## Using conda
49+
3250
Open a terminal and execute the following:
3351

3452
```
35-
conda config --add channels conda-forge
36-
conda install umami
53+
$ conda config --add channels conda-forge
54+
$ conda install umami
3755
```
3856

3957
## Using pip
58+
4059
Open a terminal and execute the following:
4160

4261
```
43-
pip install umami
62+
$ pip install umami
4463
```
4564

4665
## From source code
4766

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.
4969

5070
```
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
5676
```
5777

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.
59100

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).
61102

103+
# Cite umami
62104

63-
# How to cite
105+
If you use umami in your research, please cite it.
64106

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

Comments
 (0)