wxdata 2.1__tar.gz → 2.2__tar.gz

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.
Files changed (125) hide show
  1. {wxdata-2.1/src/wxdata.egg-info → wxdata-2.2}/PKG-INFO +351 -175
  2. {wxdata-2.1 → wxdata-2.2}/README.md +349 -173
  3. {wxdata-2.1 → wxdata-2.2}/pyproject.toml +2 -2
  4. {wxdata-2.1 → wxdata-2.2}/src/wxdata/__init__.py +52 -7
  5. wxdata-2.2/src/wxdata/airnow_api/__init__.py +1 -0
  6. wxdata-2.2/src/wxdata/airnow_api/_errors.py +25 -0
  7. wxdata-2.2/src/wxdata/airnow_api/observations.py +450 -0
  8. wxdata-2.2/src/wxdata/open_meteo_api/air_quality/__init__.py +1 -0
  9. wxdata-2.2/src/wxdata/open_meteo_api/air_quality/cams.py +168 -0
  10. wxdata-2.2/src/wxdata/open_meteo_api/climate/__init__.py +1 -0
  11. wxdata-2.2/src/wxdata/open_meteo_api/climate/climate_data.py +984 -0
  12. wxdata-2.2/src/wxdata/open_meteo_api/marine_forecasts/__init__.py +4 -0
  13. wxdata-2.2/src/wxdata/open_meteo_api/marine_forecasts/dwd.py +220 -0
  14. wxdata-2.2/src/wxdata/open_meteo_api/marine_forecasts/ecmwf.py +187 -0
  15. wxdata-2.2/src/wxdata/open_meteo_api/marine_forecasts/meteo_france.py +205 -0
  16. wxdata-2.2/src/wxdata/open_meteo_api/marine_forecasts/noaa.py +235 -0
  17. wxdata-2.2/src/wxdata/open_meteo_api/seasonal_forecasts/__init__.py +3 -0
  18. wxdata-2.2/src/wxdata/open_meteo_api/seasonal_forecasts/ecmwf_daily.py +1404 -0
  19. wxdata-2.2/src/wxdata/open_meteo_api/seasonal_forecasts/ecmwf_monthly.py +263 -0
  20. wxdata-2.2/src/wxdata/open_meteo_api/seasonal_forecasts/ecmwf_weekly.py +235 -0
  21. wxdata-2.2/src/wxdata/open_meteo_api/solar_radiation/__init__.py +1 -0
  22. wxdata-2.2/src/wxdata/open_meteo_api/solar_radiation/models.py +157 -0
  23. wxdata-2.2/src/wxdata/open_meteo_api/solar_radiation/solar_radiation.py +265 -0
  24. {wxdata-2.1 → wxdata-2.2}/src/wxdata/open_meteo_api/weather_forecasts/__init__.py +2 -1
  25. {wxdata-2.1 → wxdata-2.2}/src/wxdata/open_meteo_api/weather_forecasts/cmc.py +2 -2
  26. {wxdata-2.1 → wxdata-2.2}/src/wxdata/open_meteo_api/weather_forecasts/current_weather.py +1 -1
  27. {wxdata-2.1 → wxdata-2.2}/src/wxdata/open_meteo_api/weather_forecasts/dwd.py +4 -4
  28. {wxdata-2.1 → wxdata-2.2}/src/wxdata/open_meteo_api/weather_forecasts/ecmwf.py +6 -6
  29. wxdata-2.2/src/wxdata/open_meteo_api/weather_forecasts/google.py +718 -0
  30. {wxdata-2.1 → wxdata-2.2}/src/wxdata/open_meteo_api/weather_forecasts/jma.py +2 -2
  31. {wxdata-2.1 → wxdata-2.2}/src/wxdata/open_meteo_api/weather_forecasts/meteo_france.py +2 -2
  32. {wxdata-2.1 → wxdata-2.2}/src/wxdata/open_meteo_api/weather_forecasts/noaa.py +6 -6
  33. {wxdata-2.1 → wxdata-2.2}/src/wxdata/open_meteo_api/weather_forecasts/ukmo.py +2 -2
  34. {wxdata-2.1 → wxdata-2.2}/src/wxdata/post_processors/gfs_post_processing.py +9 -1
  35. {wxdata-2.1 → wxdata-2.2}/src/wxdata/soundings/wyoming_soundings.py +15 -5
  36. wxdata-2.1/src/wxdata/open_meteo_api/utils.py → wxdata-2.2/src/wxdata/utils/api.py +24 -2
  37. {wxdata-2.1 → wxdata-2.2/src/wxdata.egg-info}/PKG-INFO +351 -175
  38. {wxdata-2.1 → wxdata-2.2}/src/wxdata.egg-info/SOURCES.txt +21 -1
  39. {wxdata-2.1 → wxdata-2.2}/LICENSE +0 -0
  40. {wxdata-2.1 → wxdata-2.2}/setup.cfg +0 -0
  41. {wxdata-2.1 → wxdata-2.2}/src/wxdata/aigefs/__init__.py +0 -0
  42. {wxdata-2.1 → wxdata-2.2}/src/wxdata/aigefs/aigefs.py +0 -0
  43. {wxdata-2.1 → wxdata-2.2}/src/wxdata/aigefs/paths.py +0 -0
  44. {wxdata-2.1 → wxdata-2.2}/src/wxdata/aigefs/url_scanners.py +0 -0
  45. {wxdata-2.1 → wxdata-2.2}/src/wxdata/aigfs/__init__.py +0 -0
  46. {wxdata-2.1 → wxdata-2.2}/src/wxdata/aigfs/aigfs.py +0 -0
  47. {wxdata-2.1 → wxdata-2.2}/src/wxdata/aigfs/paths.py +0 -0
  48. {wxdata-2.1 → wxdata-2.2}/src/wxdata/aigfs/url_scanners.py +0 -0
  49. {wxdata-2.1 → wxdata-2.2}/src/wxdata/calc/__init__.py +0 -0
  50. {wxdata-2.1 → wxdata-2.2}/src/wxdata/calc/derived_fields.py +0 -0
  51. {wxdata-2.1 → wxdata-2.2}/src/wxdata/calc/kinematics.py +0 -0
  52. {wxdata-2.1 → wxdata-2.2}/src/wxdata/calc/thermodynamics.py +0 -0
  53. {wxdata-2.1 → wxdata-2.2}/src/wxdata/calc/unit_conversion.py +0 -0
  54. {wxdata-2.1 → wxdata-2.2}/src/wxdata/cfs/__init__.py +0 -0
  55. {wxdata-2.1 → wxdata-2.2}/src/wxdata/cfs/cfs.py +0 -0
  56. {wxdata-2.1 → wxdata-2.2}/src/wxdata/cfs/file_scanner.py +0 -0
  57. {wxdata-2.1 → wxdata-2.2}/src/wxdata/cfs/url_scanners.py +0 -0
  58. {wxdata-2.1 → wxdata-2.2}/src/wxdata/client/__init__.py +0 -0
  59. {wxdata-2.1 → wxdata-2.2}/src/wxdata/client/byte_range.py +0 -0
  60. {wxdata-2.1 → wxdata-2.2}/src/wxdata/client/client.py +0 -0
  61. {wxdata-2.1 → wxdata-2.2}/src/wxdata/client/level_coords.py +0 -0
  62. {wxdata-2.1 → wxdata-2.2}/src/wxdata/ecmwf/__init__.py +0 -0
  63. {wxdata-2.1 → wxdata-2.2}/src/wxdata/ecmwf/ecmwf.py +0 -0
  64. {wxdata-2.1 → wxdata-2.2}/src/wxdata/ecmwf/file_funcs.py +0 -0
  65. {wxdata-2.1 → wxdata-2.2}/src/wxdata/ecmwf/keys.py +0 -0
  66. {wxdata-2.1 → wxdata-2.2}/src/wxdata/ecmwf/parsers.py +0 -0
  67. {wxdata-2.1 → wxdata-2.2}/src/wxdata/ecmwf/paths.py +0 -0
  68. {wxdata-2.1 → wxdata-2.2}/src/wxdata/ecmwf/url_scanners.py +0 -0
  69. {wxdata-2.1 → wxdata-2.2}/src/wxdata/fems/__init__.py +0 -0
  70. {wxdata-2.1 → wxdata-2.2}/src/wxdata/fems/meta_data.py +0 -0
  71. {wxdata-2.1 → wxdata-2.2}/src/wxdata/fems/observations.py +0 -0
  72. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gefs/__init__.py +0 -0
  73. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gefs/exception_messages.py +0 -0
  74. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gefs/file_funcs.py +0 -0
  75. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gefs/gefs.py +0 -0
  76. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gefs/paths.py +0 -0
  77. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gefs/url_scanners.py +0 -0
  78. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gfs/__init__.py +0 -0
  79. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gfs/exception_messages.py +0 -0
  80. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gfs/gfs.py +0 -0
  81. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gfs/paths.py +0 -0
  82. {wxdata-2.1 → wxdata-2.2}/src/wxdata/gfs/url_scanners.py +0 -0
  83. {wxdata-2.1 → wxdata-2.2}/src/wxdata/hgefs/__init__.py +0 -0
  84. {wxdata-2.1 → wxdata-2.2}/src/wxdata/hgefs/hgefs.py +0 -0
  85. {wxdata-2.1 → wxdata-2.2}/src/wxdata/hgefs/paths.py +0 -0
  86. {wxdata-2.1 → wxdata-2.2}/src/wxdata/hgefs/url_scanner.py +0 -0
  87. {wxdata-2.1 → wxdata-2.2}/src/wxdata/metars/__init__.py +0 -0
  88. {wxdata-2.1 → wxdata-2.2}/src/wxdata/metars/_clean_data.py +0 -0
  89. {wxdata-2.1 → wxdata-2.2}/src/wxdata/metars/metar_obs.py +0 -0
  90. {wxdata-2.1 → wxdata-2.2}/src/wxdata/noaa/__init__.py +0 -0
  91. {wxdata-2.1 → wxdata-2.2}/src/wxdata/noaa/nws.py +0 -0
  92. {wxdata-2.1 → wxdata-2.2}/src/wxdata/post_processors/__init__.py +0 -0
  93. {wxdata-2.1 → wxdata-2.2}/src/wxdata/post_processors/aigefs_post_processing.py +0 -0
  94. {wxdata-2.1 → wxdata-2.2}/src/wxdata/post_processors/aigfs_post_processing.py +0 -0
  95. {wxdata-2.1 → wxdata-2.2}/src/wxdata/post_processors/cfs_post_processing.py +0 -0
  96. {wxdata-2.1 → wxdata-2.2}/src/wxdata/post_processors/ecmwf_post_processing.py +0 -0
  97. {wxdata-2.1 → wxdata-2.2}/src/wxdata/post_processors/gefs_post_processing.py +0 -0
  98. {wxdata-2.1 → wxdata-2.2}/src/wxdata/post_processors/hgefs_post_processing.py +0 -0
  99. {wxdata-2.1 → wxdata-2.2}/src/wxdata/post_processors/rtma_post_processing.py +0 -0
  100. {wxdata-2.1 → wxdata-2.2}/src/wxdata/radar/__init__.py +0 -0
  101. {wxdata-2.1 → wxdata-2.2}/src/wxdata/radar/nexrad2.py +0 -0
  102. {wxdata-2.1 → wxdata-2.2}/src/wxdata/radar/url_scanner.py +0 -0
  103. {wxdata-2.1 → wxdata-2.2}/src/wxdata/rtma/__init__.py +0 -0
  104. {wxdata-2.1 → wxdata-2.2}/src/wxdata/rtma/file_funcs.py +0 -0
  105. {wxdata-2.1 → wxdata-2.2}/src/wxdata/rtma/file_scanner.py +0 -0
  106. {wxdata-2.1 → wxdata-2.2}/src/wxdata/rtma/keys.py +0 -0
  107. {wxdata-2.1 → wxdata-2.2}/src/wxdata/rtma/rtma.py +0 -0
  108. {wxdata-2.1 → wxdata-2.2}/src/wxdata/rtma/url_scanners.py +0 -0
  109. {wxdata-2.1 → wxdata-2.2}/src/wxdata/soundings/__init__.py +0 -0
  110. {wxdata-2.1 → wxdata-2.2}/src/wxdata/soundings/_exceptions.py +0 -0
  111. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/__init__.py +0 -0
  112. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/coords.py +0 -0
  113. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/exceptions.py +0 -0
  114. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/file_funcs.py +0 -0
  115. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/file_scanner.py +0 -0
  116. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/nomads_gribfilter.py +0 -0
  117. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/progress_bar.py +0 -0
  118. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/recycle_bin.py +0 -0
  119. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/scripts.py +0 -0
  120. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/tools.py +0 -0
  121. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/warnings.py +0 -0
  122. {wxdata-2.1 → wxdata-2.2}/src/wxdata/utils/xmacis2_cleanup.py +0 -0
  123. {wxdata-2.1 → wxdata-2.2}/src/wxdata.egg-info/dependency_links.txt +0 -0
  124. {wxdata-2.1 → wxdata-2.2}/src/wxdata.egg-info/requires.txt +0 -0
  125. {wxdata-2.1 → wxdata-2.2}/src/wxdata.egg-info/top_level.txt +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wxdata
