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
- 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.
- 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.
- 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)
- 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.
- 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.
- 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.
- 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 http://earth.nullschool.net
- pangeo: A community platform for Big Data geoscience
- ECCO: global ocean and sea-ice state estimate tutorial.
- NMC-WFT: The R & D Center for Weather Forecasting Technology in NMC, CMA
- Python & Practical Application on Climate Variability Studies: Main objective of this tutorial is the transference of know-how in practical applications and management of statistical tools commonly used to explore meteorological time series, focusing on applications to study issues related with the climate variability and climate change.
- Python for Climate and Meteorological Data Analysis and Visualisation: Python for Climate and Meteorological Data Analysis and Visualisation.
- Example notebooks showing how to work with ECMWF services and data