Specialized AOS Tools

General

  • atmos: “An atmospheric sciences utility library”
  • Climate Data Analysis Tools (CDAT)
  • CEWE: “A Python Summary Statistics Tool for Massive Data Analysis”
  • Google Earth Engine: This is not a Python package but a cloud-based analysis engine and data center with a Python API.
  • Integrated Data Viewer (IDV): While not a Python package, this application for analysis and visualizing data can be controlled by Jython scripting.
  • Iris: “A Python library for Meteorology and Climatology”
  • obsio: “obsio is a Python package that provides a consistent generic interface for accessing weather and climate observations from multiple different data providers.”
  • PyGrADS: Python interface to GrADS.
  • PyNGL: Python NCAR Graphics Library package.
  • PyNIO: Read and write a variety of scientific data formats, including HDF and GRIB.
  • Ultrascale Visualization – Climate Data Analysis Tools (UV-CDAT)
  • xarray: Provides “a pandas-like and pandas-compatible toolkit for analytics on multi-dimensional arrays” adapting “the Common Data Model for self-describing scientific data in widespread use in the Earth sciences.”

Air Quality

Chimere Chemistry-Transport Model

  • CHIMPLOT: Interactive visualization for Chimere output.

Climate Analysis

  • aospy: “aospy is a Python-based tool for automating computations involving gridded climate data and the management of the results of those computations.”
  • ccf-homogenization: Module of homogenization algorithms for modern temperature datasets.
  • CdatLite: Pared down version of CDAT
  • Climate Data Analysis Tools (CDAT).
  • GHCNpy: “Package to import, analyze, and visualize data from the Global Historical Climatology Network – Daily (GHCN-D) Dataset 0.”
  • PCMDI Metrics Package (PMP): “The PCMDI metrics package is used to objectively compare results from climate models with observations using well-established statistical tests.”
  • PyClimate: Package of functions of netCDF operations, EOF and SVD analysis, and linear digital filtering.

Climate Modeling

  • CSEM_postprocessing: “CESM python based post-processing code”.
  • climlab: “climlab is a flexible engine for process-oriented climate modeling.”
  • CliMT: “Climate modelling and diagnostics toolkit” (old version)
  • ESMPy: “ESMPy is a Python interface to the Earth System Modeling Framework (ESMF) regridding utility.”
  • qtcm: “A Python Implementation of the Neelin-Zeng QTCM1”
  • Sympl: “A System for Modelling Planets”

Cloud Modeling

  • libcloudphysics++: “A library of algorithms for representing cloud microphysics in numerical models.”
  • parcel_model: “A 0D, adiabatic cloud parcel model for studying aerosol activation.”
  • PyDSD: “A python library for working with drop size distributions, disdrometers, and particle probes.”

Computational Fluid Dynamics

  • PyCLES: “A Python-Based Large-Eddy Simulation Infrastructure”

GIS and Spatial Analysis

  • ArcPy: Python scripting for ArcGIS
  • Geospatial Data Abstraction Library (GDAL) Package: A set of extentions to make GDAL calls from Python.
  • GeoPandas: “GeoPandas extends the datatypes used by pandas to allow spatial operations on geometric types.”
  • MapProxy: Tile cache solution for serving maps.
  • OpenClimateGIS: Package to make climate model data available to GIS users.
  • PyKML: Package for reading and writing KML documents.
  • pyproj: “Python interface to PROJ4 library for cartographic transformations.”
  • PyQGIS: Python scripting for Quantum GIS (QGIS).
  • PySAL: Library of functions for spatial analysis.
  • pyshp: Read and write ESRI shapefiles.
  • rasterio: “Clean and fast and geospatial raster I/O for Python programmers who use Numpy”.
  • Shapely: “Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects.”

Gridding and Geometry

  • pyproj: “Python interface to PROJ4 library for cartographic transformations.”
  • pyresample: “Pyresample is a Python package for resampling (reprojection) of earth observing satellite data.”
  • pyspharm: “Provides an object-orFor “EOF analysis of spatial-temporal data” (Andrew Dawson). Replaces the eof2 package.iented python interface to the NCAR SPHEREPACK library. Can perform spherical harmonic transforms to and from regularly spaced and gaussian lat/lon grids.” (Jeff Whitaker)
  • windspharm: “A Python package for doing computations on global vector wind fields in spherical geometry (e.g., computing streamfunction, divergent wind etc.). Features optional metadata support (using cdms2). Requires pyspharm.” (Andrew Dawson)

