SkillAgentSearch skills...

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/WxData

README

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" />

Conda Recipe Conda Version Conda Platforms PyPI Anaconda-Server Badge Anaconda-Server Badge

DOI

Anaconda Downloads

Conda Downloads

PIP Downloads:

PyPI - 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:

  1. All ECMWF clients

  2. METAR Observations Client

  3. 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)
    
<img src="https://github.com/edrewitz/WxData/blob/main/diagrams/proxy.png?raw=true" width="500" alt="Alt text" />

For more information on configuring proxies: https://requests.readthedocs.io/en/latest/user/advanced/#proxies

  1. Converts GRIB variable keys into variable keys that are in plain language.

    • (e.g. 'r2' ---> '2m_relative_humidity')
  2. 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.
  3. Preserves system memory via the following methods:

    • Clears out old data files before each new data download.
    • Optional setting clear_recycle_bin in all functions.
      • When clear_recycle_bin=True the 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.

WxData Examples

Regular Users

  1. Downloading METAR Data
  2. Downloading Observed Sounding Data
  3. Downloading the first 72 hours of the ECMWF IFS and ECMWF AIFS
  4. Downloading the GEFS members p01 and p02 for only Temperature
  5. Downloading the Real-Time Mesoscale Analysis (RTMA)
  6. Downloading the RAWS SIG Group Fuels Data and the NFDRS Forecast for the RAWS SIG Groups for the South Ops Geographic Area Coordination Center
  7. Downloading the SPC Convective Outlook for CONUS
  8. Downloading NWS Maximum Temperature Forecast for Hawaii
  9. Downloading the GFS0P25 then performing pixel and line queries on the data
  10. Downloading various datasets from the Applied Climate Information System (ACIS)
  11. Downloading AIGFS Data
  12. Downloading AIGEFS Data
  13. Downloading and plotting the Climate Prediction Center 6-10 Day Precipitation Outlook
  14. 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
  15. Downloading Subsets Of ECMWF IFS Ensemble and AIFS Ensemble Data
  16. 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

  1. Using the client module to download the latest HadCRUT5 Analysis netCDF file and open this dataset in xarray
  2. 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)

  1. GFS0P25
  2. GFS0P25 SECONDARY PARAMETERS
  3. GFS0P50

AI Global Forecast System (AIGFS)

  1. AIGFS

Hybrid Global Ensemble Forecast System (HGEFS)

  1. HGEFS

Global Ensemble Forecast System (GEFS)

  1. GEFS0P50
  2. GEFS0P50 SECONDARY PARAMETERS
  3. GEFS0P25

AI Global Ensemble Forecast System (AIGEFS)

  1. AIGEFS Members (Pressure Parameters)
  2. AIGEFS Members (Surface Parameters)
  3. AIGEFS Ensemble Mean & Ensemble Spread

ECMWF Open Data

  1. ECMWF IFS
  2. ECMWF IFS Ensemble
  3. ECMWF AIFS
  4. [ECMWF AIFS Ensemble](https://github.com/edrewitz/WxData/blob/ma

Related Skills

View on GitHub
GitHub Stars21
CategoryData
Updated4d ago
Forks1

Languages

Python

Security Score

95/100

Audited on Apr 3, 2026

No findings