wxdata 2.2__tar.gz → 2.3__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.
- {wxdata-2.2 → wxdata-2.3}/PKG-INFO +182 -81
- wxdata-2.2/src/wxdata.egg-info/PKG-INFO → wxdata-2.3/README.md +180 -111
- {wxdata-2.2 → wxdata-2.3}/pyproject.toml +2 -2
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/__init__.py +133 -58
- wxdata-2.3/src/wxdata/api/airnow_api/__init__.py +1 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/airnow_api/observations.py +1 -1
- wxdata-2.3/src/wxdata/api/open_meteo_api/air_quality/__init__.py +1 -0
- wxdata-2.3/src/wxdata/api/open_meteo_api/climate/__init__.py +1 -0
- wxdata-2.3/src/wxdata/api/open_meteo_api/marine_forecasts/__init__.py +4 -0
- wxdata-2.3/src/wxdata/api/open_meteo_api/seasonal_forecasts/__init__.py +3 -0
- wxdata-2.3/src/wxdata/api/open_meteo_api/solar_radiation/__init__.py +1 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/solar_radiation/solar_radiation.py +1 -1
- wxdata-2.3/src/wxdata/api/open_meteo_api/weather_forecasts/__init__.py +9 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/fuels_data}/fems/__init__.py +2 -2
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/fuels_data}/fems/observations.py +1 -1
- {wxdata-2.2/src/wxdata/noaa → wxdata-2.3/src/wxdata/gridded_forecasts/noaa/nws}/__init__.py +1 -1
- wxdata-2.3/src/wxdata/model_data/cmc/cansips/forecast/__init__.py +1 -0
- wxdata-2.3/src/wxdata/model_data/cmc/cansips/forecast/cansips_forecast.py +281 -0
- wxdata-2.3/src/wxdata/model_data/cmc/cansips/forecast/url_scanner.py +435 -0
- wxdata-2.3/src/wxdata/model_data/cmc/cansips/hindcast/__init__.py +1 -0
- wxdata-2.3/src/wxdata/model_data/cmc/cansips/hindcast/cansips_hindcast.py +225 -0
- wxdata-2.3/src/wxdata/model_data/cmc/cansips/hindcast/file_sorter.py +91 -0
- wxdata-2.3/src/wxdata/model_data/cmc/cansips/hindcast/url_scanner.py +297 -0
- wxdata-2.3/src/wxdata/model_data/cmc/gdps/__init__.py +1 -0
- wxdata-2.3/src/wxdata/model_data/cmc/gdps/gdps.py +1216 -0
- wxdata-2.3/src/wxdata/model_data/cmc/gdps/url_scanner.py +559 -0
- wxdata-2.3/src/wxdata/model_data/cmc/geps/__init__.py +1 -0
- wxdata-2.3/src/wxdata/model_data/cmc/geps/geps.py +662 -0
- wxdata-2.3/src/wxdata/model_data/cmc/geps/url_scanner.py +476 -0
- wxdata-2.3/src/wxdata/model_data/cmc/hrdps/__init__.py +1 -0
- wxdata-2.3/src/wxdata/model_data/cmc/hrdps/hrdps.py +1244 -0
- wxdata-2.3/src/wxdata/model_data/cmc/hrdps/url_scanner.py +673 -0
- wxdata-2.3/src/wxdata/model_data/cmc/rdps/__init__.py +1 -0
- wxdata-2.3/src/wxdata/model_data/cmc/rdps/rdps.py +1259 -0
- wxdata-2.3/src/wxdata/model_data/cmc/rdps/url_scanner.py +709 -0
- wxdata-2.3/src/wxdata/model_data/cmc/utils/_exceptions.py +100 -0
- wxdata-2.3/src/wxdata/model_data/cmc/utils/cmc_keys.py +608 -0
- wxdata-2.3/src/wxdata/model_data/cmc/utils/file_scanner.py +67 -0
- wxdata-2.3/src/wxdata/model_data/cmc/utils/filenames.py +35 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data}/ecmwf/__init__.py +1 -1
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data}/ecmwf/ecmwf.py +5 -5
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/aigefs/__init__.py +1 -1
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/aigefs/aigefs.py +2 -2
- wxdata-2.3/src/wxdata/model_data/noaa/aigfs/__init__.py +3 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/aigfs/aigfs.py +2 -2
- wxdata-2.3/src/wxdata/model_data/noaa/cfs/__init__.py +4 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/cfs/cfs.py +2 -2
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gefs/__init__.py +1 -1
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gefs/gefs.py +2 -2
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gefs/url_scanners.py +1 -1
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gfs/__init__.py +1 -1
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gfs/gfs.py +2 -2
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gfs/url_scanners.py +1 -1
- wxdata-2.3/src/wxdata/model_data/noaa/hgefs/__init__.py +1 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/hgefs/hgefs.py +2 -2
- wxdata-2.3/src/wxdata/model_data/noaa/rtma/__init__.py +4 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/rtma/rtma.py +3 -3
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/rtma/url_scanners.py +1 -1
- wxdata-2.3/src/wxdata/observational_data/metars/__init__.py +3 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/observational_data}/metars/metar_obs.py +1 -1
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/observational_data}/radar/__init__.py +1 -1
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/observational_data}/radar/nexrad2.py +1 -1
- wxdata-2.3/src/wxdata/observational_data/soundings/__init__.py +3 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/observational_data}/soundings/wyoming_soundings.py +1 -1
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/post_processors/__init__.py +1 -0
- wxdata-2.3/src/wxdata/post_processors/cmc_post_processing.py +523 -0
- wxdata-2.2/README.md → wxdata-2.3/src/wxdata.egg-info/PKG-INFO +212 -79
- wxdata-2.3/src/wxdata.egg-info/SOURCES.txt +147 -0
- wxdata-2.2/src/wxdata/aigfs/__init__.py +0 -3
- wxdata-2.2/src/wxdata/airnow_api/__init__.py +0 -1
- wxdata-2.2/src/wxdata/cfs/__init__.py +0 -4
- wxdata-2.2/src/wxdata/hgefs/__init__.py +0 -1
- wxdata-2.2/src/wxdata/metars/__init__.py +0 -3
- wxdata-2.2/src/wxdata/open_meteo_api/air_quality/__init__.py +0 -1
- wxdata-2.2/src/wxdata/open_meteo_api/climate/__init__.py +0 -1
- wxdata-2.2/src/wxdata/open_meteo_api/marine_forecasts/__init__.py +0 -4
- wxdata-2.2/src/wxdata/open_meteo_api/seasonal_forecasts/__init__.py +0 -3
- wxdata-2.2/src/wxdata/open_meteo_api/solar_radiation/__init__.py +0 -1
- wxdata-2.2/src/wxdata/open_meteo_api/weather_forecasts/__init__.py +0 -9
- wxdata-2.2/src/wxdata/rtma/__init__.py +0 -4
- wxdata-2.2/src/wxdata/soundings/__init__.py +0 -3
- wxdata-2.2/src/wxdata.egg-info/SOURCES.txt +0 -123
- {wxdata-2.2 → wxdata-2.3}/LICENSE +0 -0
- {wxdata-2.2 → wxdata-2.3}/setup.cfg +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/airnow_api/_errors.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/air_quality/cams.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/climate/climate_data.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/marine_forecasts/dwd.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/marine_forecasts/ecmwf.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/marine_forecasts/meteo_france.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/marine_forecasts/noaa.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/seasonal_forecasts/ecmwf_daily.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/seasonal_forecasts/ecmwf_monthly.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/seasonal_forecasts/ecmwf_weekly.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/solar_radiation/models.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/weather_forecasts/cmc.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/weather_forecasts/current_weather.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/weather_forecasts/dwd.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/weather_forecasts/ecmwf.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/weather_forecasts/google.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/weather_forecasts/jma.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/weather_forecasts/meteo_france.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/weather_forecasts/noaa.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/api}/open_meteo_api/weather_forecasts/ukmo.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/calc/__init__.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/calc/derived_fields.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/calc/kinematics.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/calc/thermodynamics.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/calc/unit_conversion.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/client/__init__.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/client/byte_range.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/client/client.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/client/level_coords.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/fuels_data}/fems/meta_data.py +0 -0
- {wxdata-2.2/src/wxdata/noaa → wxdata-2.3/src/wxdata/gridded_forecasts/noaa/nws}/nws.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data}/ecmwf/file_funcs.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data}/ecmwf/keys.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data}/ecmwf/parsers.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data}/ecmwf/paths.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data}/ecmwf/url_scanners.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/aigefs/paths.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/aigefs/url_scanners.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/aigfs/paths.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/aigfs/url_scanners.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/cfs/file_scanner.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/cfs/url_scanners.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gefs/exception_messages.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gefs/file_funcs.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gefs/paths.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gfs/exception_messages.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/gfs/paths.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/hgefs/paths.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/hgefs/url_scanner.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/rtma/file_funcs.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/rtma/file_scanner.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/model_data/noaa}/rtma/keys.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/observational_data}/metars/_clean_data.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/observational_data}/radar/url_scanner.py +0 -0
- {wxdata-2.2/src/wxdata → wxdata-2.3/src/wxdata/observational_data}/soundings/_exceptions.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/post_processors/aigefs_post_processing.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/post_processors/aigfs_post_processing.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/post_processors/cfs_post_processing.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/post_processors/ecmwf_post_processing.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/post_processors/gefs_post_processing.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/post_processors/gfs_post_processing.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/post_processors/hgefs_post_processing.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/post_processors/rtma_post_processing.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/__init__.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/api.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/coords.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/exceptions.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/file_funcs.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/file_scanner.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/nomads_gribfilter.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/progress_bar.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/recycle_bin.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/scripts.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/tools.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/warnings.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata/utils/xmacis2_cleanup.py +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata.egg-info/dependency_links.txt +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata.egg-info/requires.txt +0 -0
- {wxdata-2.2 → wxdata-2.3}/src/wxdata.egg-info/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wxdata
|
|
3
|
-
Version: 2.
|
|
4
|
-
Summary: A Python package of end-to-end weather data clients & raw data clients with VPN/
|
|
3
|
+
Version: 2.3
|
|
4
|
+
Summary: A Python package of end-to-end weather data clients & raw data clients with VPN/Proxy Server 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
6
|
Project-URL: Documentation, https://github.com/edrewitz/WxData/wiki
|
|
7
7
|
Project-URL: Repository, https://github.com/edrewitz/wxdata/tree/main
|
|
@@ -61,23 +61,23 @@ A Python package consisting of the following:
|
|
|
61
61
|
|
|
62
62
|
# Table of Contents
|
|
63
63
|
|
|
64
|
-
1) [Installation Instructions](https://
|
|
64
|
+
1) [Installation Instructions](https://github.com/edrewitz/WxData/wiki#installation-instructions)
|
|
65
65
|
|
|
66
|
-
2) [Server List (For End-To-End Clients That Can Rotate Between Servers)](https://
|
|
66
|
+
2) [Server List (For End-To-End Clients That Can Rotate Between Servers)](https://github.com/edrewitz/WxData/wiki#server-list)
|
|
67
67
|
|
|
68
|
-
3) [Proxy Server Configuration](https://
|
|
68
|
+
3) [Proxy Server Configuration](https://github.com/edrewitz/WxData/wiki#proxy-server-configuration)
|
|
69
69
|
|
|
70
|
-
4) [What makes WxData unique among various meteorological Python packages?](https://
|
|
70
|
+
4) [What makes WxData unique among various meteorological Python packages?](https://github.com/edrewitz/WxData/wiki#what-makes-wxdata-unique-among-various-meteorological-python-packages)
|
|
71
71
|
|
|
72
|
-
5) [WxData Tutorials](https://
|
|
72
|
+
5) [WxData Tutorials](https://github.com/edrewitz/WxData/wiki#wxdata-tutorials)
|
|
73
73
|
|
|
74
|
-
6) [WxData Documentation](https://
|
|
74
|
+
6) [WxData Documentation](https://github.com/edrewitz/WxData/wiki#wxdata-documentation)
|
|
75
75
|
|
|
76
|
-
7) [Importing Functions from WxData](https://
|
|
76
|
+
7) [Importing Functions from WxData](https://github.com/edrewitz/WxData/wiki#importing-functions-from-wxdata)
|
|
77
77
|
|
|
78
|
-
8) [Citations](https://
|
|
78
|
+
8) [Citations](https://github.com/edrewitz/WxData/wiki#citations)
|
|
79
79
|
|
|
80
|
-
9) [Data Sources]()
|
|
80
|
+
9) [Data Sources](https://github.com/edrewitz/WxData/wiki#data-sources)
|
|
81
81
|
|
|
82
82
|
|
|
83
83
|
## Installation Instructions
|
|
@@ -210,7 +210,7 @@ proxies=None ---> proxies="http://your-proxy-address:port" ---> ds = ecmwf_ifs(p
|
|
|
210
210
|
```
|
|
211
211
|
```python
|
|
212
212
|
# Here is our program
|
|
213
|
-
from wxdata import
|
|
213
|
+
from wxdata import ecmwf_ifs
|
|
214
214
|
|
|
215
215
|
proxies="https://your-proxy-address:port"
|
|
216
216
|
|
|
@@ -298,6 +298,16 @@ For more information on configuring proxies: https://requests.readthedocs.io/en/
|
|
|
298
298
|
|
|
299
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
300
|
|
|
301
|
+
25) [Download and plot the first 24 hours of the GDPS 500mb Geopotential Height, Relative Vorticity and Wind Forecast across CONUS & Southern Canada](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/gdps.ipynb)
|
|
302
|
+
|
|
303
|
+
26) [Download and plot the first 24 hours of the RDPS 2-Meter Temperature & 10-Meter Wind Forecast across CONUS & Southern Canada](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/rdps.ipynb)
|
|
304
|
+
|
|
305
|
+
27) [Download and plot the first 12 hours of the HRDPS 0-10cm Soil Temperature across British Columbia & Alberta](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/hrdps.ipynb)
|
|
306
|
+
|
|
307
|
+
28) [Download the first 24 hours of the GEPS 850mb Temperature Forecast, find the ensemble mean and plot the GEPS Ensemble Mean 850mb Temperature Forecast](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/geps.ipynb)
|
|
308
|
+
|
|
309
|
+
29) [Use the `cansips_forecast()` and `cansips_hindcast()` clients to download and plot the monthly 500mb Geopotential Height & 850mb Temperature Forecasts & Forecast Anomalies](https://github.com/edrewitz/WxData-JupyterLab-Examples/blob/main/cansips.ipynb)
|
|
310
|
+
|
|
301
311
|
### Advanced Users
|
|
302
312
|
|
|
303
313
|
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)
|
|
@@ -347,6 +357,13 @@ For more information on configuring proxies: https://requests.readthedocs.io/en/
|
|
|
347
357
|
2. [AIGEFS Members (Surface Parameters)](https://edrewitz.github.io/WxData/aigefs_surface_members)
|
|
348
358
|
3. [AIGEFS Ensemble Mean & Ensemble Spread](https://edrewitz.github.io/WxData/aigefs_single)
|
|
349
359
|
|
|
360
|
+
##### ***Canadian Meteorological Centre***
|
|
361
|
+
1. [GDPS](https://edrewitz.github.io/WxData/gdps)
|
|
362
|
+
2. [RDPS](https://edrewitz.github.io/WxData/rdps)
|
|
363
|
+
3. [HRDPS](https://edrewitz.github.io/WxData/hrdps)
|
|
364
|
+
4. [GEPS](https://edrewitz.github.io/WxData/geps)
|
|
365
|
+
5. [CanSIPS](https://edrewitz.github.io/WxData/cansips)
|
|
366
|
+
|
|
350
367
|
##### ***ECMWF Open Data***
|
|
351
368
|
1. [ECMWF IFS](https://edrewitz.github.io/WxData/ECMWF_IFS)
|
|
352
369
|
2. [ECMWF IFS Ensemble](https://edrewitz.github.io/WxData/ECMWF%20IFS%20Ensemble)
|
|
@@ -394,26 +411,26 @@ For more information on configuring proxies: https://requests.readthedocs.io/en/
|
|
|
394
411
|
#### Post-Processors
|
|
395
412
|
|
|
396
413
|
##### ***GFS Post-Processing***
|
|
397
|
-
1. [Primary GFS
|
|
398
|
-
2. [Secondary GFS
|
|
414
|
+
1. [Primary GFS](https://edrewitz.github.io/WxData/Primary%20GFS%20Post%20Processing)
|
|
415
|
+
2. [Secondary GFS](https://edrewitz.github.io/WxData/Secondary%20GFS%20Post%20Processing)
|
|
399
416
|
|
|
400
417
|
##### ***AIGFS Post-Processing***
|
|
401
|
-
1. [AIGFS
|
|
418
|
+
1. [AIGFS](https://edrewitz.github.io/WxData/aigfs_post_processing)
|
|
402
419
|
|
|
403
420
|
##### ***CFS Post-Processing***
|
|
404
|
-
1. [CFS Pressure
|
|
405
|
-
2. [CFS Flux
|
|
421
|
+
1. [CFS Pressure](https://edrewitz.github.io/WxData/cfs_pressure_post_processing)
|
|
422
|
+
2. [CFS Flux](https://edrewitz.github.io/WxData/cfs_flux_post_processing)
|
|
406
423
|
|
|
407
424
|
##### ***GEFS Post-Processing***
|
|
408
|
-
1. [Primary GEFS
|
|
409
|
-
2. [Secondary GEFS
|
|
425
|
+
1. [Primary GEFS](https://edrewitz.github.io/WxData/Primary%20GEFS%20Post-Processing)
|
|
426
|
+
2. [Secondary GEFS](https://edrewitz.github.io/WxData/Secondary%20GEFS%20Post%20Processing)
|
|
410
427
|
|
|
411
428
|
##### ***AIGEFS Post-Processing***
|
|
412
|
-
1. [AIGEFS Members
|
|
413
|
-
2. [AIGEFS Single
|
|
429
|
+
1. [AIGEFS Members](https://edrewitz.github.io/WxData/aigefs_members_post_processing)
|
|
430
|
+
2. [AIGEFS Single](https://edrewitz.github.io/WxData/aigefs_single_post_processing)
|
|
414
431
|
|
|
415
432
|
##### ***HGEFS Post-Processing***
|
|
416
|
-
1. [HGEFS
|
|
433
|
+
1. [HGEFS](https://edrewitz.github.io/WxData/hgefs_post_processing)
|
|
417
434
|
|
|
418
435
|
##### ***ECMWF Post-Processing***
|
|
419
436
|
1. [ECMWF IFS and IFS Ensemble](https://edrewitz.github.io/WxData/ECMWF%20IFS%20Post%20Processing)
|
|
@@ -423,6 +440,13 @@ For more information on configuring proxies: https://requests.readthedocs.io/en/
|
|
|
423
440
|
##### ***Real-Time Mesoscale Analysis Post-Processing***
|
|
424
441
|
1. [RTMA](https://edrewitz.github.io/WxData/RTMA%20Post%20Processing)
|
|
425
442
|
|
|
443
|
+
##### ***CMC Post Processing***
|
|
444
|
+
1. [GDPS](https://edrewitz.github.io/WxData/gdps%20processing)
|
|
445
|
+
2. [RDPS](https://edrewitz.github.io/WxData/rdps%20processing)
|
|
446
|
+
3. [HRDPS](https://edrewitz.github.io/WxData/hrdps%20processing)
|
|
447
|
+
4. [GEPS](https://edrewitz.github.io/WxData/geps%20processing)
|
|
448
|
+
5. [CanSIPS](https://edrewitz.github.io/WxData/cansips%20processing)
|
|
449
|
+
|
|
426
450
|
-----------------------------------------------
|
|
427
451
|
|
|
428
452
|
#### Raw Data Clients
|
|
@@ -581,7 +605,7 @@ For more information on configuring proxies: https://requests.readthedocs.io/en/
|
|
|
581
605
|
|
|
582
606
|
## Importing Functions from WxData
|
|
583
607
|
|
|
584
|
-
```
|
|
608
|
+
```python
|
|
585
609
|
"""
|
|
586
610
|
This file hosts all of the functions in the WxData Python library that directly interact with the user.
|
|
587
611
|
|
|
@@ -623,27 +647,40 @@ These functions do the following:
|
|
|
623
647
|
- When clear_recycle_bin=True, the user's recycle bin is also cleared.
|
|
624
648
|
"""
|
|
625
649
|
|
|
650
|
+
"""
|
|
651
|
+
********************************************************************************
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
************ This section hosts the Model Data Clients. ***********************
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
********************************************************************************
|
|
658
|
+
"""
|
|
659
|
+
|
|
660
|
+
##############
|
|
661
|
+
#### NOAA ####
|
|
662
|
+
##############
|
|
626
663
|
# Global Forecast System (GFS)
|
|
627
664
|
# - GFS 0.25x0.25 Degree Primary Parameters
|
|
628
665
|
# - GFS 0.25x0.25 Degree Secondary Parameters
|
|
629
666
|
# - GFS 0.5x0.5 Degree
|
|
630
|
-
from wxdata.gfs.gfs import(
|
|
667
|
+
from wxdata.model_data.noaa.gfs.gfs import(
|
|
631
668
|
gfs_0p25,
|
|
632
669
|
gfs_0p25_secondary_parameters,
|
|
633
670
|
gfs_0p50
|
|
634
671
|
)
|
|
635
672
|
|
|
636
673
|
# AI Global Forecast System (AIGFS)
|
|
637
|
-
from wxdata.aigfs.aigfs import aigfs
|
|
674
|
+
from wxdata.model_data.noaa.aigfs.aigfs import aigfs
|
|
638
675
|
|
|
639
676
|
# Hybrid Global Ensemble Forecast System (HGEFS)
|
|
640
|
-
from wxdata.hgefs.hgefs import hgefs_mean_spread
|
|
677
|
+
from wxdata.model_data.noaa.hgefs.hgefs import hgefs_mean_spread
|
|
641
678
|
|
|
642
679
|
# Global Ensemble Forecast System (GEFS)
|
|
643
680
|
# - GEFS 0.5x0.5 Degree Primary Parameters
|
|
644
681
|
# - GEFS 0.5x0.5 Degree Secondary Parameters
|
|
645
682
|
# - GEFS 0.25x0.25 Degree
|
|
646
|
-
from wxdata.gefs.gefs import(
|
|
683
|
+
from wxdata.model_data.noaa.gefs.gefs import(
|
|
647
684
|
gefs_0p50,
|
|
648
685
|
gefs_0p50_secondary_parameters,
|
|
649
686
|
gefs_0p25
|
|
@@ -652,7 +689,7 @@ from wxdata.gefs.gefs import(
|
|
|
652
689
|
# Climate Forecast System (CFS)
|
|
653
690
|
# - CFS Flux Products
|
|
654
691
|
# - CFS Pressure Products
|
|
655
|
-
from wxdata.cfs.cfs import(
|
|
692
|
+
from wxdata.model_data.noaa.cfs.cfs import(
|
|
656
693
|
cfs_flux,
|
|
657
694
|
cfs_pressure
|
|
658
695
|
)
|
|
@@ -661,20 +698,30 @@ from wxdata.cfs.cfs import(
|
|
|
661
698
|
# - AIGEFS Pressure Members (Pressure Level Variables)
|
|
662
699
|
# - AIGEFS Surface Members (Surface Level Variables)
|
|
663
700
|
# - AIGEFS Single (AIGEFS Ensemble Mean & AIGEFS Ensemble Spread)
|
|
664
|
-
from wxdata.aigefs.aigefs import(
|
|
701
|
+
from wxdata.model_data.noaa.aigefs.aigefs import(
|
|
665
702
|
aigefs_pressure_members,
|
|
666
703
|
aigefs_surface_members,
|
|
667
704
|
aigefs_single
|
|
668
705
|
)
|
|
669
706
|
|
|
670
|
-
#
|
|
707
|
+
# Real-Time Mesoscale Analysis (RTMA)
|
|
708
|
+
# - RTMA Latest
|
|
709
|
+
# - RTMA Comparison Between Two Times
|
|
710
|
+
from wxdata.model_data.noaa.rtma.rtma import(
|
|
711
|
+
rtma,
|
|
712
|
+
rtma_comparison
|
|
713
|
+
)
|
|
714
|
+
|
|
715
|
+
##############################################################
|
|
716
|
+
# European Centre for Medium-Range Weather Forecasts (ECMWF) #
|
|
717
|
+
##############################################################
|
|
671
718
|
# - ECMWF IFS
|
|
672
719
|
# - ECMWF IFS Ensemble
|
|
673
720
|
# - ECMWF AIFS
|
|
674
721
|
# - ECMWF AIFS Ensemble
|
|
675
722
|
# - ECMWF IFS Wave
|
|
676
723
|
# - ECMWF IFS Wave Ensemble
|
|
677
|
-
from wxdata.ecmwf.ecmwf import(
|
|
724
|
+
from wxdata.model_data.ecmwf.ecmwf import(
|
|
678
725
|
ecmwf_ifs,
|
|
679
726
|
ecmwf_ifs_ens,
|
|
680
727
|
ecmwf_aifs,
|
|
@@ -683,6 +730,34 @@ from wxdata.ecmwf.ecmwf import(
|
|
|
683
730
|
ecmwf_ifs_wave_ens
|
|
684
731
|
)
|
|
685
732
|
|
|
733
|
+
##################################
|
|
734
|
+
# Canadian Meteorological Center #
|
|
735
|
+
##################################
|
|
736
|
+
# - Canadian Global Deterministic Prediction System (GDPS)
|
|
737
|
+
# - Canadian Regional Deterministic Prediction System (RDPS)
|
|
738
|
+
# - Canadian High Resolution Deterministic Prediction System (HRDPS)
|
|
739
|
+
# - Canadian Global Ensemble Prediction System (GEPS)
|
|
740
|
+
# - Canadian Seasonal to Inter-annual Prediction System (CanSIPS) Forecasts
|
|
741
|
+
# - Canadian Seasonal to Inter-annual Prediction System (CanSIPS) Hindcasts
|
|
742
|
+
from wxdata.model_data.cmc.gdps.gdps import gdps
|
|
743
|
+
from wxdata.model_data.cmc.rdps.rdps import rdps
|
|
744
|
+
from wxdata.model_data.cmc.hrdps.hrdps import hrdps
|
|
745
|
+
from wxdata.model_data.cmc.geps.geps import geps
|
|
746
|
+
from wxdata.model_data.cmc.cansips.forecast.cansips_forecast import cansips_forecast
|
|
747
|
+
from wxdata.model_data.cmc.cansips.hindcast.cansips_hindcast import cansips_hindcast
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
"""
|
|
752
|
+
********************************************************************************
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
************ This section hosts the Fuels Data Clients. **********************
|
|
756
|
+
|
|
757
|
+
|
|
758
|
+
********************************************************************************
|
|
759
|
+
"""
|
|
760
|
+
|
|
686
761
|
# FEMS RAWS Network
|
|
687
762
|
# - Single Station Weather Observations
|
|
688
763
|
# - Single Station Fuels Observations
|
|
@@ -696,7 +771,7 @@ from wxdata.ecmwf.ecmwf import(
|
|
|
696
771
|
# - Multi Station NFDRS Forecast
|
|
697
772
|
# - Single Station Weather Forecast
|
|
698
773
|
# - Multi Station Weather Forecast
|
|
699
|
-
from wxdata.fems.observations import(
|
|
774
|
+
from wxdata.fuels_data.fems.observations import(
|
|
700
775
|
get_single_raws_station_weather_observations,
|
|
701
776
|
get_single_raws_station_fuels_observations,
|
|
702
777
|
get_multi_raws_station_weather_observations,
|
|
@@ -714,50 +789,64 @@ from wxdata.fems.observations import(
|
|
|
714
789
|
# FEMS RAWS Network
|
|
715
790
|
# - Single Station Meta Data
|
|
716
791
|
# - Multi Station Meta Data
|
|
717
|
-
from wxdata.fems.meta_data import(
|
|
792
|
+
from wxdata.fuels_data.fems.meta_data import(
|
|
718
793
|
get_single_raws_station_meta_data,
|
|
719
794
|
get_multi_raws_station_meta_data
|
|
720
795
|
)
|
|
721
796
|
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
797
|
+
|
|
798
|
+
"""
|
|
799
|
+
********************************************************************************
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
************ This section hosts the Gridded Forecast Data Clients. ***********
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
********************************************************************************
|
|
806
|
+
"""
|
|
729
807
|
|
|
730
808
|
# NOAA
|
|
731
809
|
# - Storm Prediction Center Outlooks
|
|
732
810
|
# - Climate Prediction Center Outlooks
|
|
733
811
|
# - National Weather Service Forecasts
|
|
734
|
-
from wxdata.noaa.nws import(
|
|
812
|
+
from wxdata.gridded_forecasts.noaa.nws.nws import(
|
|
735
813
|
get_ndfd_grids,
|
|
736
814
|
get_cpc_outlook
|
|
737
815
|
)
|
|
738
816
|
|
|
817
|
+
"""
|
|
818
|
+
*****************************************************************************
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
************ This section hosts the Observational Data Clients. ************
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
*****************************************************************************
|
|
825
|
+
"""
|
|
826
|
+
|
|
739
827
|
# Observed Upper-Air Soundings
|
|
740
828
|
# (University of Wyoming Database)
|
|
741
|
-
from wxdata.soundings.wyoming_soundings import get_observed_sounding_data
|
|
829
|
+
from wxdata.observational_data.soundings.wyoming_soundings import get_observed_sounding_data
|
|
742
830
|
|
|
743
831
|
# METAR Observational Data (From NOAA)
|
|
744
|
-
from wxdata.metars.metar_obs import download_metar_data
|
|
832
|
+
from wxdata.observational_data.metars.metar_obs import download_metar_data
|
|
745
833
|
|
|
746
834
|
# NEXRAD2 Radar Data
|
|
747
835
|
# - NEXRAD2 Radar Single Station
|
|
748
836
|
# - NEXRAD2 Radar Multi Station
|
|
749
|
-
from wxdata.radar.nexrad2 import(
|
|
837
|
+
from wxdata.observational_data.radar.nexrad2 import(
|
|
750
838
|
download_current_single_station_nexrad2_radar_data,
|
|
751
839
|
download_current_multi_station_nexrad2_radar_data
|
|
752
840
|
)
|
|
753
841
|
|
|
754
842
|
"""
|
|
755
|
-
|
|
756
|
-
|
|
843
|
+
*********************************************************************************
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
************ This section hosts the Model Data Processors. *********************
|
|
757
847
|
|
|
758
|
-
1) Re-map the GRIB2 Variable Keys into Plain Language Keys
|
|
759
|
-
2) Build the xarray.array of the various datasets.
|
|
760
848
|
|
|
849
|
+
*********************************************************************************
|
|
761
850
|
"""
|
|
762
851
|
|
|
763
852
|
|
|
@@ -782,23 +871,29 @@ import wxdata.post_processors.ecmwf_post_processing as ecmwf_post_processing
|
|
|
782
871
|
# Climate Forecast System (CFS)
|
|
783
872
|
import wxdata.post_processors.cfs_post_processing as cfs_post_processing
|
|
784
873
|
|
|
874
|
+
# Canadian Meteorological Center Gridded Models
|
|
875
|
+
# - Canadian Global Deterministic Prediction System (GDPS)
|
|
876
|
+
# - Canadian Regional Deterministic Prediction System (RDPS)
|
|
877
|
+
# - Canadian High Resolution Deterministic Prediction System (HRDPS)
|
|
878
|
+
# - Canadian Global Ensemble Prediction System (GEPS)
|
|
879
|
+
# - Canadian Seasonal to Inter-annual Prediction System (CanSIPS) Forecast
|
|
880
|
+
# - Canadian Seasonal to Inter-annual Prediction System (CanSIPS) Hindcast
|
|
881
|
+
import wxdata.post_processors.cmc_post_processing as cmc_post_processing
|
|
882
|
+
|
|
785
883
|
# Real-Time Mesoscale Analysis (RTMA)
|
|
786
884
|
from wxdata.post_processors.rtma_post_processing import process_rtma_data
|
|
787
885
|
|
|
788
886
|
|
|
789
887
|
"""
|
|
790
|
-
|
|
888
|
+
****************************************************************************************************************
|
|
791
889
|
|
|
792
|
-
These functions provide helpful utilities when analyzing weather data.
|
|
793
890
|
|
|
794
|
-
|
|
891
|
+
************ This section hosts the Data Querying/Transforming Tools & Automation Tools. **********************
|
|
795
892
|
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
2) Users who want to make hemispheric graphics or any graphics where cyclic points
|
|
800
|
-
resolve missing data along the prime meridian or international dateline.
|
|
893
|
+
|
|
894
|
+
****************************************************************************************************************
|
|
801
895
|
"""
|
|
896
|
+
|
|
802
897
|
# WxData function using cartopy to make cyclic points
|
|
803
898
|
# This is for users who wish to make graphics that cross the -180/180 degree longitude line
|
|
804
899
|
# This is commonly used for Hemispheric graphics
|
|
@@ -821,9 +916,13 @@ from wxdata.utils.tools import(
|
|
|
821
916
|
from wxdata.utils.scripts import run_external_scripts
|
|
822
917
|
|
|
823
918
|
"""
|
|
824
|
-
|
|
919
|
+
***************************************************************************
|
|
920
|
+
|
|
921
|
+
|
|
922
|
+
************ This section hosts the Raw Data Clients. ********************
|
|
923
|
+
|
|
825
924
|
|
|
826
|
-
|
|
925
|
+
***************************************************************************
|
|
827
926
|
"""
|
|
828
927
|
|
|
829
928
|
# These are the wxdata HTTPS Clients with full VPN/PROXY Support
|
|
@@ -837,13 +936,13 @@ These clients can be easily configured to work on VPN/PROXY connections.
|
|
|
837
936
|
import wxdata.client.client as client
|
|
838
937
|
|
|
839
938
|
"""
|
|
840
|
-
|
|
939
|
+
***********************************************************************************
|
|
841
940
|
|
|
842
941
|
|
|
843
|
-
************ This section hosts the
|
|
942
|
+
************ This section hosts the API Interface Clients. ***********************
|
|
844
943
|
|
|
845
944
|
|
|
846
|
-
|
|
945
|
+
***********************************************************************************
|
|
847
946
|
"""
|
|
848
947
|
#######################
|
|
849
948
|
### Open-Meteo API ###
|
|
@@ -862,43 +961,43 @@ import wxdata.client.client as client
|
|
|
862
961
|
# - UK Met Office (UKMO)
|
|
863
962
|
# - Current Weather (Model Mosaic)
|
|
864
963
|
# - Google (Weather Next 2 Ensemble)
|
|
865
|
-
import wxdata.open_meteo_api.weather_forecasts.noaa as open_meteo_api_noaa
|
|
866
|
-
import wxdata.open_meteo_api.weather_forecasts.ecmwf as open_meteo_api_ecmwf
|
|
867
|
-
import wxdata.open_meteo_api.weather_forecasts.dwd as open_meteo_api_dwd
|
|
868
|
-
import wxdata.open_meteo_api.weather_forecasts.meteo_france as open_meteo_api_meteo_france
|
|
869
|
-
import wxdata.open_meteo_api.weather_forecasts.cmc as open_meteo_api_cmc
|
|
870
|
-
import wxdata.open_meteo_api.weather_forecasts.jma as open_meteo_api_jma
|
|
871
|
-
import wxdata.open_meteo_api.weather_forecasts.ukmo as open_meteo_api_ukmo
|
|
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
|
|
964
|
+
import wxdata.api.open_meteo_api.weather_forecasts.noaa as open_meteo_api_noaa
|
|
965
|
+
import wxdata.api.open_meteo_api.weather_forecasts.ecmwf as open_meteo_api_ecmwf
|
|
966
|
+
import wxdata.api.open_meteo_api.weather_forecasts.dwd as open_meteo_api_dwd
|
|
967
|
+
import wxdata.api.open_meteo_api.weather_forecasts.meteo_france as open_meteo_api_meteo_france
|
|
968
|
+
import wxdata.api.open_meteo_api.weather_forecasts.cmc as open_meteo_api_cmc
|
|
969
|
+
import wxdata.api.open_meteo_api.weather_forecasts.jma as open_meteo_api_jma
|
|
970
|
+
import wxdata.api.open_meteo_api.weather_forecasts.ukmo as open_meteo_api_ukmo
|
|
971
|
+
import wxdata.api.open_meteo_api.weather_forecasts.current_weather as open_meteo_api_current_weather
|
|
972
|
+
import wxdata.api.open_meteo_api.weather_forecasts.google as open_meteo_api_google
|
|
874
973
|
|
|
875
974
|
### Seasonal Forecasts (ECMWF EC46 & SEAS5) ###
|
|
876
975
|
|
|
877
976
|
# - Daily Data (EC46 & SEAS5)
|
|
878
977
|
# - Weekly Data (EC46)
|
|
879
978
|
# - 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
|
|
979
|
+
import wxdata.api.open_meteo_api.seasonal_forecasts.ecmwf_daily as open_meteo_api_ecmwf_seasonal_forecasts_daily
|
|
980
|
+
import wxdata.api.open_meteo_api.seasonal_forecasts.ecmwf_weekly as open_meteo_api_ecmwf_seasonal_forecasts_weekly
|
|
981
|
+
import wxdata.api.open_meteo_api.seasonal_forecasts.ecmwf_monthly as open_meteo_api_ecmwf_seasonal_forecasts_monthly
|
|
883
982
|
|
|
884
983
|
### Climate Data ###
|
|
885
|
-
import wxdata.open_meteo_api.climate.climate_data as open_meteo_api_climate_data
|
|
984
|
+
import wxdata.api.open_meteo_api.climate.climate_data as open_meteo_api_climate_data
|
|
886
985
|
|
|
887
986
|
### Air Quality Information ###
|
|
888
|
-
import wxdata.open_meteo_api.air_quality.cams as open_meteo_api_air_quality
|
|
987
|
+
import wxdata.api.open_meteo_api.air_quality.cams as open_meteo_api_air_quality
|
|
889
988
|
|
|
890
989
|
### Marine Forecasts ###
|
|
891
990
|
# - Meteo-France
|
|
892
991
|
# - Deutscher Wetterdienst (DWD)
|
|
893
992
|
# - ECMWF
|
|
894
993
|
# - 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
|
|
994
|
+
import wxdata.api.open_meteo_api.marine_forecasts.meteo_france as open_meteo_api_meteo_france_marine
|
|
995
|
+
import wxdata.api.open_meteo_api.marine_forecasts.dwd as open_meteo_api_dwd_marine
|
|
996
|
+
import wxdata.api.open_meteo_api.marine_forecasts.ecmwf as open_meteo_api_ecmwf_marine
|
|
997
|
+
import wxdata.api.open_meteo_api.marine_forecasts.noaa as open_meteo_api_noaa_marine
|
|
899
998
|
|
|
900
999
|
### Solar Radiation Forecasts ###
|
|
901
|
-
import wxdata.open_meteo_api.solar_radiation.solar_radiation as open_meteo_api_solar_radiation
|
|
1000
|
+
import wxdata.api.open_meteo_api.solar_radiation.solar_radiation as open_meteo_api_solar_radiation
|
|
902
1001
|
|
|
903
1002
|
###################
|
|
904
1003
|
### Air-Now API ###
|
|
@@ -907,7 +1006,7 @@ import wxdata.open_meteo_api.solar_radiation.solar_radiation as open_meteo_api_s
|
|
|
907
1006
|
# Air-Now API: https://docs.airnowapi.org/
|
|
908
1007
|
|
|
909
1008
|
# - Observations
|
|
910
|
-
import wxdata.airnow_api.observations as air_now_observations
|
|
1009
|
+
import wxdata.api.airnow_api.observations as air_now_observations
|
|
911
1010
|
|
|
912
1011
|
```
|
|
913
1012
|
-------------------------------------------
|
|
@@ -973,5 +1072,7 @@ import wxdata.airnow_api.observations as air_now_observations
|
|
|
973
1072
|
|
|
974
1073
|
11) [Air Now API](https://docs.airnowapi.org/webservices)
|
|
975
1074
|
|
|
1075
|
+
12) [Canadian Meteorological Centre](https://dd.weather.gc.ca/)
|
|
1076
|
+
|
|
976
1077
|
|
|
977
1078
|
|