Hydrology

  • climata: “Loads climate and hydrology data from ACIS (NOAA RCCs), CoCoRaHS, Hydromet (USBR), SNOTEL AWDB (NRCS) and NWIS (USGS).”
  • Open Hydrology: “We are building a library of open source hydrological software written in Python to operate as packages under an umbrella interface.”
  • pyDEM: “Python library for Global Hydrology Analysis. Used to calculate upstream contributing area, aspect, slope, and topographic wetness index.”
  • PyDSD: “A python library for working with drop size distributions, disdrometers, and particle probes.”
  • ulmo: “clean, simple and fast access to public hydrology and climatology data”

Meteorological Analysis

  • AWIDS: Advanced Weather Interactive Diagnostic System
  • BestTrack: “Object-based path identification and analysis”
  • MesoPy: “MesoPy is a small pure python wrapper around the MesoWest (http://mesowest.utah.edu/) API which is updated daily with over 4.5 million observations.”
  • MetPy: “MetPy is a collection of tools in Python for reading, visualizing and performing calculations with weather data.”
  • PyABL: “Collection of Python code for serial and parallel Atmospheric Boundary Layer (ABL) analysis.”
  • PyDSD: “A python library for working with drop size distributions, disdrometers, and particle probes.”
  • SkewT: “SkewT provides a few useful tools to help with the plotting and analysis of upper atmosphere data. In particular it provides some useful classes to handle the awkward skew-x projection.”
  • stations: A module to return the location of a meteorological observing site given its ICAO, IATA, or SYNOP id.
  • WinDB2: Wind Database version 2 “is a geospatial database and a suite of associated utilities to store geodata in a flexible manner.”
  • WxMAP2: Create weather maps from numerical weather prediction models. Based on GrADS.

Ocean Modeling

  • Veros: “Versatile Ocean Simulation in Pure Python”

Oceanographic Analysis

Radar

  • MMM-Py: “Marshall MRMS Mosaic Python Toolkit”
  • PyAMPR: “Python Advanced Microwave Precipitation Radiometer Data Toolkit (PyAMPR)”
  • Py-ART: “The Python-ARM Radar Toolkit. An data model driven interactive toolkit for working with weather radar data.”
  • PyTDA: “Python Turbulence Detection Algorithm (PyTDA)”
  • Basic Envisat Atmospheric Toolbox
  • ccplot: Plotting tools for CloudSat CPR, CALIPSO CALIOP, and Aqua MODIS HDF4 and HDF-EOS2 files.
  • pytroll: “Its objective is provide different free and open source python modules for the reading, interpretation, and writing of weather satellite data.”

Severe Weather and Storms

  • hagelslag: “Hagelslag is an object-based severe storm hazard forecasting system.”
  • BestTrack: “Object-based path identification and analysis”

Time Series Analysis

  • eofs: For “EOF analysis of spatial-temporal data” (Andrew Dawson). Replaces the eof2 package.

Very Large Dataset Analysis

  • cf-python: “… implements the CF data model for the reading, writing and processing of data and metadata.”
  • Biggus: Virtual arrays with lazy evaluation to analyze very large datasets
  • PyGeode: Facilitates the analysis, manipulation, and visualization of very large gridded datasets.
  • Siphon: “Siphon is a collection of Python utilities for downloading data from Unidata data technologies. Siphon’s current functionality focuses on access to data hosted on a THREDDS Data Server.”

Visualization

The packages listed here are only a subset of the visualization packages that exist for Python. Please see this page for a more complete listing.

  • pv_atmos: “Python scripting for scientific visualization software ParaView. Applied to atmospheric netCDF data.”
  • PyNGL: Python NCAR Graphics Library package.
  • SkewT: “SkewT provides a few useful tools to help with the plotting and analysis of upper atmosphere data. In particular it provides some useful classes to handle the awkward skew-x projection.”
  • VAPOR: “Visualization and Analysis Platform for Ocean, Atmosphere, and Solar Researchers.” An interactive 3-D visualization tool with Python integration.
  • VisAD: McIDAS-V is built on VisAD. While VisAD is written in Java, Python accessibility is provided via Jython.

Weather Stations

  • WeeWX: “weewx is a free, open source, software program, written in Python, which interacts with your weather station to produce graphs, reports, and HTML pages.”

Workflow Management

  • aospy: “aospy is a Python-based tool for automating computations involving gridded climate data and the management of the results of those computations.”
  • cylc: “Cylc (‘silk’) is a workflow engine for cycling systems – it orchestrates complex distributed suites of interdependent cycling tasks.”

WRF (Weather Research and Forecasting Model)

  • newse_retro: “This collection of python scripts is intended to be used to post-process, plot, and verify Weather Research and Forecasting (WRF) ensemble forecasts.”
  • PyWRF: WRF post-processing.
  • wrf-python: “A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model.”
  • wrftools: “A scripting framework for running the WRF model, mainly designed to support operational forecasts.”