📖 About
SounderPy: A sounding visualization tool for severe-weather analysis and forecasting
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.
<br>
SounderPy has been used by several institutions. For example, this tool has been implemented by the Des Moines, Columbia, Grand Forks, Little Rock, Omaha, & 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.
☕ SounderPy is an open-source package developed on my own time. If you would you like to support continued SounderPy development, consider “Buying me a coffee”! ☕
Installation
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 strictthen you can install sounderpy via:
conda install sounderpy
or
mamba install sounderpy
In your Python document, its fun to import SounderPy as spy
!:
import sounderpy as spy
Sample Basic Use
SounderPy is designed for simple and efficient use for all users. Below is a basic example plotting an 03/31/2023 12z HRRR forecast profile at forecast hour 8 for BUFKIT site ‘KMLI’:
import sounderpy as spy
clean_data = spy.get_bufkit_data('hrrr', 'kmli', 8, '2023', '03', '31', '12')
spy.build_sounding(clean_data)
Those three basic lines will make this!:
More examples of these plots are available here
Citing SounderPy
- in AMS format:
Gillett, K., 2024: SounderPy: Vertical Profile Data Retrieval & Analysis Tool for Python (Version 3.0.5). Py-Pi, https://pypi.org/project/sounderpy/
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
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.