3
- Version: 2.1
3
+ Version: 2.2
4
4
  Summary: A Python package of end-to-end weather data clients & raw data clients with VPN/PROXY support, data processors that decode variable keys from GRIB format into a plain-language format & various tools for assisting Python automated workflows, querying meteorological datasets and filling gaps in meteorological data.
5
5
  Author: Eric J. Drewitz
6
- Project-URL: Documentation, https://github.com/edrewitz/wxdata/blob/main/Documentation/Landing%20Page.md
6
+ Project-URL: Documentation, https://github.com/edrewitz/WxData/wiki
7
7
  Project-URL: Repository, https://github.com/edrewitz/wxdata/tree/main
8
8
  Keywords: meteorology,atmospheric sciences
9
9
  Classifier: Programming Language :: Python
@@ -30,8 +30,6 @@ Requires-Dist: openpyxl>=3.1.5
30
30
  Requires-Dist: arm-pyart>=2.2.0
31
31
  Dynamic: license-file
32
32
 
33
- # WxData
34
-
35
33
  <img src="https://github.com/edrewitz/WxData/blob/main/icons/weather%20icon.jpg?raw=true" width="200" alt="Alt text" /> <img src="https://github.com/edrewitz/WxData/blob/1be590e9a16033974a592d8cf99f3cd521f95e0b/icons/python%20logo.png?raw=true" width="200" alt="Alt text" />
36
34
 
37
35
  [![Conda Recipe](https://img.shields.io/badge/recipe-wxdata-green.svg)](https://anaconda.org/conda-forge/wxdata) [![Conda Version](https://img.shields.io/conda/vn/conda-forge/wxdata.svg)](https://anaconda.org/conda-forge/wxdata) [![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/wxdata.svg)](https://anaconda.org/conda-forge/wxdata) ![PyPI](https://img.shields.io/pypi/v/wxdata?label=pypi%20wxdata) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/wxdata/badges/license.svg)](https://anaconda.org/conda-forge/wxdata) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/wxdata/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/wxdata)
@@ -47,7 +45,7 @@ Anaconda Downloads
47
45
 
48
46
  PIP Downloads:
49
47
 
50
- ![PyPI - Downloads](https://img.shields.io/pypi/dm/wxdata)
48
+ [![PyPI Downloads](https://static.pepy.tech/personalized-badge/wxdata?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads)](https://pepy.tech/projects/wxdata)
51
49
 
52
50
 
53
51
 
@@ -59,18 +57,27 @@ A Python package consisting of the following:
59
57
  2) Raw data clients with VPN/PROXY support
60
58
  3) Data processors that decode variable keys from GRIB format into a plain-language format
61
59
  4) Various tools for assisting Python automated workflows, querying meteorological datasets and filling gaps in meteorological data.
60
+ 5) Has interfaces with various weather APIs.
62
61
 
63
62
  # Table of Contents
64
63
 
65
- 1) [Installation Instructions](https://github.com/edrewitz/WxData?tab=readme-ov-file#installation-instructions)
66
- 2) [Server List (For End-To-End Clients That Can Rotate Between Servers)](https://github.com/edrewitz/WxData/blob/main/README.md#server-list)
67
- 3) [Proxy Server Configuration](https://github.com/edrewitz/WxData?tab=readme-ov-file#proxy-server-configuration)
68
- 4) [What makes WxData unique among various meteorological Python packages?](https://github.com/edrewitz/WxData?tab=readme-ov-file#what-makes-wxdata-unique-among-various-meteorological-python-packages)
69
- 5) [WxData Tutorials](https://github.com/edrewitz/WxData?tab=readme-ov-file#wxdata-tutorials)
70
- 6) [WxData Documentation](https://github.com/edrewitz/WxData?tab=readme-ov-file#wxdata-documentation)
71
- 7) [Importing Functions from WxData](https://github.com/edrewitz/WxData?tab=readme-ov-file#importing-functions-from-wxdata)
72
- 8) [Citations](https://github.com/edrewitz/WxData?tab=readme-ov-file#citations)
73
- 9) [Data Sources](https://github.com/edrewitz/WxData?tab=readme-ov-file#data-sources)
64
+ 1) [Installation Instructions](https://edrewitz.github.io/WxData/#installation-instructions)
65
+
66
+ 2) [Server List (For End-To-End Clients That Can Rotate Between Servers)](https://edrewitz.github.io/WxData/#server-list)
67
+
68
+ 3) [Proxy Server Configuration](https://edrewitz.github.io/WxData/#proxy-server-configuration)
69
+
70
+ 4) [What makes WxData unique among various meteorological Python packages?](https://edrewitz.github.io/WxData/#what-makes-wxdata-unique-among-various-meteorological-python-packages)
71
+
72
+ 5) [WxData Tutorials](https://edrewitz.github.io/WxData/#wxdata-tutorials)
73
+
74
+ 6) [WxData Documentation](https://edrewitz.github.io/WxData/#wxdata-documentation)
75
+
76
+ 7) [Importing Functions from WxData](https://edrewitz.github.io/WxData/#importing-functions-from-wxdata)
77
+
78
+ 8) [Citations](https://edrewitz.github.io/WxData/#citations)
79
+
80
+ 9) [Data Sources]()
74
81
 
