WxData
A Python library that acts as a client to download, pre-process and post-process weather data. Friendly for users on VPN/PROXY connections.
Install / Use
/learn @edrewitz/WxDataREADME
WxData
<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" />
Anaconda Downloads
PIP Downloads:
(C) Eric J. Drewitz 2025-2026
An open-source package that helps meteorologists and weather enthusiats download, pre-process and post-process various types of weather data.
This package only retrieves open-source publicly available weather data.
This package provides the following extra functionality compared to existing packages for downloading weather data:
How To Install
Copy and paste either command into your terminal or anaconda prompt:
Install via Anaconda
conda install wxdata
Install via pip
pip install wxdata
How To Update To The Latest Version
Copy and paste either command into your terminal or anaconda prompt:
Update via Anaconda
This is for users who initially installed WxData through Anaconda
conda update wxdata
Update via pip
This is for users who initially installed WxData through pip
pip install --upgrade wxdata
Important Compatibility Information
When a new version of Python comes out, it might not be compatible with the C++ eccodes library immediately (especially on pip/pypi versions).
This issue arises when the user is post-processing GRIB data.
There are two options to resolve this issue:
i) Install wxdata via Anaconda/Miniconda3 --> conda install wxdata
ii) Set up a new environment with an earlier version of Python (must be Python >= 3.10) and then pip install wxdata
Friendly for users working on VPN/PROXY connections
Depending on which client, the proxy-address:port must be entered as either a dictionary or a string.
The clients that use a string for proxies are:
-
All ECMWF clients
-
METAR Observations Client
-
pixel_query()tool if the user needs to download the airport station codes list.All other clients use proxies as a dictionary
Example: We want to download the latest Observed Sounding Data for San Diego, CA (NKX) proxies=None ---> proxies={ 'http':'http://your-proxy-address:port', 'https':'http://your-proxy-address:port' } sounding_data = get_observed_sounding_data('nkx', proxies=proxies) Example: We want to download the ECMWF IFS Data: proxies=None ---> proxies="http://your-proxy-address:port" ---> ds = ecmwf_ifs(proxies=proxies)
For more information on configuring proxies: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
-
Converts GRIB variable keys into variable keys that are in plain language.
- (e.g. 'r2' ---> '2m_relative_humidity')
-
Has a scanner that checks if the data files on your PC are up to date with those on the data server.
- This is a safeguard to protect newer developers from getting temporary IP address bans from the various data servers.
- Improves performance by preventing the potential of repetative downloading the same dataset.
-
Preserves system memory via the following methods:
- Clears out old data files before each new data download.
- Optional setting
clear_recycle_binin all functions.- When
clear_recycle_bin=Truethe computer's recycle/trash bin is cleared with each run of the script using any WxData function. - If a user wishes to not clear out their recycle bin
set clear_recycle_bin=False. - Default:
clear_recycle_bin=False.
- When
WxData Examples
Regular Users
- Downloading METAR Data
- Downloading Observed Sounding Data
- Downloading the first 72 hours of the ECMWF IFS and ECMWF AIFS
- Downloading the GEFS members p01 and p02 for only Temperature
- Downloading the Real-Time Mesoscale Analysis (RTMA)
- Downloading the RAWS SIG Group Fuels Data and the NFDRS Forecast for the RAWS SIG Groups for the South Ops Geographic Area Coordination Center
- Downloading the SPC Convective Outlook for CONUS
- Downloading NWS Maximum Temperature Forecast for Hawaii
- Downloading the GFS0P25 then performing pixel and line queries on the data
- Downloading various datasets from the Applied Climate Information System (ACIS)
- Downloading AIGFS Data
- Downloading AIGEFS Data
- Downloading and plotting the Climate Prediction Center 6-10 Day Precipitation Outlook
- 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
- Downloading Subsets Of ECMWF IFS Ensemble and AIFS Ensemble Data
- 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
Advanced Users
- Using the
clientmodule to download the latest HadCRUT5 Analysis netCDF file and open this dataset in xarray - Downloading the GFS0P25 for temperature fields and using run_external_scripts() to post-process this GFS0P25 dataset in an external Python script
WxData Documentation
Global Forecast System (GFS)
AI Global Forecast System (AIGFS)
Hybrid Global Ensemble Forecast System (HGEFS)
Global Ensemble Forecast System (GEFS)
AI Global Ensemble Forecast System (AIGEFS)
- AIGEFS Members (Pressure Parameters)
- AIGEFS Members (Surface Parameters)
- AIGEFS Ensemble Mean & Ensemble Spread
ECMWF Open Data
- ECMWF IFS
- ECMWF IFS Ensemble
- ECMWF AIFS
- [ECMWF AIFS Ensemble](https://github.com/edrewitz/WxData/blob/ma
Related Skills
imsg
350.8kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
oracle
350.8kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
lobster
350.8kLobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (s
claude-opus-4-5-migration
110.4kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
