A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

SounderPy

A python package that helps you to access and plot vertical profile data for meteorological analysis.
https://github.com/kylejgillett/sounderpy

Category: Atmosphere
Sub Category: Atmospheric Composition and Dynamics

Keywords

atmospheric-science atmospheric-sciences data-analysis-python meteorology python weather weather-data

Last synced: about 16 hours ago
JSON representation

Repository metadata

SounderPy is an open-source Python package for retrieving, processing, and visualizing atmospheric sounding data.

README.md

SounderPy, the vertical profile data retrieval and analysis tool for Python

LATEST VERSION: v3.0.3 | RELEASED: March, 2024 | COPYRIGHT Kyle J Gillett, 2023, 2024

A Python package that helps you to access and plot vertical profile data for meteorological analysis

PyPI Package
PyPI Downloads
PyPI license
PyPI pyversions
GitHub commits
Maintainer
made-with-python
DOI


VISIT SOUNDERPY DOCUMENTATION | CHECK OUT AN EXAMPLES & TUTORIALS

VISIT THE OPERATIONAL SOUNDERPY SOUNDING ANALYSIS SITE

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 and papers, such as students at Ohio State University, Central Michigan University & Rizal Technological University.

Why SounderPy?

  • Sometimes data is tough to find, and often times it’s even tougher to get it in the format you like. SounderPy gets you this data!
  • The code needed for loading and parsing meteorological data, especially from models, can be large and messy. SounderPy keeps it hidden away in a PyPi package – just import and call sounderPy functions to keep your code clean!
  • SounderPy functions are designed to be simple and quick making for reliable use in research, forecast/analysis operations, and simply for fun!

What kind of data?:

DATA FUNCTION TYPE TIME RANGE
ECMWF CDS ERA5 reanalysis* get_model_data() Reanalysis 1940-present
UNIDATA THREDDS TDS RAP get_model_data() Reanalysis 2005-present
UNIDATA THREDDS TDS RUC get_model_data() Reanalysis 2005-2020
UNIDATA THREDDS NCEP-FNL get_model_data() Reanalysis 2005-2020
ISU's BUFKIT archive get_bufkit_data() Model Forecast 2011-present
PSU's BUFKIT feed get_bufkit_data() Model Forecast Most recent runs
UNIDATA THREDDS TDS RAP get_model_data() Model Analysis Most recent run
OU ACARS Archive acars_data() Observations 2019-present
The Unv. of WY RAOB Archive get_obs_data() Observations 1973-present
IGRAv2 Observation archive get_obs_data() Observations 1905-present
NWS NEXRAD AWS Archive pyart_radar_profile() Observations 1990s-present

Installation

  1. Install the SounderPy software:

    • SounderPy is available on PyPi and can be installed via pip:

       pip install sounderpy
      
    • or via conda forge by first setting up the conda-forge channel:

       conda config --add channels conda-forge
       conda config --set channel_priority strict
      

      then

      conda install sounderpy
      

      or

      mamba install sounderpy
      
  2. Import SounderPy into your Python project:

    import sounderpy as spy
    
  3. Lets declare a few simple variables we can use to get data:

    year  = '2014' 
    month = '06'
    day   = '16'
    hour  = '18'
    station = 'OAX'
    
  4. Get some data!

    # this will get us 18z observations on June 16th, 2014 from OAX (Omaha, Neb)
    clean_data = spy.get_obs_data(station, year, month, day, hour)
    

    and boom! Now you have a callable dictionary of vertical profile reanalysis data including...

    • Temperature
    • Dewpoint
    • Pressure
    • Height
    • U-component Wind
    • V-component Wind

SounderPy can also plot profile data on unique sounding and hodograph figures!

spy.build_sounding(clean_data, color_blind=True)
spy.build_hodograph(clean_data, dark_mode=True)

To learn more about what you can do with SounderPy, check out the documentation


AUTHORS AND CONTRIBUTORS

AUTHOR: Kyle J Gillett, Central Michigan University

CONTRIBUTOR: Scott Thomas, NWS Grand Rapids | VWP Hodograph, Buoy-sites listing
CONTRIBUTOR: Amelia R H Urquhart, University of Oklahoma | ecape-parcels library
CONTRIBUTOR: Daryl Herzmann, Iowa State University | SounderPy Feedstock for conda-forge

CITING SOUNDERPY

DOI

in AMS format:


