|
1 | | -[](https://mybinder.org/v2/gh/DavidChoi76/pysumma_binder_test.git/master) |
| 1 | +# pysumma |
2 | 2 |
|
3 | | -# pySUMMA |
4 | | - |
5 | | -The pySUMMA is an Object-Oriented Python wrapper for the manipulation, display and analysis of |
6 | | -SUMMA model (Structure for Unifying Multiple Modeling Alternatives) |
| 3 | +pysumma is a Python wrapper for manipulating, running, managing, and analyzing |
| 4 | +of SUMMA (Structure for Unifying Multiple Modeling Alternatives) |
7 | 5 | * [SUMMA web site at UCAR ](https://www.rap.ucar.edu/projects/summa) |
8 | 6 |
|
9 | | -## The pySUMMA is intended to provide |
10 | | - |
11 | | - - Get and set model parameters and method (fileManager and Decision file) |
12 | | - - Run SUMMA Model |
13 | | - - Visualize netcdf of SUMMA outputs |
14 | | - - Operate pySUMMA with jupyter notebook environment |
15 | | - - Interact Hydorshare to download SUMMA TestCases and post the output of SUMMA |
16 | | - - Automate model calibration or sensitivity analysis (Future work) |
17 | | - |
18 | | -## How to run pySUMMA on HydroShare |
19 | | - (Link YouTube: https://www.youtube.com/watch?v=pL-LNd474Tw) |
20 | | - 1) log in HydoShare(https://www.hydroshare.org) |
21 | | - 2) Start CUAHSI JupyterHub from APPS menu on HydroShare(https://www.hydroshare.org/apps/) |
22 | | - 3) Open "Welcome.ipynb" to download pySUMMA resources from HydroShare |
23 | | - - run the code "1.How to connect with HydroShare" |
24 | | - - change the code from "resid = os.environ['HS_RES_ID']" to "resid = 'c1bb4a12bff44bf08c5958cba7947348'". |
25 | | - 4) You can see the list of Jupyter Notebooks and click one of Jupyter Notebook. |
26 | | - 5) Run one of Jupyter Notebooks. |
27 | | - |
28 | | -### Examples of manipulating and running pySUMMA : |
29 | | - |
30 | | -Refereed paper : Clark, M. P., B. Nijssen, J. D. Lundquist, D. Kavetski, D. E. Rupp, R. A. Woods, |
31 | | -J. E. Freer, E. D. Gutmann, A. W. Wood, D. J. Gochis, R. M. Rasmussen, D. G. Tarboton, V. Mahat, |
32 | | -G. N. Flerchinger, D. G. Marks, 2015b: A unified approach for process-based hydrologic modeling: |
33 | | -Part 2. Model implementation and case studies. Water Resources Research, |
34 | | -[doi:10.1002/2015WR017200](https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1002/2015WR017200). |
35 | | - |
36 | | -#### HydroShare resources |
37 | | -**(Composite Resource)** [Jupyter Notebooks to demonstrate SUMMA Model at Reynolds Mountain East on HydroShare](https://www.hydroshare.org/resource/c1bb4a12bff44bf08c5958cba7947348/) |
38 | | - |
39 | | -**(Composite Resource)** [Procedure and Supplementary documents Collaborative hydrologic modeling on HydroShare](https://www.hydroshare.org/resource/184eea3d3412418a886db87ffdb510b6/) |
40 | | - |
41 | | -**(Model Program)** [SUMMA 2.0.0 Sopron version (lubuntu-16.10)](https://www.hydroshare.org/resource/a5dbd5b198c9468387f59f3fefc11e22/) |
42 | | - |
43 | | -**(Model Program)** [SUMMA 2.0.0 Sopron version (lubuntu-16.04.4)](https://www.hydroshare.org/resource/041671fbc8a544cd8a979af6c2227f92/) |
44 | | - |
45 | | -**(Model Instance)** [Sensitivity to Stomatal Resistance Parameterization of SUMMA Model in Aspen stand at Reynolds Mountain East)](https://www.hydroshare.org/resource/e1a73bc4e7c34166895ff20ae53371f5/) |
46 | | - |
47 | | -**(Model Instance)** [The Impact of Root Distributions Parameters of SUMMA Model in Aspen stand at Reynolds Mountain East)](https://www.hydroshare.org/resource/eed6f3faedad4c17992bb361bd492caa/) |
48 | | - |
49 | | -**(Model Instance)** [The Impact of Lateral Flow Parameterizations on ET of SUMMA Model at Reynolds Mountain East)](https://www.hydroshare.org/resource/11d471b6096d4eaa81068256d281a919/) |
50 | | - |
51 | | -**(Model Instance)** [The Impact of Lateral Flow Parameterizations on Runoff of SUMMA Model at Reynolds Mountain East)](https://www.hydroshare.org/resource/5d20a87ecc5b495097e073e4d5f58d0c/) |
| 7 | +pysumma provides methods for: |
| 8 | + - Running SUMMA |
| 9 | + - Modifying SUMMA input files |
| 10 | + - Automatically parallelizing distributed and sensitivity analysis type experiments |
| 11 | + - Calibration via OSTRICH |
| 12 | + - Visualizing output |
52 | 13 |
|
53 | | -**(Model Instance)** [The Impact of the canopy shortwave radiation parameterizations of SUMMA Model at Reynolds Mountain East)](https://www.hydroshare.org/resource/0c4fd861a9694b2f9fcdf19eb33a6b54/) |
| 14 | +# Installation |
54 | 15 |
|
55 | | -**(Model Instance)** [The Impact of LAI parameter on the below canopy shortwave radiation of SUMMA Model at Reynolds Mountain East)](https://www.hydroshare.org/resource/2bedc3b88f3547d5b9b0ade7248dfdd5/) |
56 | | - |
57 | | -**(Model Instance)** [The Impact of the canopy wind parameter for the exponential wind profile of SUMMA Model at Reynolds Mountain East)](https://www.hydroshare.org/resource/4064a7b014094f50aa63730e4a3ff976/) |
58 | | - |
59 | | -**(Collection Resource)** [Test Cases of SUMMA modeling that include model instances and Jupyter notebooks for SUMMA 2nd Paper(2015))](https://www.hydroshare.org/resource/1b7a9af74daa4a449190f922b5db366e/) |
60 | | - |
61 | | -## How to run pySUMMA locally |
62 | | - |
63 | | -### Installation and Usage |
| 16 | +## Dependencies |
| 17 | +A conda environment is available for management of pysumma's dependencies. |
| 18 | +You can create your own environment from this file by running: |
| 19 | +``` |
| 20 | +conda env create -f environment.yml |
| 21 | +``` |
64 | 22 |
|
65 | | -#### pySUMMA requires Python 3.6 and following packages : |
| 23 | +Then, you can activate this environment with `conda activate pysumma`. |
| 24 | +Before installing pysumma into this environment you may also wish to install it as a kernel in your Jupyter environments. |
| 25 | +This can be accomplished by running: |
66 | 26 |
|
67 | | - - xarray 0.10.7 : N-D labeled arrays and datasets in python |
68 | | - - numpy 1.16.1 : the fundamental package for scientific computing with Python |
69 | | - - matplotlib 3.0.2 : a Python 2D plotting library |
70 | | - - seaborn 0.9.0 : statistical data visualization |
71 | | - - jupyterthemes 0.20.0 : select and install a Jupyter notebook theme |
72 | | - - hs-restclient 1.3.3 : HydroShare REST API python client library |
73 | | - - ipyleaflet 0.9.2 : A jupyter widget for dynamic Leaflet maps |
74 | | - - Linux Environment (VirtualBox 5.2.8) |
75 | | - - [lubuntu-16.10 executable](https://www.hydroshare.org/resource/a5dbd5b198c9468387f59f3fefc11e22/) |
76 | | - - [lubuntu-16.04.4 executable](https://www.hydroshare.org/resource/041671fbc8a544cd8a979af6c2227f92/) |
| 27 | +``` |
| 28 | +python -m ipykernel install --user --name=pysumma |
| 29 | +``` |
77 | 30 |
|
78 | | -### Download and Install pySUMMA: |
| 31 | +With this environment active you can install pysumma this environment with the instructions below. |
79 | 32 |
|
80 | | -**1.)** Download pySUMMA |
81 | | -```python |
82 | | -~/Downloads$ git clone https://github.com/uva-hydroinformatics/pysumma.git |
| 33 | +## Installing pysumma |
| 34 | +Currently we only support building pysumma from source. This can be accomplished by |
| 35 | +running: |
83 | 36 | ``` |
84 | | - |
85 | | -**2.)** change directory into pysumma folder same level with setup.py. |
86 | | -```python |
87 | | -~/Downloads/pysumma$ pip install . |
| 37 | +git clone https://github.com/UW-Hydro/pysumma.git |
| 38 | +cd pysumma |
| 39 | +python setup.py install |
88 | 40 | ``` |
89 | 41 |
|
90 | | -#### The UML of pySUMMA |
91 | | - |
92 | | - |
93 | | -## Reference of SUMMA |
| 42 | +If you plan on helping to develop pysumma you may wish to use the following to install |
| 43 | +``` |
| 44 | +git clone https://github.com/UW-Hydro/pysumma.git |
| 45 | +cd pysumma |
| 46 | +python setup.py develop |
| 47 | +``` |
94 | 48 |
|
| 49 | +# Additional SUMMA References |
95 | 50 | - [Document](http://summa.readthedocs.io/en/latest/) : SUMMA documentation is available online and remains a work in progress. |
96 | 51 | - [Source Code](https://github.com/NCAR/summa) : NCAR github |
97 | | - |
98 | | -## Bugs |
99 | | - Our issue tracker is at https://github.com/uva-hydroinformatics/pysumma/issues. |
| 52 | + |
| 53 | +# Bugs |
| 54 | + Our issue tracker is at https://github.com/UW-Hydro/pysumma/issues. |
100 | 55 | Please report any bugs that you find. Or, even better, fork the repository on |
101 | 56 | GitHub and create a pull request. All changes are welcome, big or small, and we |
102 | 57 | will help you make the pull request if you are new to git |
103 | 58 | (just ask on the issue). |
104 | 59 |
|
105 | | -## License |
106 | | - Distributed with a MIT license; see LICENSE.txt:: |
107 | | - |
108 | | - Copyright (C) 2017 pySUMMA Developers |
109 | | - |
| 60 | +# How to run pySUMMA on HydroShare |
| 61 | + (Link YouTube: https://www.youtube.com/watch?v=pL-LNd474Tw) |
| 62 | + 1) log in HydoShare(https://www.hydroshare.org) |
| 63 | + 2) Start CUAHSI JupyterHub from APPS menu on HydroShare(https://www.hydroshare.org/apps/) |
| 64 | + 3) Open "Welcome.ipynb" to download pySUMMA resources from HydroShare |
| 65 | + - run the code "1.How to connect with HydroShare" |
| 66 | + - change the code from "resid = os.environ['HS_RES_ID']" to "resid = 'c1bb4a12bff44bf08c5958cba7947348'". |
| 67 | + 4) You can see the list of Jupyter Notebooks and click one of Jupyter Notebook. |
| 68 | + 5) Run one of Jupyter Notebooks. |
0 commit comments