/awesome-atmos

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

awesome-atmos

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.
  • MET: Model Evaluation Tools
  • MONET: The Model and Observation Evaluation Toolkit (MONET). Currently, it handles CMAQ 4.7.1+, EPA AQS surface data, EPA AirNow, and the IMPROVE Aerosol data network. Current effort is being added to add in the ASOS network, the Climate Reference Network, sonde data and more. It will compute statistics, make time series, spatial and scatter plots, and more!

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

Radar

  • 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.
  • pyrad: Pyrad is a real-time data processing framework developed by MeteoSwiss.
  • PyCWR: The China Weather Radar Toolkit, support most of China's radar formats(WSR98D, CINRAD/SA/SB/CB, CINRAD/CC/CCJ, CINRAD/SC/CD)

Satellite

  • satpy: For Multiple sattlelite data product
  • PyCAMA: For TROPOMI Sentinel-5P Level2 product
  • pys5p: For TROPOMI Sentinel-5P Level1B product
  • pyresample: resample sattlelite image
  • TorchSat:TorchSat is an open-source deep learning framework for satellite imagery analysis based on PyTorch.

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).
  • DASK: advanced parallelism for analytics, enabling performance at scale for the tools you love.
  • tobac: tobac is a Python package for identifiying, tracking and analysing of clouds in different types of gridded datasets, i.e. 3D model output from cloud resolving model simulations or 2D data of satellite observations.

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)

Visualization

  • 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 http://earth.nullschool.net

Resources