Skip to main content

SounderPy

Atmospheric vertical-profile retrieval, analysis, and visualization for Python

Retrieve observations, forecasts, and reanalyses.
Analyze thermodynamic and kinematic environments.
Create publication-ready soundings and hodographs.

PyPI Python Conda Version License JOSS

Documentation · Tutorials · Plot Gallery · Operational Site · PyPI


SounderPy example sounding

What is SounderPy?

ABSTRACT: SounderPy is a simple, open-source Python package for retrieving and plotting vertical profile (sounding) data. Built for simplicity and reliability for all uses and users, this project’s goal is to provide a uniform method for sounding analysis across multiple data types. Severe weather analysis and forecasting requires a sound comprehension of thermodynamic and kinematic properties of the environment. SounderPy makes this possible with robust access to data and custom visualizations. The tool creates complex yet effective sounding and hodograph plots with high readability which are designed specifically for severe weather analysis and forecasting. SounderPy is capable of retrieving and plotting model forecast data, observed radiosonde data, Aircraft Communications Addressing and Reporting System (ACARS) observation data, and model reanalysis data. All of this functionality can be completed in three simple lines of code or less, making SounderPy an accessible tool for both Python experts and novices. A number of scientific Python libraries build the base of SounderPy’s efficient and durable functionality, such as NumPy, Matplotlib, xarray, Metpy, and SHARPpy. SounderPy is available through GitHub and PyPi and is distributed under an MIT license.

SounderPy has been used by several institutions. For example, this tool has been implemented by the Des Moines, Columbia, and Grand Rapids National Weather Service Offices, the State University of New York at Albany, Mississippi State University, the University of North Dakota, and others. Many students at various universities have used SounderPy in projects, posters, and papers, such as students at The University of Oklahoma, Ohio State University, Central Michigan University, Iowa State University, & Rizal Technological University. hodograph visualizations.

Why SounderPy?

  • Retrieve data without writing retrieval/parsing code yourself.
  • Use one workflow across observations, forecasts, reanalyses, and model data.
  • Calculate severe-weather thermodynamic and kinematic parameters.
  • Create sounding, hodograph, VAD, and composite-sounding figures.
  • Customize parcels, storm motion, radar, maps, themes, and plot accessibility.
  • Export profiles to CSV, SHARPpy, and CM1 formats.
  • Use SounderPy from Python or directly from the command line.

Installation

pip

pip install sounderpy

conda-forge

conda install conda-forge::sounderpy

or:

mamba install conda-forge::sounderpy

Then import SounderPy:

import sounderpy as spy


Quickstart

Retrieve the 18 UTC OAX observed sounding from 16 June 2014:

import sounderpy as spy

data = spy.get_obs_data(
    "OAX",
    "2014", "06", "16", "18",
    hush=True,
)

spy.build_sounding(data)

That's it.

data is now a SounderPy clean_data dictionary containing the vertical profile and associated metadata.

Typical fields include:

p          pressure
z          height
T          temperature
Td         dewpoint
u          u-component wind
v          v-component wind
site_info  profile metadata

Explore more examples in the SounderPy Plot Gallery.



Command Line Interface

SounderPy can also be used without writing a Python script.

Retrieve an observation

sounderpy obs OAX 2014-06-16 18

Retrieve RAP/RUC

sounderpy model rap-ruc 44.58 -100.82 2024-08-28 18 \
    --box-size 0.25

Create a plot

sounderpy obs OAX 2014-06-16 18 \
    --plot sounding \
    --map-zoom 0 \
    --plot-file oax_sounding.png

Export data

sounderpy obs OAX 2014-06-16 18 \
    --output oax.csv



Case Studies and Tutorials

The documentation includes task-oriented tutorials that build complete SounderPy workflows rather than simply listing function arguments.

Topics include:

  • plot appearance and accessibility;
  • maps and radar;
  • parcel settings;
  • hodograph configuration;
  • observations, forecasts, and reanalyses;
  • composite soundings;
  • data export;
  • command-line workflows;
  • real severe-weather case studies.

Start here: SounderPy Tutorials →




SounderPy 3.2

Version 3.2 expands both SounderPy's data-access workflow and the ways it can be used.

Major changes include:

  • new command line interface for retrieval, plotting, JSON, and file export;
  • modernized RAP/RUC retrieval, including GRIB2-based archive access;
  • expanded automated testing and packaging infrastructure;
  • substantially expanded documentation, tutorials, and visual examples.

See the repository's release history for version-specific details.




Questions, bugs, and feature ideas are welcome through GitHub Issues.




Citing SounderPy

If SounderPy contributes to research or a publication, please cite the SounderPy JOSS article:

Gillett, K. J., 2025: SounderPy: An atmospheric sounding visualization and analysis tool for Python. J. Open Source Software, 10 (112), 8087. https://doi.org/10.21105/joss.08087

BibTeX:

@article{Gillett2025SounderPy,
  author  = {Gillett, Kyle J.},
  title   = {SounderPy: An atmospheric sounding visualization and analysis tool for Python},
  journal = {Journal of Open Source Software},
  year    = {2025},
  volume  = {10},
  number  = {112},
  pages   = {8087},
  doi     = {10.21105/joss.08087}
}



Authors and Contributors

Author

  • Kyle J. Gillett — University of North Dakota

Contributors

  • Scott Thomas, NWS Grand Rapids — VWP hodograph and buoy-site listing
  • Amelia R. H. Urquhart, University of Oklahoma — ecape-parcels
  • Daryl Herzmann, Iowa State University — SounderPy conda-forge feedstock
  • Ryan Vandersmith — stepwise CAPE/CIN plot
  • David E. Levin, NOAA/NWS — Alaskan RAOB site identifiers

Additional contributors are recognized through the repository history.




License

SounderPy is distributed under the MIT License.


Metadata

Release files for sounderpy 3.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sounderpy 3.2.0
File Size Uploaded
sounderpy-3.2.0.tar.gz 279.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sounderpy 3.2.0
File Interpreter ABI Platform
sounderpy-3.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 569.1 kB

Release files / sounderpy-3.2.0.tar.gz

Download URL sounderpy-3.2.0.tar.gz
Size 279.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ad9623a5d3e037eff259c7b621d8605405b44aeaed4b6691494de7288fe51123
BLAKE2b-256 checksum
How to use checksums
4e355d2f20e5427fd8555671902ebc6aea29eee74e1501a167c99881f1c86d36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / sounderpy-3.2.0-py3-none-any.whl

Download URL sounderpy-3.2.0-py3-none-any.whl
Size 289.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74c0aea34d7a5a8eee0bcecf6fea63e858783c0067eaa092e9f6f5dc6917fd74
BLAKE2b-256 checksum
How to use checksums
5faaad5abdff00b74ffdfed715c20fdef155f6ce8b9daedd08ea01ae53460b64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page