py-ewr 2.0.0__py3-none-any.whl → 2.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- py_ewr/data_inputs.py +6 -217
- py_ewr/evaluate_EWRs.py +107 -965
- py_ewr/model_metadata/SiteID_MDBA.csv +80 -15
- py_ewr/observed_handling.py +3 -9
- py_ewr/parameter_metadata/ewr_calc_config.json +2 -2
- py_ewr/parameter_metadata/parameter_sheet.csv +961 -1098
- py_ewr/scenario_handling.py +53 -58
- py_ewr/summarise_results.py +1 -3
- py_ewr-2.1.2.dist-info/METADATA +222 -0
- py_ewr-2.1.2.dist-info/RECORD +15 -0
- {py_ewr-2.0.0.dist-info → py_ewr-2.1.2.dist-info}/WHEEL +1 -1
- py_ewr/climate_data/climate_cats.csv +0 -212
- py_ewr/climate_data/climate_cats_10000year.csv +0 -10003
- py_ewr-2.0.0.dist-info/METADATA +0 -190
- py_ewr-2.0.0.dist-info/RECORD +0 -17
- {py_ewr-2.0.0.dist-info → py_ewr-2.1.2.dist-info}/LICENSE +0 -0
- {py_ewr-2.0.0.dist-info → py_ewr-2.1.2.dist-info}/top_level.txt +0 -0
py_ewr-2.0.0.dist-info/METADATA
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: py-ewr
|
|
3
|
-
Version: 2.0.0
|
|
4
|
-
Summary: Environmental Water Requirement calculator
|
|
5
|
-
Home-page: https://github.com/MDBAuth/EWR_tool
|
|
6
|
-
Author: Martin Job
|
|
7
|
-
Author-email: Martin.Job@mdba.gov.au
|
|
8
|
-
Project-URL: Bug Tracker, https://github.com/MDBAuth/EWR_tool/issues
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
|
|
11
|
-
Classifier: Operating System :: OS Independent
|
|
12
|
-
Classifier: Development Status :: 4 - Beta
|
|
13
|
-
Classifier: Programming Language :: Python
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
-
Classifier: Framework :: Pytest
|
|
20
|
-
Description-Content-Type: text/markdown
|
|
21
|
-
License-File: LICENSE
|
|
22
|
-
Requires-Dist: ipython ==8.8.0
|
|
23
|
-
Requires-Dist: ipywidgets ==7.7.0
|
|
24
|
-
Requires-Dist: pandas ==2.0.3
|
|
25
|
-
Requires-Dist: requests ==2.25.1
|
|
26
|
-
Requires-Dist: tqdm ==4.64.0
|
|
27
|
-
Requires-Dist: mdba-gauge-getter ==0.5.0
|
|
28
|
-
Requires-Dist: cachetools ==5.2.0
|
|
29
|
-
|
|
30
|
-
[]()
|
|
31
|
-
[](https://pypi.org/project/py-ewr/)
|
|
32
|
-
[](https://pypi.org/project/py-ewr/)
|
|
33
|
-
[](https://zenodo.org/badge/latestdoi/342122359)
|
|
34
|
-
|
|
35
|
-
### **EWR tool version 2.0.0 README**
|
|
36
|
-
|
|
37
|
-
### **Installation**
|
|
38
|
-
|
|
39
|
-
Note - requires Python 3.8 or newer
|
|
40
|
-
|
|
41
|
-
Step 1.
|
|
42
|
-
Upgrade pip
|
|
43
|
-
```bash
|
|
44
|
-
python -m pip install –-upgrade pip
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Step 2.
|
|
48
|
-
```bash
|
|
49
|
-
pip install py-ewr
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Run Timeseries with ObservedHandler
|
|
53
|
-
|
|
54
|
-
```python
|
|
55
|
-
from datetime import datetime
|
|
56
|
-
|
|
57
|
-
from py_ewr.observed_handling import ObservedHandler
|
|
58
|
-
|
|
59
|
-
dates = {'start_date': datetime(2020, 7, 1),
|
|
60
|
-
'end_date': datetime(2021, 6, 30)}
|
|
61
|
-
|
|
62
|
-
# Get allowances:
|
|
63
|
-
|
|
64
|
-
MINT = (100 - 0)/100
|
|
65
|
-
MAXT = (100 + 0 )/100
|
|
66
|
-
DUR = (100 - 0 )/100
|
|
67
|
-
DRAW = (100 -0 )/100
|
|
68
|
-
|
|
69
|
-
allowance ={'minThreshold': MINT, 'maxThreshold': MAXT, 'duration': DUR, 'drawdown': DRAW}
|
|
70
|
-
|
|
71
|
-
gauges = ['419039']
|
|
72
|
-
climate = "Standard - 1911 to 2018 climate categorisation"
|
|
73
|
-
|
|
74
|
-
# instantiate ObservedHandler
|
|
75
|
-
|
|
76
|
-
ewr_oh = ObservedHandler(gauges=gauges, dates=dates , allowance=allowance, climate=climate)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
# ObservedHandler methods
|
|
80
|
-
|
|
81
|
-
# returns a pandas DataFrame with ewr results for the timeseries
|
|
82
|
-
ewr_results = ewr_oh.get_ewr_results()
|
|
83
|
-
|
|
84
|
-
# returns a pandas DataFrame with the yearly ewr results for the timeseries
|
|
85
|
-
yearly_ewr_results = ewr_oh.get_yearly_ewr_results()
|
|
86
|
-
|
|
87
|
-
# returns a pandas DataFrame with all events of the timeseries
|
|
88
|
-
all_events = ewr_oh.get_all_events()
|
|
89
|
-
|
|
90
|
-
# returns a pandas DataFrame with all interEvents of the timeseries
|
|
91
|
-
all_interEvents = ewr_oh.get_all_interEvents()
|
|
92
|
-
|
|
93
|
-
# returns a pandas DataFrame with all successful events of the timeseries
|
|
94
|
-
all_successfulEvents = ewr_oh.get_all_successful_events()
|
|
95
|
-
|
|
96
|
-
# returns a pandas DataFrame with all interevent periods between the successful events of the timeseries
|
|
97
|
-
all_successful_interEvents = ewr_oh.get_all_successful_interEvents()
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
# with the returned object you can use any pandas method like pd.DateFrame.to_csv() etc.
|
|
101
|
-
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Run Timeseries with ScenarioHandler
|
|
105
|
-
|
|
106
|
-
```python
|
|
107
|
-
from py_ewr.scenario_handling import ScenarioHandler
|
|
108
|
-
|
|
109
|
-
# pass a list of location of the scenario files
|
|
110
|
-
# this example will pass a IQQDM format scenario read the pdf manual for details
|
|
111
|
-
loaded_files = ["419039_gauge_data_IQQDM.csv"]
|
|
112
|
-
|
|
113
|
-
# Get allowances:
|
|
114
|
-
|
|
115
|
-
MINT = (100 - 0)/100
|
|
116
|
-
MAXT = (100 + 0 )/100
|
|
117
|
-
DUR = (100 - 0 )/100
|
|
118
|
-
DRAW = (100 -0 )/100
|
|
119
|
-
|
|
120
|
-
allowance ={'minThreshold': MINT, 'maxThreshold': MAXT, 'duration': DUR, 'drawdown': DRAW}
|
|
121
|
-
|
|
122
|
-
# Current model format options: 'Bigmod - MDBA', 'Source - NSW (res.csv)', 'IQQM - NSW 10,000 years' - see manual for formatting requirements
|
|
123
|
-
ewr_sh = ScenarioHandler(scenario_files = loaded_files,
|
|
124
|
-
model_format = 'IQQM - NSW 10,000 years',
|
|
125
|
-
allowance = allowance,
|
|
126
|
-
climate = 'Standard - 1911 to 2018 climate categorisation' )
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
# ScenarioHandler methods
|
|
130
|
-
|
|
131
|
-
# returns a pandas DataFrame with ewr results for the timeseries
|
|
132
|
-
ewr_results = ewr_sh.get_ewr_results()
|
|
133
|
-
|
|
134
|
-
# returns a pandas DataFrame with the yearly ewr results for the timeseries
|
|
135
|
-
yearly_ewr_results = ewr_sh.get_yearly_ewr_results()
|
|
136
|
-
|
|
137
|
-
# returns a pandas DataFrame with all events of the timeseries
|
|
138
|
-
all_events = ewr_sh.get_all_events()
|
|
139
|
-
|
|
140
|
-
# returns a pandas DataFrame with all interEvents of the timeseries
|
|
141
|
-
all_interEvents = ewr_sh.get_all_interEvents()
|
|
142
|
-
|
|
143
|
-
# returns a pandas DataFrame with all successful events of the timeseries
|
|
144
|
-
all_successfulEvents = ewr_sh.get_all_successful_events()
|
|
145
|
-
|
|
146
|
-
# returns a pandas DataFrame with all interevent periods between the successful events of the timeseries
|
|
147
|
-
all_successful_interEvents = ewr_sh.get_all_successful_interEvents()
|
|
148
|
-
|
|
149
|
-
# with the returned object you can use any pandas method like pd.DateFrame.to_csv() etc.
|
|
150
|
-
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### **Purpose**
|
|
154
|
-
This tool has two purposes:
|
|
155
|
-
1. Operational: Tracking EWR success at gauges of interest in real time.
|
|
156
|
-
2. Planning: Comparing EWR success between scenarios (i.e. model runs)
|
|
157
|
-
|
|
158
|
-
**Support**
|
|
159
|
-
For issues relating to the script, a tutorial, or feedback please contact Lara Palmer at lara.palmer@mdba.gov.au, Martin Job at martin.job@mdba.gov.au, or Joel Bailey at joel.bailey@mdba.gov.au
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
**Disclaimer**
|
|
163
|
-
Every effort has been taken to ensure the EWR database represents the original EWRs from state long term water plans as best as possible, and that the code within this tool has been developed to interpret and analyse these EWRs in an accurate way. However, there may still be unresolved bugs in the database and/or EWR tool. Please report any bugs to the issues tab under this GitHub project so we can investigate further.
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
**Notes on development of the dataset of EWRs**
|
|
167
|
-
The MDBA has worked with NSW to ensure scientific robustness of EWRs has been maintained when translating from raw EWRs in the LTWPs to the machine readable format found in the dataset used by this tool.
|
|
168
|
-
|
|
169
|
-
**Compatibility**
|
|
170
|
-
|
|
171
|
-
NSW:
|
|
172
|
-
- All NSW catchments
|
|
173
|
-
|
|
174
|
-
Work is currently underway to migrate the EWRs in the remaining Basin catchments.
|
|
175
|
-
|
|
176
|
-
**Input data**
|
|
177
|
-
- EWR information: This tool accesses the EWRs in the Environmental Assets & Functions Database (EAFD)
|
|
178
|
-
- Climate data from the AWRA-L model
|
|
179
|
-
- Gauge data from the relevant state websites
|
|
180
|
-
- Scenario data input by the user
|
|
181
|
-
- Model metadata for location association between gauge ID's and model nodes
|
|
182
|
-
|
|
183
|
-
**Running the tool**
|
|
184
|
-
Consult the user manual for instructions on how to run the tool. Please email the above email addresses for a copy of the user manual.
|
|
185
|
-
|
|
186
|
-
**Climate sequence**
|
|
187
|
-
NSW Long Term Watering Plans (LTWP) define climate using the Resource Availability Scenarios (RAS). However, until this process can be completed the climate categories defined using outputs from the AWRA-L model will be used.
|
|
188
|
-
In the current version of the tool the climate sequence is not used.
|
|
189
|
-
|
|
190
|
-
|
py_ewr-2.0.0.dist-info/RECORD
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
py_ewr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
py_ewr/data_inputs.py,sha256=tBSqSwORvwCfBjgmrmx3XzVR7bA7rRvqjdi_jghQ_fk,26795
|
|
3
|
-
py_ewr/evaluate_EWRs.py,sha256=4xdoWkWi6w_eqtnzPPmLy9weVlL7Kk0HuPbbDvEInRo,273559
|
|
4
|
-
py_ewr/observed_handling.py,sha256=5ypCpthFuoTaHCMS5yYYoAC4tkUO9oFZW9H2n6s4xo8,18560
|
|
5
|
-
py_ewr/scenario_handling.py,sha256=PAILFIVIeC2sOPsYmCEULIDgzVxigVTlZ5Gl214kNS4,26493
|
|
6
|
-
py_ewr/summarise_results.py,sha256=smLSSdPc11G6dQuXcXrrDrM70IeyPUpB3o0LYJfA7DU,29983
|
|
7
|
-
py_ewr/climate_data/climate_cats.csv,sha256=6-kdl2LGZsaWewvF1_2MKg86xTi7FSQNFtv7ErHwCN0,21459
|
|
8
|
-
py_ewr/climate_data/climate_cats_10000year.csv,sha256=UJGVS_8K_vvGskcQ-qEKDlL-2LOcpp9N9xZr7IE3FBM,269220
|
|
9
|
-
py_ewr/model_metadata/SiteID_MDBA.csv,sha256=M4osmvCQq6PKuZEXw0Tk-Y1WmX5Tna3c5RGQdDPQrvE,158958
|
|
10
|
-
py_ewr/model_metadata/SiteID_NSW.csv,sha256=UVBxN43Z5KWCvWhQ5Rh6TNEn35q4_sjPxKyHg8wPFws,6805
|
|
11
|
-
py_ewr/parameter_metadata/ewr_calc_config.json,sha256=asKPuwx9tfwZ-7AK47tQb58j0-DnqvicbIyzLzrlEao,17558
|
|
12
|
-
py_ewr/parameter_metadata/parameter_sheet.csv,sha256=jF6qW9LDwvLxZdBuMfA6NJZ1l62AovIs2YNn8tj-mDk,617996
|
|
13
|
-
py_ewr-2.0.0.dist-info/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
|
|
14
|
-
py_ewr-2.0.0.dist-info/METADATA,sha256=GNlJ6OZRTLRmbPjLhT__XY6y8L5glvS7_EiAB2Kpsh4,6979
|
|
15
|
-
py_ewr-2.0.0.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
|
16
|
-
py_ewr-2.0.0.dist-info/top_level.txt,sha256=n3725d-64Cjyb-YMUMV64UAuIflzUh2_UZSxiIbrur4,7
|
|
17
|
-
py_ewr-2.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|