Skip to content

Commit

Permalink
Merge branch 'master' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
kbarnhart committed Oct 7, 2019
2 parents 8c5ad82 + 022599e commit 5d6531f
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 30 deletions.
31 changes: 18 additions & 13 deletions joss/paper.bib
Expand Up @@ -22,18 +22,11 @@ @Article{barnhart2019terrain
DOI = {10.5194/gmd-12-1267-2019}
}

@Article{adams2017dakotatheory,
address = {Albuquerque, NM},
author = {B.M. Adams and L.E. Bauman and W.J. Bohnhoff and K.R.
Dalbey and M.S. Ebeida and J.P. Eddy and M.S. Eldred and
P.D. Hough and K.T. Hu and J.D. Jakeman and J.A. Stephens
and L.P. Swiler and D.M. Vigil and T.M. Wildey},
journal = {Sandia Technical Report SAND2014-4253},
title = {Dakota, A Multilevel Parallel Object-Oriented Framework
for Design Optimization, Parameter Estimation, Uncertainty
Quantification, and Sensitivity Analysis: Version 6.6
Theory Manual},
year = {2017}
@article{adams2019dakota,
author = {Adams, Brian M and Eldred, Michael S and Geraci, Gianluca and Hooper, Russell W and Jakeman, John D and Maupin, Kathryn A and Monschk, Jason A and Rushdi, Ahmad A and Stephens, J Adam and Swiler, Laura P and Wildey, Timothy M and Bohnhoff, William J and Dalbey, Keith R and Ebeida, Mohamed S and Eddy, John P and Hough, Patricia D and Khalil, Mohammad and Hu, Kenneth T and Ridgway, Elliott M and Vigil, Dena M and Winokur, Justin G},
title = {{Dakota, A Multilevel Parallel Object-Oriented Framework for Design Optimization, Parameter Estimation, Uncertainty Quantification, and Sensitivity Analysis: Version 6.10 User{\textquoteright}s Manual}},
journal = {Sandia National Laboratories, Tech. Rep. SAND2014-4633},
year = {2019}
}


Expand Down Expand Up @@ -62,7 +55,7 @@ @Article{club2017geomorphometric
}

@article{mudd2014statistical,
author = {Mudd, Simon M. and Attal, Mikaël and Milodowski, David T. and Grieve, Stuart W. D. and Valters, Declan A.},
author = {Mudd, S. M. and Attal, M. and Milodowski, D. T. and Grieve, S. W. D. and Valters, D. A.},
title = {A statistical framework to quantify spatial variation in channel gradients using the integral method of channel profile analysis},
journal = {Journal of Geophysical Research: Earth Surface},
volume = {119},
Expand All @@ -89,6 +82,7 @@ @Article{schwanghart2014topo


@article{schwanghart2010topo,
author = "Schwanghart, W. and Kuhn, N. J.",
title = "TopoToolbox: A set of Matlab functions for topographic analysis",
journal = "Environmental Modelling & Software",
volume = "25",
Expand All @@ -99,3 +93,14 @@ @article{schwanghart2010topo
doi = "https://doi.org/10.1016/j.envsoft.2009.12.002",
url = "http://www.sciencedirect.com/science/article/pii/S1364815209003053"
}

@Article{ perron2013integral,
author = {Perron, J Taylor and Royden, Leigh},
journal = {Earth Surface Processes and Landforms},
number = {6},
pages = {570--576},
publisher = {Wiley Online Library},
title = {An integral approach to bedrock river profile analysis},
volume = {38},
year = {2013}
}
4 changes: 2 additions & 2 deletions joss/paper.md
Expand Up @@ -31,7 +31,7 @@ affiliations:
- name: University of Colorado at Boulder, Institute for Arctic and Alpine Research
index: 4
date: 4 September 2019
bibliography: papers.bib
bibliography: paper.bib
---

# Summary
Expand All @@ -48,7 +48,7 @@ Umami is a package for calculating objective functions or objective function com

Umami offers two primary classes: a [`Residual`](https://umami.readthedocs.io/en/latest/umami.residual.html#Residual)
which represents the difference between model and data, and a [`Metric`](https://umami.readthedocs.io/en/latest/umami.metric.html)
which is a calculated value on either model or data. The set of currently supported calculations are found in the [`umami.calculations`](https://umami.readthedocs.io/en/latest/umami.calculations.html) submodule. Both the `Metric` and `Residual` classes are designed to be fully specified through a YAML-style input-file or python Dictionary interface. Many different calculations can be accomplished through parameter specification. This supports reproducible analysis and systematic variation in metric construction. For example, 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 by making driver files more re-usable and by placing the code that accomplished calculations in the umami package rather than within the driver file. Umami also provides multiple output formats (YAML and Dakota), the latter of which is designed to interface with Sandia National Laboratory's Dakota package [@adams2017dakotatheory].
which is a calculated value on either model or data. The set of currently supported calculations are found in the [`umami.calculations`](https://umami.readthedocs.io/en/latest/umami.calculations.html) submodule. Both the `Metric` and `Residual` classes are designed to be fully specified through a YAML-style input-file or python Dictionary interface. Many different calculations can be accomplished through parameter specification. This supports reproducible analysis and systematic variation in metric construction. For example, 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 by making driver files more re-usable and by placing the code that accomplished calculations in the umami package rather than within the driver file. Umami also provides multiple output formats (YAML and Dakota), the latter of which is designed to interface with Sandia National Laboratory's Dakota package [@adams2019dakota].

The novel contribution of the umami package is not primarily found in the specific calculations accomplished (e.g., some of them are as straightforward as the mean of a state variable). Instead it is the flexible and extensible nature of the input file format and the `Metric` and `Residual` classes. Additionally, the package can be extended through the addition of new calculation methods.

Expand Down
16 changes: 2 additions & 14 deletions notebooks/IntroductionToMetric.ipynb
Expand Up @@ -21,21 +21,9 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": null,
"metadata": {},
"outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'umami'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-1-6ae86a672d39>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mio\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mStringIO\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mlandlab\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mRasterModelGrid\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mimshow_grid\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mumami\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mMetric\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mumami\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalculations\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0maggregate\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'umami'"
]
}
],
"outputs": [],
"source": [
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
Expand Down
4 changes: 3 additions & 1 deletion setup.py
Expand Up @@ -5,12 +5,14 @@

setup(
name="umami",
python_requires=">=3.6",
python_requires=">=3",
version=versioneer.get_version(),
classifiers=[
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: Implementation :: CPython",
Expand Down

0 comments on commit 5d6531f

Please sign in to comment.