REFERENCES

  • Harris, C.R., Millman, K.J., van der Walt, S.J. et al. Array programming with NumPy. Nature 585, 357–362 (2020). DOI: 10.1038/s41586-020-2649-2.

  • Hoyer, S. & Hamman, J., (2017). xarray: N-D labeled Arrays and Datasets in Python. Journal of Open Research Software. 5(1), p.10. DOI: https://doi.org/10.5334/jors.148

  • J. D. Hunter, "Matplotlib: A 2D Graphics Environment", Computing in Science & Engineering, vol. 9, no. 3, pp. 90-95, 2007.

  • Ryan M. May, Sean C. Arms, Patrick Marsh, Eric Bruning, John R. Leeman, Kevin Goebbert, Jonathan E. Thielen, Zachary S Bruick, and M. Drew. Camron. Metpy: a Python package for meteorological data. 2023. URL: Unidata/MetPy, doi:10.5065/D6WW7G29.

  • Ryan M. May, Sean C. Arms, John R. Leeman, and Chastang, J. Siphon: A collection of Python Utilities for Accessing Remote Atmospheric and Oceanic Datasets. Unidata. 2017. [Available online at https://github.com/Unidata/siphon.] doi:10.5065/D6CN72NW.

  • Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland, Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson, Warren Weckesser, Jonathan Bright, Stéfan J. van der Walt, Matthew Brett, Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R. J. Nelson, Eric Jones, Robert Kern, Eric Larson, CJ Carey, İlhan Polat, Yu Feng, Eric W. Moore, Jake VanderPlas, Denis Laxalde, Josef Perktold, Robert Cimrman, Ian Henriksen, E.A. Quintero, Charles R Harris, Anne M. Archibald, Antônio H. Ribeiro, Fabian Pedregosa, Paul van Mulbregt, and SciPy 1.0 Contributors. (2020) SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. Nature Methods, 17(3), 261-272.

  • Marsh, P., Halbert, K., Blumberg, G., Supinie, T., Esmaili, R., Szkodzinski, J., "SHARPpy: Sounding/Hodograph Analysis and Research Program in Python." GitHub. Available at: https://github.com/sharppy/SHARPpy.

Citation (CITATION.cff)

cff-version: 1.2.0
title: SounderPy
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - affiliation: Central Michigan University
    email: [email protected]
    family-names: Gillett
    given-names: Kyle
    orcid: 'https://orcid.org/0009-0001-5528-5037'
identifiers:
  - type: url
    value: https://kylejgillett.github.io/sounderpy/
    description: SounderPy Documentation
repository-code: 'https://github.com/kylejgillett/sounderpy'
url: 'https://kylegillettwx.wordpress.com/'
repository: 'https://pypi.org/project/sounderpy/'
doi: "10.5281/zenodo.10011851"
keywords:
  - meteorology
  - science
  - python
  - atmospheric science
abstract: >-
  A python package that helps you to access and plot
  vertical profile data for meteorological analysis 
license: MIT
version: v3.0.0
date-released: '2024-01-08'

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 4 days ago

Total Commits: 71
Total Committers: 2
Avg Commits per committer: 35.5
Development Distribution Score (DDS): 0.014

Commits in past year: 71
Committers in past year: 2
Avg Commits per committer in past year: 35.5
Development Distribution Score (DDS) in past year: 0.014

Name Email Commits
Kyle Gillett k****0@g****m 70
Ryan Vandersmith r****h@g****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 30
Total pull requests: 8
Average time to close issues: 17 days
Average time to close pull requests: 3 days
Total issue authors: 12
Total pull request authors: 4
Average comments per issue: 2.0
Average comments per pull request: 1.38
Merged pull request: 5
Bot issues: 0
Bot pull requests: 0

Past year issues: 9
Past year pull requests: 6
Past year average time to close issues: 17 days
Past year average time to close pull requests: 4 days
Past year issue authors: 8
Past year pull request authors: 3
Past year average comments per issue: 2.33
Past year average comments per pull request: 1.33
Past year merged pull request: 4
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/kylejgillett/sounderpy

Top Issue Authors

  • kylejgillett (12)
  • AstroCGHA (5)
  • akrherz (3)
  • wxguy (2)
  • zhiris-wx (1)
  • RavenV-tiff (1)
  • ethankerrwx (1)
  • anadape (1)
  • VortDude (1)
  • CocoasColas (1)
  • wreed1989 (1)
  • Alan-Birnbaum (1)

Top Pull Request Authors

  • kylejgillett (3)
  • rvanasa (2)
  • akrherz (2)
  • adamorgler (1)

Top Issue Labels

  • psbl-future-addition (12)
  • bug (9)
  • enhancement (2)

Top Pull Request Labels

  • psbl-future-addition (1)

Package metadata

pypi.org: sounderpy

Vertical Profile Data Retrieval and Analysis Tool For Python

  • Homepage:
  • Documentation: https://sounderpy.readthedocs.io/
  • Licenses: MIT License
  • Latest release: 3.0.8 (published 3 months ago)
  • Last Synced: 2025-04-25T14:07:06.694Z (1 day ago)
  • Versions: 34
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,457 Last month
  • Rankings:
    • Dependent packages count: 7.427%
    • Stargazers count: 19.531%
    • Average: 26.998%
    • Forks count: 30.356%
    • Dependent repos count: 50.677%
  • Maintainers (1)

Score: 12.08884195730186