75
82
 
76
83
  ## Installation Instructions
@@ -83,6 +90,10 @@ Copy and paste either command into your terminal or anaconda prompt:
83
90
 
84
91
  `conda install wxdata`
85
92
 
93
+ OR
94
+
95
+ `mamba install wxdata`
96
+
86
97
  *Install via pip*
87
98
 
88
99
  `pip install wxdata`
@@ -97,6 +108,10 @@ Copy and paste either command into your terminal or anaconda prompt:
97
108
 
98
109
  `conda update wxdata`
99
110
 
111
+ OR
112
+
113
+ `mamba update wxdata`
114
+
100
115
  *Update via pip*
101
116
 
102
117
  ***This is for users who initially installed WxData through pip***
@@ -168,23 +183,44 @@ End-To-End clients with multiple servers to pull data from can find the differen
168
183
 
169
184
  All other clients use proxies as a dictionary
170
185
 
171
- Example: We want to download the latest Observed Sounding Data for San Diego, CA (NKX)
172
-
173
- proxies=None ---> proxies={
174
- 'http':'http://your-proxy-address:port',
175
- 'https':'http://your-proxy-address:port'
176
- }
177
-
178
- sounding_data = get_observed_sounding_data('nkx', proxies=proxies)
179
-
180
- Example: We want to download the ECMWF IFS Data:
181
-
182
- proxies=None ---> proxies="http://your-proxy-address:port" ---> ds = ecmwf_ifs(proxies=proxies)
186
+ Example: We want to download the latest Observed Sounding Data for San Diego, CA (NKX)
187
+
188
+ ```python
189
+ proxies=None ---> proxies={
190
+ 'http':'http://your-proxy-address:port',
191
+ 'https':'http://your-proxy-address:port'
192
+ }
193
+ ```
194
+ ```python
195
+ # Here is our program
196
+ from wxdata import get_observed_sounding_data
197
+
198
+ proxies={
199
+ 'http':'http://your-proxy-address:port',
200
+ 'https':'http://your-proxy-address:port'
201
+ }
202
+
203
+ data = sounding_data = get_observed_sounding_data('nkx', proxies=proxies)
204
+ ```
205
+
206
+ Example: We want to download the ECMWF IFS Data:
207
+
208
+ ```python
209
+ proxies=None ---> proxies="http://your-proxy-address:port" ---> ds = ecmwf_ifs(proxies=proxies)
210
+ ```
211
+ ```python
212
+ # Here is our program
213
+ from wxdata import get_observed_sounding_data
214
+
215
+ proxies="https://your-proxy-address:port"
216
+
217
+ data = ecmwf_ifs(proxies=proxies)
218
+ ```
183
219
 
184
220
  <img src="https://github.com/edrewitz/WxData/blob/main/diagrams/proxy.png?raw=true" width="500" alt="Alt text" />
185
221
 
186
222
 
187
- For more information on configuring proxies: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
223
+ For more information on configuring proxies: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
188
224
 
189
225
  ---------------------------------------------------------------------
190
226
 
@@ -220,7 +256,7 @@ End-To-End clients with multiple servers to pull data from can find the differen
220
256
 
221
257
  ## WxData Tutorials
222
258
 
223
- *Regular Users*
259
+ ### Regular Users
224
260
  1) [Downloading METAR Data](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/metars.ipynb)
225
261
  2) [Downloading Observed Sounding Data](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/soundings.ipynb)
226
262
  3) [Downloading the first 72 hours of the ECMWF IFS and ECMWF AIFS](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/ecmwf.ipynb)
@@ -229,31 +265,52 @@ End-To-End clients with multiple servers to pull data from can find the differen
229
265
  6) [Downloading the SPC Convective Outlook for CONUS](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/spc.ipynb)
230
266
  7) [Downloading NWS Maximum Temperature Forecast for Hawaii](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/nws_hi.ipynb)
231
267
  8) [Downloading the GFS0P25 then performing pixel and line queries on the data](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/GFS.ipynb)
268
+
232
269
  9) [Downloading various datasets from the Applied Climate Information System (ACIS)](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/xmacis2.ipynb)
270
+
233
271
  10) [Downloading AIGFS Data](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/aigfs.ipynb)
272
+
234
273
  11) [Downloading AIGEFS Data](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/aigefs.ipynb)
274
+
235
275
  12) [Downloading and plotting the Climate Prediction Center 6-10 Day Precipitation Outlook](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/cpc_precip_outlook.ipynb)
276
+
236
277
  13) [Downloading OUN Sounding Data and Using The WxData Linear Anti Aliasing Tool To Interpolate 100 Points Between Each Observed Data Point And Visualize Both Data Sets](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/linear_anti_aliasing.ipynb)
278
+
237
279
  14) [Downloading Subsets Of ECMWF IFS Ensemble and AIFS Ensemble Data](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/ecmwf_ens.ipynb)
280
+
238
281
  15) [Downloading the ECMWF IFS 500 mb Geopotential Height Initial Analysis And Plot A North Pole Stereographic Resolving The Meridian With The WxData Cyclic Point Tool](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/cyclic.ipynb)
282
+
239
283
  16) [Downloading Observed Fuels Data For The Past Year For Acton RAWS and Plotting 1000-HR Dead Fuel Moisture](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/acton_raws.ipynb)
284
+
240
285
  17) [Downloading the 7-Day NFDRS Forecast for Acton RAWS and Plotting Forecast 100-HR Dead Fuel Moisture](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/acton_raws_forecast.ipynb)
286
+
241
287
  18) [Downloading Current RAWS and METAR Data and Plotting Current Relative Humidity Observations Across California and Nevada](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/metar_raws_observed_rh.ipynb)
288
+
242
289
  19) [Downloading Current RAWS Data and Plotting Current Energy Release Components (ERCs) Observations Across California and Nevada](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/observed_erc_map.ipynb)
290
+
243
291
  20) [Downloading NEXRAD II Radar Data and then plotting it in Py-ART](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/NEXRADII.ipynb)
292
+
244
293
  21) [Downloading 30 Days of 6hrly CFS Data and plotting the 30-Day time-mean for mean sea level pressure across the Northern Hemisphere](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/cfs.ipynb)
294
+
245
295
  22) [Download all 50 Ensemble Members of the ECMWF IFS Ensemble for 2-Meter Temperature Using the Open-Meteo API and Make an Ensemble Spaghetti Plot](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/ecmwf_ifs_ens_spaghetti.ipynb)
246
296
 
247
- *Advanced Users*
297
+ 23) [Download Solar Radiation Forecasts Using Open-Meteo API](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/open_meteo_api_solar_radiation.ipynb)
298
+
299
+ 24) [Download Latest Fine Particulates (PM2.5) and Ozone (O3) Observations Using Air Now API](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/air_now_api.ipynb)
300
+
301
+ ### Advanced Users
302
+
248
303
  1) [Using the `client` module to download the latest HadCRUT5 Analysis netCDF file and open this dataset in xarray](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/hadcrut5.ipynb)
304
+
249
305
  2) [Downloading the GFS0P25 for temperature fields and using run_external_scripts() to post-process this GFS0P25 dataset in an external Python script](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/external_scripts.ipynb)
