@@ -38,56 +38,80 @@ The following motivations are taken from our [AGU poster from December
38
38
which provides additional details on motivations, project status, and current
39
39
directions of this project as of approximately January 2023.
40
40
41
- Goals of the USGS Enterprise Capacity (EC) project include: * A sustainable
42
- integrated, hydrologic modeling framework for the U.S. Geological Survey (USGS)
43
- * Interoperable modeling across the USGS, partner agencies, and academia
44
-
45
- Goals for EC Watershed Modeling: * Couple the Precipitation-Runoff Modeling
46
- System (PRMS, e.g. Regan et al, 2018) with MODFLOW 6 (MF6, e.g. Langevin et al,
47
- 2017 ) in a sustainable way * Redesign PRMS to be more modern and flexible *
48
- Prioritize process representations in the current National Hydrological Model
49
- (NHM) based on PRMS 5.2.1
50
-
51
- Prototype an EC watershed model: "pywatershed" * Redesign PRMS quickly in python
52
- * Couple to MF6 via BMI/XMI interface (Hughes et al, 2021; Hutton et al, 2020) *
53
- Establish a prototyping ground for EC codes that couples to the compiled
54
- framework: low cost proof of concepts (at the price of potentially less
55
- computational performance) * Enable process representation hypothesis testing *
56
- Use cutting-edge techniques and technologies to improve models * Machine
57
- learning, automatic differentiation * Address challenges of modeling across
58
- space and time scales * Transition prototype watershed model to compiled EC code
41
+ Goals of the USGS Enterprise Capacity (EC) project include:
59
42
60
- ## Installation
43
+ * A sustainable integrated, hydrologic modeling framework for the U.S.
44
+ Geological Survey (USGS)
45
+ * Interoperable modeling across the USGS, partner agencies, and academia
46
+
47
+ Goals for EC Watershed Modeling:
61
48
62
- To install the software you will need Python 3.9 or 3.10.
49
+ * Couple the Precipitation-Runoff Modeling System (PRMS, e.g. Regan et al,
50
+ 2018) with MODFLOW 6 (MF6, e.g. Langevin et al, 2017) in a sustainable
51
+ way
52
+ * Redesign PRMS to be more modern and flexible
53
+ * Prioritize process representations in the current National Hydrological
54
+ Model (NHM) based on PRMS 5.2.1
63
55
64
- We currently recommend dependencies be installed with
65
- [ Mamba] ( https://mamba.readthedocs.io/en/latest/ ) which will be much faster than
66
- Ananconda (but the conda command can also be used). An environment containing
67
- all core and optional dependencies can be created from the project root with:
56
+ Prototype an EC watershed model: "pywatershed"
68
57
69
- ``` mamba env create -f environment_w_jupyter.yml ```
58
+ * Redesign PRMS quickly in python
59
+ * Couple to MF6 via BMI/XMI interface (Hughes et al, 2021; Hutton et al, 2020)
60
+ * Establish a prototyping ground for EC codes that couples to the compiled
61
+ framework: low cost proof of concepts (at the price of potentially less
62
+ computational performance) * Enable process representation hypothesis testing
63
+ * Use cutting-edge techniques and technologies to improve models
64
+ * Machine learning, automatic differentiation
65
+ * Address challenges of modeling across space and time scales
66
+ * Transition prototype watershed model to compiled EC code
70
67
71
- (The environment ` environment.yml ` does not contain jupyter or jupyterlab
72
- in order to not interfere with installation in WholeTale, see Example
73
- Notebooks seection below.)
68
+
69
+ ## Installation
70
+
71
+ ` pywatershed ` uses Python 3.9 or 3.10.
74
72
75
73
The ` pywatershed ` package is [ available on
76
- PyPI] ( https://pypi.org/project/pywatershed/ ) . At the moment, the installation
77
- may not be reliable on all platforms and we are working to fix this.
74
+ PyPI] ( https://pypi.org/project/pywatershed/ ) but installation of dependencies
75
+ may not be reliable on all platforms.
78
76
79
- Using PyPI (with the above caveat), ` pywatershed ` can be installed with:
77
+ We recommend dependencies be first installed with
78
+ [ Mamba] ( https://mamba.readthedocs.io/en/latest/ ) . This will be much faster than
79
+ Ananconda (but the conda command could also be used). We hope to provide
80
+ ` pywatershed ` installation with all its dependencies on conda-forge in the
81
+ near future.
80
82
81
- ``` pip install pywatershed ```
83
+ If you wish to use the stable release, you will use ` main ` in place of
84
+ ` <branch> ` in the following commands. If you want to follow developemnt, you'll
85
+ use ` develop ` instead.
82
86
83
- A number of extra dependencies are needed to run the example notebooks. These
84
- can be installed with pip with
87
+ Without using ` git ` (directly), you may:
88
+ ```
89
+ curl -L -O https://raw.githubusercontent.com/EC-USGS/pywatershed/<branch>/environment_w_jupyter.yml
90
+ mamba env create -f environment_w_jupyter.yml
91
+ conda activate pws
92
+ pip install git+https://github.com/EC-USGS/pywatershed.git@<branch>
93
+ ```
85
94
86
- ``` pip install "pywatershed[optional]" ```
95
+ Or to use ` git ` and to be able to develop:
87
96
88
- These installation steps are suitable for ` pywatershed ` end users. See the
89
- [ developer documentation] ( ./DEVELOPER.md ) for detailed instructions on
90
- configuring a development environment.
97
+ ```
98
+ git clone https://github.com/EC-USGS/pywatershed.git
99
+ cd pywatershed
100
+ mamba env create -f environment_w_jupyter.yml
101
+ activate pws
102
+ pip install -e .
103
+ ```
104
+
105
+ (If you want to name the environment other than the default ` pws ` , use the
106
+ command
107
+ ` mamba env update --name your_env_name --file environment_w_jupyter.yml --prune `
108
+ you will also need to activate this environment by name.)
109
+
110
+
111
+ We install the ` environment_w_jupyter.yml ` to provide all known dependencies
112
+ including those for running the eample notebooks. (The ` environment.yml `
113
+ does not contain jupyter or jupyterlab because this interferes with installation
114
+ on WholeTale, see Example Notebooks seection below.)
91
115
92
116
## Contributing
93
117
@@ -116,10 +140,11 @@ to register.
116
140
There are containers for both the ` main ` and ` develop ` branches.
117
141
118
142
[ ![ WholeTale] ( https://raw.githubusercontent.com/whole-tale/wt-design-docs/master/badges/wholetale-explore.svg )] ( https://dashboard.wholetale.org )
119
- * [ WholeTale container for latest release (main
120
- branch)] ( https://dashboard.wholetale.org/run/64ae29e8a887f48b9f173678?tab=metadata )
121
- * [ WholeTale container for develop
122
- branch] ( https://dashboard.wholetale.org/run/64ae25c3a887f48b9f1735c8?tab=metadata )
143
+
144
+ * [ WholeTale container for latest release (main
145
+ branch)](https://dashboard.wholetale.org/run/64ae29e8a887f48b9f173678?tab=metadata)
146
+ * [ WholeTale container for develop
147
+ branch](https://dashboard.wholetale.org/run/64ae25c3a887f48b9f1735c8?tab=metadata)
123
148
124
149
WholeTale will give you a jupyter-lab running in the root of this
125
150
repository. You can navigate to ` examples/ ` and then open and run the notebooks
0 commit comments