Skip to content
A curated list of awesome Python libraries, software and resources in Atmosphere, Environment and Machine Learning
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


A curated list of awesome Python libraries, software and resources in Atmosphere, Environment and Machine Learning

Inspired by awesome-python

  • Awesome Atmosphere
    • Numerical Model
    • Data Assimilation
    • Radar
    • Satellite
    • Calculating Index
    • Data Processing/Analysis
    • Machine Learning
    • Visualization
    • Resources

Numerical Model

  • wrf-python: WRF results postprocessing
  • CAMxtools: CAMx and CMAQ results postprocessing
  • salem: Model results post-processing, including WRF pre/post processing
  • geos2cmaq: Map GEOS-Chem results to CMAQ boundary condition
  • ingest_cm1: A Fortran library to read CM1 output files
  • CESM_postprocessing: Project repository for the CESM python based post-processing code, documentation and issues tracking.
  • SuPy: a Python-enhanced urban climate model with SUEWS as its computation core.
  • xskillscore: xskillscore is an open source project and Python package that provides verification metrics of deterministic (and probabilistic from properscoring) forecasts with xarray.
  • climpred: An xarray wrapper for analysis of ensemble forecast models for climate prediction.
  • esmlab: Tools for working with earth system multi-model analyses with xarray.
  • pysplit: A package for HYSPLIT air parcel trajectory analysis.

Data Assimilation

  • DAPPER: Data Assimilation with Python: a Package for Experimental Research (DAPPER). DAPPER enables the numerical investigation of DA methods through a variety of typical test cases and statistics.
  • pyWRFDART: A collection of Python scripts for running WRF with the DART data assimilation system
  • PSU_WRF_EnKF: PSU WRF Ensemble-Variational Data Assimilation System


  • PyART: A data model driven interactive toolkit for working with weather radar data.
  • wradlib: An open source library for weather radar data processing.
  • DualPol: Python Interface to Dual-Pol Radar Algorithms.
  • SingleDop: Single Doppler Retrieval Toolkit.
  • ARTView: Interactive radar viewing browser.
  • PyCINRAD:Decode CINRAD radar data and visualize.


  • satpy: For Multiple sattlelite data product
  • PyCAMA: For TROPOMI Sentinel-5P Level2 product
  • pys5p: For TROPOMI Sentinel-5P Level1B product
  • pyresample: resample sattlelite image

Calculating Index

  • Metpy: To calculate many of atmos index
  • Sharppy: Sounding/Hodograph Analysis and Research Program
  • atmos: An atmospheric sciences library for Python
  • GeoCAT-comp: GeoCAT-comp is the computational component of the GeoCAT project. GeoCAT-comp wraps NCL's non-WRF Fortran routines into Python.

Data Processing/Anslysis

  • siphon: Siphon is a collection of Python utilities for downloading data from remote data services
  • cfgrib: processing grib format file
  • h5netcdf: Pythonic interface to netCDF4 via h5py
  • PseudoNetcdf: PseudoNetCDF like NetCDF except for many scientific format backends
  • netcdf4-python: python/numpy interface to the netCDF C library
  • xarray: N-D labeled arrays and datasets in Python
  • iris: in- memory manipulation of labeled arrays supported by the UK Met office
  • PyNio: PyNIO is a multi-format data I/O package with a NetCDF-style interface
  • xESMF: Universal Regridder for Geospatial Data
  • esmlab-regrid: a lightweight library for regridding in Python.
  • geopandas: Python tools for geographic data
  • Pandas:Data structures and computational tools for working with tabular datasets
  • PySAL: Python spatial analysis library
  • cdat: Community Data Analysis Tools
  • aospy: Python package for automated analysis and management of gridded climate data
  • climlab:Process-oriented climate modeling
  • CDMS:Python Object-oriented data management system for multidimensional, gridded data used in climate analysis and simulation
  • eof2:EOF analysis in Python
  • statsmodels:statsmodels is a Python module that provides classes and functions for the estimation of many different statistical models
  • Pysteps:an open-source Python library for probabilistic precipitation nowcasting
  • QGIS:C++ GIS platform to visualize, manage, edit, analyse data, and compose printable maps
  • pyproj:Python interface to PROJ (cartographic projections and coordinate transformations library).

Machine Learning

  • hageleslag: Hagelslag is an object-based severe storm hazard forecasting system
  • IDEA Lab: Research in data science and applied artificial intelligence/machine learning with a focus on high-impact real-world applications
  • EarthML: Tools for working with machine learning in earth science
  • sklearn: A Python module for machine learning built on top of SciPy.
  • keras - High-level neural networks frontend for TensorFlow, CNTK and Theano.
  • TensorFlow - Open source software library for numerical computation using data flow graphs.
  • PyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
  • MXNet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Go, Javascript and more.
  • XGBoost - A parallelized optimized general purpose gradient boosting library.
  • CatBoost - General purpose gradient boosting on decision trees library with categorical features support out of the box for R.
  • LightGBM - Microsoft's fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
  • hur-detect: Deep Semi-Supervised Object Detection for Extreme Weather Events.
  • pyod: A Python Toolbox for Scalable Outlier Detection (Anomaly Detection)


  • matplotlib: plotting with Python
  • PyNGL: PyNGL ("pingle") is a Python module built on top of NCL's graphics library.
  • Seaborn: Statistical data visualization using matplotlib
  • Basemap: Plot on map projections (with coastlines and political boundaries) using matplotlib.
  • Cartopy: Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy.
  • cmaps:Make it easier to use user defined colormaps in matplotlib.Default colormaps are from NCL website.
  • holoviews: make data analysis and visualization seamless and simple
  • earth wind map: a project to visualize global weather conditions


You can’t perform that action at this time.