306
+
250
307
  3) [Downloading GFS Data Using Byte-Range Requests](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/bytes_range_request.ipynb)
251
308
 
252
309
  ---------------------------------------------------
253
310
 
254
311
  ## WxData Documentation
255
312
 
256
- ***Documentation Sections***
313
+ ### Documentation Sections
257
314
 
258
315
  1. [End-To-End Data Clients](https://github.com/edrewitz/WxData?tab=readme-ov-file#end-to-end-data-clients)
259
316
  2. [Raw Data Clients](https://github.com/edrewitz/WxData?tab=readme-ov-file#raw-data-clients)
@@ -263,200 +320,262 @@ End-To-End clients with multiple servers to pull data from can find the differen
263
320
  6. [Automated Python Workflow Tools](https://github.com/edrewitz/WxData?tab=readme-ov-file#automated-python-workflow-tools)
264
321
  7. [Open-Meteo API](https://github.com/edrewitz/WxData/blob/main/README.md#open-meteo-api)
265
322
 
266
- ### End-To-End Data Clients
323
+ #### End-To-End Data Clients
267
324
 
268
- ***Global Forecast System (GFS)***
269
- 1. [GFS0P25](https://github.com/edrewitz/WxData/blob/main/Documentation/GFS0P25.md)
270
- 2. [GFS0P25 SECONDARY PARAMETERS](https://github.com/edrewitz/WxData/blob/main/Documentation/GFS0P25%20Secondary%20Parameters.md)
271
- 3. [GFS0P50](https://github.com/edrewitz/WxData/blob/main/Documentation/GEFS0P50.md)
325
+ ##### ***Global Forecast System (GFS)***
326
+ 1. [GFS0P25](https://edrewitz.github.io/WxData/GFS0P25)
327
+ 2. [GFS0P25 SECONDARY PARAMETERS](https://edrewitz.github.io/WxData/GFS0P25%20Secondary%20Parameters)
328
+ 3. [GFS0P50](https://edrewitz.github.io/WxData/GFS0P50)
272
329
 
273
- ***AI Global Forecast System (AIGFS)***
274
- 1. [AIGFS](https://github.com/edrewitz/WxData/blob/main/Documentation/aigfs.md)
330
+ ##### ***AI Global Forecast System (AIGFS)***
331
+ 1. [AIGFS](https://edrewitz.github.io/WxData/aigfs)
275
332
 
276
- ***Climate Forecast System (CFS)***
277
- 1. [CFS Pressure](https://github.com/edrewitz/WxData/blob/main/Documentation/cfs_pressure.md#climate-forecast-system-cfs-pressure)
278
- 2. [CFS Flux](https://github.com/edrewitz/WxData/blob/main/Documentation/cfs_flux.md#climate-forecast-system-cfs-flux)
333
+ ##### ***Climate Forecast System (CFS)***
334
+ 1. [CFS Pressure](https://edrewitz.github.io/WxData/cfs_pressure)
335
+ 2. [CFS Flux](https://edrewitz.github.io/WxData/cfs_flux)
279
336
 
280
- ***Hybrid Global Ensemble Forecast System (HGEFS)***
281
- 1. [HGEFS](https://github.com/edrewitz/WxData/blob/main/Documentation/hgefs.md#hybrid-global-ensemble-forecast-system-hgefs)
337
+ ##### ***Hybrid Global Ensemble Forecast System (HGEFS)***
338
+ 1. [HGEFS](https://edrewitz.github.io/WxData/hgefs)
282
339
 
283
- ***Global Ensemble Forecast System (GEFS)***
284
- 1. [GEFS0P50](https://github.com/edrewitz/wxdata/blob/main/Documentation/GEFS0P50.md#global-ensemble-forecast-system-050-x-050-degree-gefs0p50)
285
- 2. [GEFS0P50 SECONDARY PARAMETERS](https://github.com/edrewitz/wxdata/blob/main/Documentation/GEFS0P50%20Secondary%20Parameters.md#global-ensemble-forecast-system-050-x-050-degree-secondary-parameters-gefs0p50-secondary-parameters)
286
- 3. [GEFS0P25](https://github.com/edrewitz/wxdata/blob/main/Documentation/GEFS0P25.md#global-ensemble-forecast-system-025-x-025-degree-gefs0p25)
340
+ ##### ***Global Ensemble Forecast System (GEFS)***
341
+ 1. [GEFS0P50](https://edrewitz.github.io/WxData/GEFS0P50)
342
+ 2. [GEFS0P50 SECONDARY PARAMETERS](https://edrewitz.github.io/WxData/GEFS0P50%20Secondary%20Parameters)
343
+ 3. [GEFS0P25](https://edrewitz.github.io/WxData/GEFS0P25)
287
344
 
288
- ***AI Global Ensemble Forecast System (AIGEFS)***
289
- 1. [AIGEFS Members (Pressure Parameters)](https://github.com/edrewitz/WxData/blob/main/Documentation/aigefs_pressure_members.md)
290
- 2. [AIGEFS Members (Surface Parameters)](https://github.com/edrewitz/WxData/blob/main/Documentation/aigefs_surface_members.md)
291
- 3. [AIGEFS Ensemble Mean & Ensemble Spread](https://github.com/edrewitz/WxData/blob/main/Documentation/aigefs_single.md)
345
+ ##### ***AI Global Ensemble Forecast System (AIGEFS)***
346
+ 1. [AIGEFS Members (Pressure Parameters)](https://edrewitz.github.io/WxData/aigefs_pressure_members)
347
+ 2. [AIGEFS Members (Surface Parameters)](https://edrewitz.github.io/WxData/aigefs_surface_members)
348
+ 3. [AIGEFS Ensemble Mean & Ensemble Spread](https://edrewitz.github.io/WxData/aigefs_single)
292
349
 
293
- ***ECMWF Open Data***
294
- 1. [ECMWF IFS](https://github.com/edrewitz/WxData/blob/main/Documentation/ECMWF_IFS.md)
295
- 2. [ECMWF IFS Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/ECMWF%20IFS%20Ensemble.md#ecmwf-ifs-ensemble)
296
- 3. [ECMWF AIFS](https://github.com/edrewitz/WxData/blob/main/Documentation/ECMWF_AIFS.md)
297
- 4. [ECMWF AIFS Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/ECMWF%20AIFS%20Ensemble.md#ecmwf-aifs-ensemble)
298
- 5. [ECMWF IFS Wave](https://github.com/edrewitz/WxData/blob/main/Documentation/ECMWF_IFS_Wave.md)
299
- 6. [ECMWF IFS Wave Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/ECMWF%20IFS%20Wave%20Ensemble.md#ecmwf-ifs-wave-ensemble)
350
+ ##### ***ECMWF Open Data***
351
+ 1. [ECMWF IFS](https://edrewitz.github.io/WxData/ECMWF_IFS)
352
+ 2. [ECMWF IFS Ensemble](https://edrewitz.github.io/WxData/ECMWF%20IFS%20Ensemble)
353
+ 3. [ECMWF AIFS](https://edrewitz.github.io/WxData/ECMWF_AIFS)
354
+ 4. [ECMWF AIFS Ensemble](https://edrewitz.github.io/WxData/ECMWF%20AIFS%20Ensemble)
355
+ 5. [ECMWF IFS Wave](https://edrewitz.github.io/WxData/ECMWF_IFS_Wave)
356
+ 6. [ECMWF IFS Wave Ensemble](https://edrewitz.github.io/WxData/ECMWF%20IFS%20Wave%20Ensemble)
300
357
 
301
- ***Real-Time Mesoscale Analysis (RTMA)***
302
- 1. [RTMA](https://github.com/edrewitz/wxdata/blob/main/Documentation/rtma.md#real-time-mesoscale-analysis-rtma)
303
- 2. [RTMA Comparison](https://github.com/edrewitz/WxData/blob/main/Documentation/rtma%20comparison.md#real-time-mesoscale-analysis-rtma-comparison)
304
-
305
- ***NOAA Storm Prediction Center Outlooks/Climate Prediction Center Outlooks/National Weather Service Forecasts***
306
- 1. [Get NDFD Grids](https://github.com/edrewitz/wxdata/blob/main/Documentation/noaa.md#noaa-get-storm-prediction-center-outlooks-and-national-weather-service-forecasts-ndfd-grids)
307
- 2. [Climate Prediction Center Outlooks](https://github.com/edrewitz/WxData/blob/main/Documentation/cpc_outlooks.md#noaanws-climate-prediction-center-outlooks)
308
-
309
- ***METAR Observations***
310
- 1. [METAR Observations](https://github.com/edrewitz/wxdata/blob/main/Documentation/metars.md#metar-observations)
311
-
312
- ***FEMS RAWS Network***
313
- 1. [Get Single Station Weather Observations](https://github.com/edrewitz/WxData/blob/main/Documentation/single%20raws%20weather%20obs.md#fems-single-raws-station-weather-observations)
314
- 2. [Get Single Station Fuels Observations](https://github.com/edrewitz/WxData/blob/main/Documentation/single%20raws%20fuels%20obs.md#fems-single-raws-station-fuels-observations)
315
- 3. [Get Multi Station Weather Observations](https://github.com/edrewitz/WxData/blob/main/Documentation/multi%20raws%20weather%20obs.md#fems-multi-raws-station-weather-observations)
316
- 4. [Get Multi Station Fuels Observations](https://github.com/edrewitz/WxData/blob/main/Documentation/multi%20raws%20fuels%20obs.md#fems-multi-raws-station-fuels-observations)
317
- 5. [Get Current Multi Station Weather Observations](https://github.com/edrewitz/WxData/blob/main/Documentation/current%20multi%20raws%20weather%20obs.md#fems-multi-raws-station-current-weather-observations)
318
- 6. [Get Current Multi Station Fuels Observations](https://github.com/edrewitz/WxData/blob/main/Documentation/current%20multi%20raws%20fuels%20obs.md#fems-multi-raws-station-current-fuels-observations)
319
- 7. [Get Current Multi Station Weather Observations By State](https://github.com/edrewitz/WxData/blob/main/Documentation/raws%20weather%20obs%20by%20state.md#fems-raws-station-current-weather-observations-by-state)
320
- 8. [Get Current Multi Station Fuels Observations By State](https://github.com/edrewitz/WxData/blob/main/Documentation/raws%20fuels%20obs%20by%20state.md#fems-raws-station-current-fuels-observations-by-state)
321
- 9. [Get Single Station Weather Forecast](https://github.com/edrewitz/WxData/blob/main/Documentation/single%20raws%20weather%20forecast.md#fems-single-raws-station-weather-forecast)
322
- 10. [Get Single Station NFDRS (Fuels) Forecast](https://github.com/edrewitz/WxData/blob/main/Documentation/single%20raws%20nfdrs%20forecast.md#fems-single-raws-station-nfdrs-fuels-forecast)
323
- 11. [Get Multi Station Weather Forecast](https://github.com/edrewitz/WxData/blob/main/Documentation/multi%20raws%20weather%20forecast.md#fems-multi-raws-station-weather-forecast)
324
- 12. [Get Multi Station NFDRS (Fuels) Forecast](https://github.com/edrewitz/WxData/blob/main/Documentation/multi%20raws%20nfdrs%20forecast.md#fems-multi-raws-station-nfdrs-fuels-forecast)
325
- 13. [Get Single Station Meta-Data](https://github.com/edrewitz/WxData/blob/main/Documentation/raws%20single%20station%20meta%20data.md#fems-single-raws-station-meta-data)
326
- 14. [Get Multi Station Meta-Data](https://github.com/edrewitz/WxData/blob/main/Documentation/raws%20multi%20station%20meta%20data.md#fems-multi-raws-station-meta-data)
327
-
328
- ***Observed Atmospheric Soundings***
329
- 1. [University Of Wyoming Soundings](https://github.com/edrewitz/wxdata/blob/main/Documentation/wyoming_soundings.md)
330
-
331
- ***NEXRAD II Radar Data***
332
- 1. [Single Site](https://github.com/edrewitz/WxData/blob/main/Documentation/nexrad2_single.md#nexrad-ii-single-radar)
333
- 2. [Multi-Site](https://github.com/edrewitz/WxData/blob/main/Documentation/nexrad2_multi.md#nexrad-ii-multi-radar)
358
+ ##### ***Real-Time Mesoscale Analysis (RTMA)***
359
+ 1. [RTMA](https://edrewitz.github.io/WxData/rtma)
360
+ 2. [RTMA Comparison](https://edrewitz.github.io/WxData/rtma%20comparison)
361
+
362
+ ##### ***NOAA Storm Prediction Center Outlooks/Climate Prediction Center Outlooks/National Weather Service Forecasts***
363
+ 1. [Get NDFD Grids](https://edrewitz.github.io/WxData/noaa)
364
+ 2. [Climate Prediction Center Outlooks](https://edrewitz.github.io/WxData/cpc_outlooks)
365
+
366
+ ##### ***METAR Observations***
367
+ 1. [METAR Observations](https://edrewitz.github.io/WxData/metars)
368
+
369
+ ##### ***FEMS RAWS Network***
370
+ 1. [Get Single Station Weather Observations](https://edrewitz.github.io/WxData/single%20raws%20weather%20obs)
371
+ 2. [Get Single Station Fuels Observations](https://edrewitz.github.io/WxData/single%20raws%20fuels%20obs)
372
+ 3. [Get Multi Station Weather Observations](https://edrewitz.github.io/WxData/multi%20raws%20weather%20obs)
373
+ 4. [Get Multi Station Fuels Observations](https://edrewitz.github.io/WxData/multi%20raws%20fuels%20obs)
374
+ 5. [Get Current Multi Station Weather Observations](https://edrewitz.github.io/WxData/current%20multi%20raws%20weather%20obs)
375
+ 6. [Get Current Multi Station Fuels Observations](https://edrewitz.github.io/WxData/current%20multi%20raws%20fuels%20obs)
376
+ 7. [Get Current Multi Station Weather Observations By State](https://edrewitz.github.io/WxData/raws%20weather%20obs%20by%20state)
377
+ 8. [Get Current Multi Station Fuels Observations By State](https://edrewitz.github.io/WxData/raws%20fuels%20obs%20by%20state)
378
+ 9. [Get Single Station Weather Forecast](https://edrewitz.github.io/WxData/single%20raws%20weather%20forecast)
379
+ 10. [Get Single Station NFDRS (Fuels) Forecast](https://edrewitz.github.io/WxData/single%20raws%20nfdrs%20forecast)
380
+ 11. [Get Multi Station Weather Forecast](https://edrewitz.github.io/WxData/multi%20raws%20weather%20forecast)
381
+ 12. [Get Multi Station NFDRS (Fuels) Forecast](https://edrewitz.github.io/WxData/multi%20raws%20nfdrs%20forecast)
382
+ 13. [Get Single Station Meta-Data](https://edrewitz.github.io/WxData/raws%20single%20station%20meta%20data)
383
+ 14. [Get Multi Station Meta-Data](https://edrewitz.github.io/WxData/raws%20multi%20station%20meta%20data)
384
+
385
+ ##### ***Observed Atmospheric Soundings***
386
+ 1. [University Of Wyoming Soundings](https://edrewitz.github.io/WxData/wyoming_soundings)
387
+
388
+ ##### ***NEXRAD II Radar Data***
389
+ 1. [Single Site](https://edrewitz.github.io/WxData/nexrad2_single)
390
+ 2. [Multi-Site](https://edrewitz.github.io/WxData/nexrad2_multi)
334
391
 
335
392
  -----------------------------
336
393
 
337
- ### Post-Processors
394
+ #### Post-Processors
338
395
 
339
- ***GFS Post-Processing***
340
- 1. [Primary GFS Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/Primary%20GFS%20Post%20Processing.md)
341
- 2. [Secondary GFS Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/Secondary%20GFS%20Post%20Processing.md)
396
+ ##### ***GFS Post-Processing***
397
+ 1. [Primary GFS Post-Processing](https://edrewitz.github.io/WxData/Primary%20GFS%20Post%20Processing)
398
+ 2. [Secondary GFS Post-Processing](https://edrewitz.github.io/WxData/Secondary%20GFS%20Post%20Processing)
342
399
 
343
- ***AIGFS Post-Processing***
344
- 1. [AIGFS Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/aigfs_post_processing.md)
400
+ ##### ***AIGFS Post-Processing***
401
+ 1. [AIGFS Post-Processing](https://edrewitz.github.io/WxData/aigfs_post_processing)
345
402
 
346
- ***CFS Post-Processing***
347
- 1. [CFS Pressure Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/cfs_pressure_post_processing.md#climate-forecast-system-cfs-pressure-post-processing)
348
- 2. [CFS Flux Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/cfs_flux_post_processing.md#climate-forecast-system-cfs-flux-post-processing)
403
+ ##### ***CFS Post-Processing***
404
+ 1. [CFS Pressure Post-Processing](https://edrewitz.github.io/WxData/cfs_pressure_post_processing)
405
+ 2. [CFS Flux Post-Processing](https://edrewitz.github.io/WxData/cfs_flux_post_processing)
349
406
 
350
- ***GEFS Post-Processing***
351
- 1. [Primary GEFS Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/Primary%20GEFS%20Post-Processing.md)
352
- 2. [Secondary GEFS Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/Secondary%20GEFS%20Post%20Processing.md)
407
+ ##### ***GEFS Post-Processing***
408
+ 1. [Primary GEFS Post-Processing](https://edrewitz.github.io/WxData/Primary%20GEFS%20Post-Processing)
409
+ 2. [Secondary GEFS Post-Processing](https://edrewitz.github.io/WxData/Secondary%20GEFS%20Post%20Processing)
353
410
 
354
- ***AIGEFS Post-Processing***
355
- 1. [AIGEFS Members Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/aigefs_members_post_processing.md)
356
- 2. [AIGEFS Single Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/aigefs_single_post_processing.md)
411
+ ##### ***AIGEFS Post-Processing***
412
+ 1. [AIGEFS Members Post-Processing](https://edrewitz.github.io/WxData/aigefs_members_post_processing)
413
+ 2. [AIGEFS Single Post-Processing](https://edrewitz.github.io/WxData/aigefs_single_post_processing)
357
414
 
358
- ***HGEFS Post-Processing***
359
- 1. [HGEFS Post-Processing](https://github.com/edrewitz/WxData/blob/main/Documentation/hgefs_post_processing.md#hybrid-global-ensemble-forecast-system-hgefs-post-processing)
415
+ ##### ***HGEFS Post-Processing***
416
+ 1. [HGEFS Post-Processing](https://edrewitz.github.io/WxData/hgefs_post_processing)
360
417
 
361
- ***ECMWF Post-Processing***
362
- 1. [ECMWF IFS and IFS Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/ECMWF%20IFS%20Post%20Processing.md#ecmwf-ifs-and-ifs-ensemble-post-processing)
363
- 2. [ECMWF AIFS and AIFS Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/ECMWF%20AIFS%20Post%20Processing.md#ecmwf-aifs-and-aifs-ensemble-post-processing)
364
- 3. [ECMWF IFS Wave and IFS Wave Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/ECMWF%20IFS%20Wave%20Post%20Processing.md#ecmwf-ifs-wave-and-ifs-wave-ensemble-post-processing)
418
+ ##### ***ECMWF Post-Processing***
419
+ 1. [ECMWF IFS and IFS Ensemble](https://edrewitz.github.io/WxData/ECMWF%20IFS%20Post%20Processing)
420
+ 2. [ECMWF AIFS and AIFS Ensemble](https://edrewitz.github.io/WxData/ECMWF%20AIFS%20Post%20Processing)
421
+ 3. [ECMWF IFS Wave and IFS Wave Ensemble](https://edrewitz.github.io/WxData/ECMWF%20IFS%20Wave%20Post%20Processing)
365
422
 
366
- ***Real-Time Mesoscale Analysis Post-Processing***
367
- 1. [RTMA](https://github.com/edrewitz/WxData/blob/main/Documentation/RTMA%20Post%20Processing.md)
423
+ ##### ***Real-Time Mesoscale Analysis Post-Processing***
424
+ 1. [RTMA](https://edrewitz.github.io/WxData/RTMA%20Post%20Processing)
368
425
 
369
426
  -----------------------------------------------
370
427
 
371
- ### Raw Data Clients
428
+ #### Raw Data Clients
372
429
 
373
- ***xmACIS2 Climate Data***
374
- 1. [xmACIS2 Client](https://github.com/edrewitz/WxData/blob/main/Documentation/xmacis2_client.md)
430
+ ##### ***xmACIS2 Climate Data***
431
+ 1. [xmACIS2 Client](https://edrewitz.github.io/WxData/xmacis2_client)
375
432
 
376
- ***Custom Gridded Data***
377
- 1. [Gridded Data Client](https://github.com/edrewitz/WxData/blob/main/Documentation/get_gridded_data.md#get-gridded-data)
433
+ ##### ***Custom Gridded Data***
434
+ 1. [Gridded Data Client](https://edrewitz.github.io/WxData/get_gridded_data)
378
435
 
379
- ***Custom CSV Data***
380
- 1. [CSV Data Client](https://github.com/edrewitz/WxData/blob/main/Documentation/get_csv_data.md#get-csv-data)
436
+ ##### ***Custom CSV Data***
437
+ 1. [CSV Data Client](https://edrewitz.github.io/WxData/get_csv_data)
381
438
 
382
- ***Custom Excel Data***
383
- 1. [Excel Data Client](https://github.com/edrewitz/WxData/blob/main/Documentation/get_excel_data.md#get-excel-data)
439
+ ##### ***Custom Excel Data***
440
+ 1. [Excel Data Client](https://edrewitz.github.io/WxData/get_excel_data)
384
441
 
385
- ***AWS Open Data***
386
- 1. [AWS Open Data](https://github.com/edrewitz/WxData/blob/main/Documentation/get_open_aws_data.md#get-aws-open-data)
442
+ ##### ***AWS Open Data***
443
+ 1. [AWS Open Data](https://edrewitz.github.io/WxData/get_open_aws_data)
387
444
 
388
- ***Byte-Range Requests***
389
- 1. [Byte-Range Requests](https://github.com/edrewitz/WxData/blob/main/Documentation/bytes_range_request.md#bytes-range-request)
445
+ ##### ***Byte-Range Requests***
446
+ 1. [Byte-Range Requests](https://edrewitz.github.io/WxData/bytes_range_request)
390
447
 
391
448
  ---------------------------------------------------------------
392
449
 
393
- ### Data Querying Tools
450
+ #### Data Querying Tools
394
451
 
395
- ***Pixel Query***
396
- 1. [pixel_query](https://github.com/edrewitz/WxData/blob/main/Documentation/pixel_query.md)
452
+ ##### ***Pixel Query***
453
+ 1. [pixel_query](https://edrewitz.github.io/WxData/pixel_query)
397
454
 
398
- ***Line Query***
399
- 1. [line_query](https://github.com/edrewitz/WxData/blob/main/Documentation/line_query.md)
455
+ ##### ***Line Query***
456
+ 1. [line_query](https://edrewitz.github.io/WxData/line_query)
400
457
 
401
458
  --------------------------------------------------
402
459
 
403
- ### Data Transformation & Gap Filling Tools
460
+ #### Data Transformation & Gap Filling Tools
404
461
 
405
- ***Cyclic Points For Hemispheric Plots***
406
- 1. [Cyclic Points](https://github.com/edrewitz/wxdata/blob/main/Documentation/cyclic_point.md#using-wxdata-to-add-cyclic-points-for-hemispheric-plots)
462
+ ##### ***Cyclic Points For Hemispheric Plots***
463
+ 1. [Cyclic Points](https://edrewitz.github.io/WxData/cyclic_point)
407
464
 
408
- ***Shifting Longitude From 0 to 360 --> -180 to 180***
409
- 1. [shift_longitude](https://github.com/edrewitz/WxData/blob/main/Documentation/shift_longitude.md)
465
+ ##### ***Shifting Longitude From 0 to 360 --> -180 to 180***
466
+ 1. [shift_longitude](https://edrewitz.github.io/WxData/shift_longitude)
410
467
 
411
- ***Linear Anti-Aliasing Between Two Points***
412
- 1. [linear_anti_aliasing](https://github.com/edrewitz/WxData/blob/main/Documentation/linear_anti_aliasing.md#linear-anti-aliasing-between-points)
468
+ ##### ***Linear Anti-Aliasing Between Two Points***
469
+ 1. [linear_anti_aliasing](https://edrewitz.github.io/WxData/linear_anti_aliasing)
413
470
 
414
471
  ------------------------------------------
415
472
 
416
- ### Automated Python Workflow Tools
473
+ #### Automated Python Workflow Tools
417
474
 
418
- ***Running External Python Scripts In Your Workflow***
475
+ ##### ***Running External Python Scripts In Your Workflow***
419
476
 
420
- 1 [run_external_scripts](https://github.com/edrewitz/WxData/blob/main/Documentation/run_external_scripts.md)
477
+ 1 [run_external_scripts](https://edrewitz.github.io/WxData/run_external_scripts)
421
478
 
422
479
  ---------------------------------------
423
480
 
424
- ### Open-Meteo API
481
+ #### Open-Meteo API
425
482
 
426
- ***Current Weather***
427
- 1. [Current Weather](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20current%20weather.md#open-meteo-api-current-weather)
483
+ ##### Weather Forecasts
484
+ ###### ***Current Weather***
485
+ 1. [Current Weather](https://edrewitz.github.io/WxData/open%20meteo%20api%20current%20weather)
428
486
 
429
- ***National Oceanic and Atmospheric Administrationn (NOAA)***
430
- 1. [GFS](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20noaa%20gfs.md#open-meteo-api-gfs)
431
- 2. [GEFS](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20noaa%20gefs.md#open-meteo-api-gefs)
432
- 3. [AIGFS](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20noaa%20aigfs.md#open-meteo-api-aigfs)
433
- 4. [AIGEFS](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20noaa%20aigefs.md#open-meteo-api-aigefs)
434
- 5. [HGEFS](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20noaa%20hgefs.md#open-meteo-api-hgefs)
435
- 6. [NBM](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20noaa%20nbm.md#open-meteo-api-nbm)
487
+ ###### ***National Oceanic and Atmospheric Administrationn (NOAA)***
488
+ 1. [GFS](https://edrewitz.github.io/WxData/open%20meteo%20api%20noaa%20gfs)
489
+ 2. [GEFS](https://edrewitz.github.io/WxData/open%20meteo%20api%20noaa%20gefs)
490
+ 3. [AIGFS](https://edrewitz.github.io/WxData/open%20meteo%20api%20noaa%20aigfs)
491
+ 4. [AIGEFS](https://edrewitz.github.io/WxData/open%20meteo%20api%20noaa%20aigefs)
492
+ 5. [HGEFS](https://edrewitz.github.io/WxData/open%20meteo%20api%20noaa%20hgefs)
493
+ 6. [NBM](https://edrewitz.github.io/WxData/open%20meteo%20api%20noaa%20nbm)
436
494
 
437
- ***European Centre for Medium-Range Weather Forecasts (ECMWF)***
438
- 1. [IFS](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20ecmwf%20ifs.md#open-meteo-api-ecmwf-ifs)
439
- 2. [AIFS](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20ecmwf%20aifs.md#open-meteo-api-ecmwf-aifs)
440
- 3. [IFS HRES](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20ecmwf%20ifs%20hres.md#open-meteo-api-ecmwf-ifs-hres)
441
- 4. [IFS Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20ecmwf%20ifs%20ens.md#open-meteo-api-ecmwf-ifs-ensemble)
442
- 5. [AIFS Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20ecmwf%20aifs%20ens.md#open-meteo-api-ecmwf-aifs-ensemble)
495
+ ###### ***European Centre for Medium-Range Weather Forecasts (ECMWF)***
496
+ 1. [IFS](https://edrewitz.github.io/WxData/open%20meteo%20api%20ecmwf%20ifs)
497
+ 2. [AIFS](https://edrewitz.github.io/WxData/open%20meteo%20api%20ecmwf%20aifs)
498
+ 3. [IFS HRES](https://edrewitz.github.io/WxData/open%20meteo%20api%20ecmwf%20ifs%20hres)
499
+ 4. [IFS Ensemble](https://edrewitz.github.io/WxData/open%20meteo%20api%20ecmwf%20ifs%20ens)
500
+ 5. [AIFS Ensemble](https://edrewitz.github.io/WxData/open%20meteo%20api%20ecmwf%20aifs%20ens)
443
501
 
444
- ***Canadian Meteorological Centre (CMC)***
445
- 1. [GEM](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20cmc%20gem.md#open-meteo-api-cmc-gem)
446
- 2. [GEM Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20cmc%20gem%20ens.md#open-meteo-api-gem-ensemble)
502
+ ###### ***Canadian Meteorological Centre (CMC)***
503
+ 1. [GEM](https://edrewitz.github.io/WxData/open%20meteo%20api%20cmc%20gem)
504
+ 2. [GEM Ensemble](https://edrewitz.github.io/WxData/open%20meteo%20api%20cmc%20gem%20ens)
447
505
 
448
- ***Deutscher Wetterdienst (DWD)***
449
- 1. [ICON](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20dwd%20icon.md#open-meteo-api-dwd-icon)
450
- 2. [ICON EPS](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20dwd%20icon%20eps.md#open-meteo-api-dwd-icon-eps)
506
+ ###### ***Deutscher Wetterdienst (DWD)***
507
+ 1. [ICON](https://edrewitz.github.io/WxData/open%20meteo%20api%20dwd%20icon)
508
+ 2. [ICON EPS](https://edrewitz.github.io/WxData/open%20meteo%20api%20dwd%20icon%20eps)
451
509
 
452
- ***Meteo-France***
453
- 1. [ARPEGE](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20meteo%20france%20arpege.md#open-meteo-api-meteo-france-arpege)
510
+ ###### ***Meteo-France***
511
+ 1. [ARPEGE](https://edrewitz.github.io/WxData/open%20meteo%20api%20meteo%20france%20arpege)
454
512
 
455
- ***Japan Meteorological Agency (JMA)***
456
- 1. [JMA](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20jma%20jma.md#open-meteo-api-jma)
513
+ ###### ***Japan Meteorological Agency (JMA)***
514
+ 1. [JMA](https://edrewitz.github.io/WxData/open%20meteo%20api%20jma%20jma)
457
515
 
458
- ***UK Met Office (UKMO)***
459
- 1. [UKMO Global Ensemble](https://github.com/edrewitz/WxData/blob/main/Documentation/open%20meteo%20api%20ukmo%20global%20ens.md#open-meteo-api-ukmo-global-ensemble)
516
+ ###### ***UK Met Office (UKMO)***
517
+ 1. [UKMO Global Ensemble](https://edrewitz.github.io/WxData/open%20meteo%20api%20ukmo%20global%20ens)
518
+
519
+ ###### ***Google***
520
+ 1. [Weather Next 2 All Ensemble Members](https://edrewitz.github.io/WxData/open%20meteo%20api%20google%20weather%20next%202%20members)
521
+ 2. [Weather Next 2 Ensemble Mean](https://edrewitz.github.io/WxData/open%20meteo%20api%20google%20weather%20next%202%20ensemble%20mean)
522
+
523
+ ##### Marine Forecasts
524
+
525
+ ###### ***National Oceanic and Atmospheric Administrationn (NOAA)***
526
+ 1. [GFS0P25 Wave Forecasts](https://edrewitz.github.io/WxData/open%20meteo%20api%20gfs0p25%20wave)
527
+ 2. [GFS0P16 Wave Forecasts](https://edrewitz.github.io/WxData/open%20meteo%20api%20gfs0p16%20wave)
528
+
529
+ ###### ***European Centre for Medium-Range Weather Forecasts (ECMWF)***
530
+ 1. [ECMWF Wave Model](https://edrewitz.github.io/WxData/open%20meteo%20api%20ecmwf%20wam)
531
+ 2. [ECMWF Wave Model 0.25 Degree](https://edrewitz.github.io/WxData/open%20meteo%20api%20ecmwf%20wam%200p25)
532
+
533
+ ###### ***Meteo-France***
534
+ 1. [Meteo-France Wave Model](https://edrewitz.github.io/WxData/open%20meteo%20api%20meteo%20france%20wave)
535
+ 2. [Meteo-France Ocean Currents Model](https://edrewitz.github.io/WxData/open%20meteo%20api%20meteo%20france%20ocean%20currents)
536
+
537
+ ###### ***Deutscher Wetterdienst (DWD)***
538
+ 1. [European Domain Wave Model](https://edrewitz.github.io/WxData/open%20meteo%20api%20ewam)
539
+ 2. [Global Domian Wave Model](https://edrewitz.github.io/WxData/open%20meteo%20api%20gwam)
540
+
541
+ ##### Seasonal Forecasts
542
+
543
+ ###### ***Daily Forecasts***
544
+ 1. [ECMWF EC46 + SEAS5 Ensemble Members](https://edrewitz.github.io/WxData/open%20meteo%20api%20ec46%20seas5%20daily)
545
+ 2. [ECMWF EC46 Ensemble Members](https://edrewitz.github.io/WxData/open%20meteo%20api%20ec46%20daily)
546
+ 3. [ECMWF SEAS5 Ensemble Members](https://edrewitz.github.io/WxData/open%20meteo%20api%20seas5%20daily)
547
+ 4. [ECMWF EC46 + SEAS5 Ensemble Mean](https://edrewitz.github.io/WxData/open%20meteo%20api%20ec46%20seas5%20daily%20ensemble%20mean)
548
+ 5. [ECMWF EC46 Ensemble Mean](https://edrewitz.github.io/WxData/open%20meteo%20api%20ec46%20daily%20ensemble%20mean)
549
+ 6. [ECMWF SEAS5 Ensemble Mean](https://edrewitz.github.io/WxData/open%20meteo%20api%20seas5%20daily%20ensemble%20mean)
550
+
551
+ ###### ***Weekly Forecasts***
552
+ 1. [ECMWF EC46 Mean & Anomaly](https://edrewitz.github.io/WxData/open%20meteo%20api%20ec46%20weekly%20mean%20anomaly)
553
+
554
+ ###### ***Monthly Forecasts***
555
+ 1. [ECMWF SEAS5 Mean & Anomaly](https://edrewitz.github.io/WxData/open%20meteo%20api%20seas5%20monthly%20mean%20anomaly)
556
+
557
+ ##### Climate Reanalysis & Forecasts
558
+ 1. [CMCC-CM2-VHR4](https://edrewitz.github.io/WxData/open%20meteo%20api%20cmcc_cm2_vhr4%20forecasts)
559
+ 2. [FGOALS_f3_H](https://edrewitz.github.io/WxData/open%20meteo%20api%20fgoals_f3_h%20forecasts)
560
+ 3. [HiRAM_SIT_HR](https://edrewitz.github.io/WxData/open%20meteo%20api%20hiram_sit_hr%20forecasts)
561
+ 4. [MRI_AGCM3_2_S](https://edrewitz.github.io/WxData/open%20meteo%20api%20mri_agcm3_2_s%20forecasts)
562
+ 5. [EC_Earth3P_HR](https://edrewitz.github.io/WxData/open%20meteo%20api%20ec_earth3p_hr%20forecasts)
563
+ 6. [MPI_ESM1_2_XR](https://edrewitz.github.io/WxData/open%20meteo%20api%20mpi_esm1_2_xr%20forecasts)
564
+ 7. [NICAM16_8S](https://edrewitz.github.io/WxData/open%20meteo%20api%20nicam16_8s%20forecasts)
565
+
566
+ ##### Air Quality Forecasts
567
+ 1. [CAMS](https://edrewitz.github.io/WxData/open%20meteo%20api%20air%20quality)
568
+
569
+ ##### Solar Radiation Forecasts
570
+ 1. [Solar Radiation Forecast](https://edrewitz.github.io/WxData/open%20meteo%20api%20solar%20radiation)
571
+
572
+ ---------------------------------------
573
+
574
+ #### Air Now API
575
+
576
+ ##### ***Observations***
577
+ 1. [Get Current Data Bounding Box](https://edrewitz.github.io/WxData/air%20now%20api%20observations)
578
+ 2. [Get Historical Data Bounding Box](https://edrewitz.github.io/WxData/air%20now%20api%20historical%20observations)
460
579
 
461
580
  ---------------------------------------
462
581
 
@@ -719,23 +838,30 @@ import wxdata.client.client as client
719
838
 
720
839
  """
721
840
  ***************************************************************************
722
- This section hosts the various Python interfaces for the Open-Meteo API.
723
841
 
724
- This API can be found at: https://open-meteo.com/
842
+
843
+ ************ This section hosts the different API Interfaces. ***********
844
+
845
+
725
846
  ***************************************************************************
726
847
  """
727
- #############################
728
- ### Weather Forecast Data ###
729
- #############################
848
+ #######################
849
+ ### Open-Meteo API ###
850
+ #######################
851
+
852
+ # Open-Meteo API: https://open-meteo.com/
853
+
854
+ ### Weather Forecasts ###
730
855
 
731
856
  # - NOAA/NCEP Models
732
857
  # - ECMWF Models
733
- # - DWD Models
858
+ # - Deutscher Wetterdienst (DWD) Models
734
859
  # - Meteo-France Models
735
860
  # - CMC Models
736
861
  # - Japan Meteorological Agency (JMA) Models
737
862
  # - UK Met Office (UKMO)
738
863
  # - Current Weather (Model Mosaic)
864
+ # - Google (Weather Next 2 Ensemble)
739
865
  import wxdata.open_meteo_api.weather_forecasts.noaa as open_meteo_api_noaa
740
866
  import wxdata.open_meteo_api.weather_forecasts.ecmwf as open_meteo_api_ecmwf
741
867
  import wxdata.open_meteo_api.weather_forecasts.dwd as open_meteo_api_dwd
@@ -744,6 +870,44 @@ import wxdata.open_meteo_api.weather_forecasts.cmc as open_meteo_api_cmc
744
870
  import wxdata.open_meteo_api.weather_forecasts.jma as open_meteo_api_jma
745
871
  import wxdata.open_meteo_api.weather_forecasts.ukmo as open_meteo_api_ukmo
746
872
  import wxdata.open_meteo_api.weather_forecasts.current_weather as open_meteo_api_current_weather
873
+ import wxdata.open_meteo_api.weather_forecasts.google as open_meteo_api_google
874
+
875
+ ### Seasonal Forecasts (ECMWF EC46 & SEAS5) ###
876
+
877
+ # - Daily Data (EC46 & SEAS5)
878
+ # - Weekly Data (EC46)
879
+ # - Monthly Data (SEAS5)
880
+ import wxdata.open_meteo_api.seasonal_forecasts.ecmwf_daily as open_meteo_api_ecmwf_seasonal_forecasts_daily
881
+ import wxdata.open_meteo_api.seasonal_forecasts.ecmwf_weekly as open_meteo_api_ecmwf_seasonal_forecasts_weekly
882
+ import wxdata.open_meteo_api.seasonal_forecasts.ecmwf_monthly as open_meteo_api_ecmwf_seasonal_forecasts_monthly
883
+
884
+ ### Climate Data ###
885
+ import wxdata.open_meteo_api.climate.climate_data as open_meteo_api_climate_data
886
+
887
+ ### Air Quality Information ###
888
+ import wxdata.open_meteo_api.air_quality.cams as open_meteo_api_air_quality
889
+
890
+ ### Marine Forecasts ###
891
+ # - Meteo-France
892
+ # - Deutscher Wetterdienst (DWD)
893
+ # - ECMWF
894
+ # - NOAA
895
+ import wxdata.open_meteo_api.marine_forecasts.meteo_france as open_meteo_api_meteo_france_marine
896
+ import wxdata.open_meteo_api.marine_forecasts.dwd as open_meteo_api_dwd_marine
897
+ import wxdata.open_meteo_api.marine_forecasts.ecmwf as open_meteo_api_ecmwf_marine
898
+ import wxdata.open_meteo_api.marine_forecasts.noaa as open_meteo_api_noaa_marine
899
+
900
+ ### Solar Radiation Forecasts ###
901
+ import wxdata.open_meteo_api.solar_radiation.solar_radiation as open_meteo_api_solar_radiation
902
+
903
+ ###################
904
+ ### Air-Now API ###
905
+ ###################
906
+
907
+ # Air-Now API: https://docs.airnowapi.org/
908
+
909
+ # - Observations
910
+ import wxdata.airnow_api.observations as air_now_observations
747
911
 
748
912
  ```
749
913
  -------------------------------------------
@@ -788,14 +952,26 @@ import wxdata.open_meteo_api.weather_forecasts.current_weather as open_meteo_api
788
952
  ## Data Sources
789
953
 
790
954
  1) [National Oceanic and Atmospheric Administration/National Center for Environmental Prediction](https://nomads.ncep.noaa.gov/)
955
+
791
956
  2) [European Centre for Medium-Range Weather Forecasts](https://data.ecmwf.int/forecasts/)
957
+
792
958
  3) [University of Wyoming](http://www.weather.uwyo.edu/upperair/sounding.shtml)
959
+
793
960
  4) [National Oceanic and Atmospheric Administration/National Weather Service](https://tgftp.nws.noaa.gov/)
961
+
794
962
  5) [National Oceanic and Atmospheric Administration/Aviation Weather Center](https://aviationweather.gov/)
963
+
795
964
  6) [National Oceanic and Atmospheric Administration/Climate Prediction Center](https://www.cpc.ncep.noaa.gov/products/GIS/GIS_DATA/us_tempprcpfcst/index.php)
965
+
796
966
  7) [Applied Climate Information System (ACIS)](https://www.rcc-acis.org/docs_webservices.html)
967
+
797
968
  8) [USDA Fire Environment Mapping System](https://fems.fs2c.usda.gov/download)
969
+
798
970
  9) [Amazon AWS Unidata NEXRAD2 Bucket](https://unidata-nexrad-level2.s3.amazonaws.com/index.html)
971
+
799
972
  10) [Open-Meteo API](https://open-meteo.com/)
800
973
 
974
+ 11) [Air Now API](https://docs.airnowapi.org/webservices)
975
+
976
+
801
977