Python resources
satellite image of the North Atlantic, 18 UTC 31 Aug 2023

an evolving list of Python resources



I learned much of what I know about Python by following examples posted by others. This section lists resources and code examples that I've found helpful and could help you too.

Unidata Python example gallery

Project Pythia's cookbooks

Matplotlib example gallery

Data Analysis with Python: Zero to Pandas, a beginner-friendly introduction highlighted by Project Pythia

xarray fundamentals by Ryan Abernathey

Python scripts for the geosciences by Kim Wood (I need to post more!)

Useful packages and their documentation

I've encountered so many packages that have enabled me to pursue answers to my research questions, craft accessible data visualizations, or simply explore the wonders of our dynamic atmosphere. I manage my Python package installations with conda, and I recommend installing mamba to facilitate package installation and updates. Below, I list multiple Python packages and links to their documentation so others can build from my years of stumbling through StackExchange and other Internet resources. :) Sometimes learning what tools are out there is half the battle!

argopy, a Python library that aims to ease Argo data access, visualisation, and manipulation for regular users as well as Argo experts and operators (TC-relevant examples of sub-surface ocean temperature profiles from the 2020 Atlantic hurricane season)

boto3, create, configure, and manage AWS services with an easy to use, object-oriented API (also provides low-level access to AWS services)

cartopy, a Python package designed for geospatial data processing in order to produce maps and other geospatial data analyses

dask, enables parallel processing by integrating with existing packages like xarray or scikit-learn

datetime, handle date formats and time changes with ease (including Julian days)

GeoCAT-comp, provides implementations of computational functions for operating on geosciences data; many of these functions originated in NCL and were translated into Python

GeoPandas, a project to ease working with geospatial data in Python

matplotlib, a comprehensive library for creating static, animated, and interactive visualizations in Python

MetPy, a collection of tools in Python for reading, visualizing, and performing calculations with weather data

NumPy, the fundamental package for scientific computing with Python

pandas, a fast, powerful, flexible and easy to use open source data analysis and manipulation tool

Pyresample, a Python package for resampling geospatial image data

SciPy, a collection of numerical algorithms and domain-specific toolboxes, including signal processing, optimization, and statistics

Shapely, a Python package for manipulation and analysis of planar geometric objects

siphon, a collection of Python utilities for downloading data from remote data services

windspharm, to perform computations on global wind fields in spherical geometry

xarray, N-D labeled arrays and datasets in Python

More esoteric packages

DRpy, a package to ease interrogation of GPM DPR (spaceborne radar) data

gsw-python, a Python implementation of the Thermodynamic Equation of Seawater 2010 (TEOS-10)

TAMS, or Tracking Algorithm for Mesoscale Convective Systems, is a Python package to objectively identify and track regions of convection for African easterly waves and other applications

tcpyPI, TC potential intensity calculations in Python using the Bister and Emanuel (2002) algorithm

zipfile, a Python package to work with ZIP archives

Remote datasets that Python can access (without downloading files!)


NOAA NCEI THREDDS server (includes long-term datasets as well as real-time model fields)

NOAA Big Data Program on AWS

Unidata real-time THREDDS server

UCAR Research Data archive (account required; THREDDS access is an option)

Other useful datasets for TCs

TC-RADAR, an airborne Doppler radar dataset providing post-processed swath and merged analyses combined into two homogeneous data files with relevant metadata pertaining to both the TC best-track information and the TC environment (click here for the peer-reviewed article in MWR)

TC-PRIMED, or the Tropical Cyclone PRecipitation, Infrared, Microwave, and Environmental Dataset, a comprehensive 22-year (1998 to 2019) dataset of global tropical cyclone satellite passive microwave observations

Animations generated using tools listed on this page

GOES-16 satellite animation of the 2019 Atlantic hurricane season with each storm labeled while active (YouTube)

GOES-16 satellite animation of the 2021 Atlantic hurricane season with each storm labeled while active (YouTube)

(page last updated October 2023)