pyMeteo is an open source Python module for meteorological support. It is developed for Python 3.x but also works in Python 2.7. The module features include:

Skew-T plotting

Skew-T plotting is supported from the module skewt and from command line scripts. Both thermodynamic sounding and hodographs can be plotted and various values calculated from the data including estimated storm motion, storm and environment relative helicity, CAPE, CIN, and more.

The plots can be plotted directly from numpy arrays, CSV data, WRF output, or CM1 output.

WRF / CM1 input sounding and wind data generation for model initialization

An extensible graphical utility (PyQT5) for algorithmic generation of thermodynamic soundings and wind profiles is provided by the cm_geninit script. The output files generated from this utility are suitable for input to both the WRF and CM1 weather models.

The thermodynamic sounding provided is the Weisman Klemp (1982) analytic sounding. The sounding parameters can be modified and displayed before the file is written. It is fairly straightforward to implement other analytic soundings and a future tutorial will be provided. I also welcome pull requests if you implement it yourself!

The wind profiles provided are straight, semicircle, quartercircle and "sickle".

General purpose meteorological routines

These routines are general conversion utilities and calculators. These support the skew-t plotting and can calculate many things. Full documentation of these will be available as pyMeteo approaches version 1.0

CM1 model output data access

Python classes in the pymeteo.cm1.read_hdf5 and pymeteo.cm1.read_grads modules allow accessing CM1 output data. The read_grads class reads native CM1 output and the read_hdf5 module reads re-tiled hdf5 output post-processed by ingest_cm1.

Getting pyMeteo

The easiest way to get the latest stable release of pyMeteo is from PyPi with pip

pip install pymeteo

To get the latest development version of pyMeteo, you can clone the github repository.

git clone
cd pyMeteo
python install

If you want to make modifications or additions to pyMeteo and contribute back to the project, you can fork the repo on github and submit pull requests. I welcome contributions!


Documentation is a work in progress and targeted for completion for the version 1.0 milestone. Current documentation can be viewed here.

Recent Tweets

  • Casey Webster

    Casey Webster @wxCasey

    @therobdale that's on my list along with a map to plot the airports with available soundings.
    5 years, 3 months ago

  • Casey Webster

    Casey Webster @wxCasey

    @Albatrossoar thanks for the report, I'll check that out.
    5 years, 3 months ago

  • Casey Webster

    Casey Webster @wxCasey

    @therobdale I'll update the page with details. Data files are all public and can be found at
    5 years, 3 months ago