In this project, we use geostationary imagery from the GOES-16 satellite to segment smoke plumes. We compare the performance of the segmented smoke plumes against plumes generated by NOAA analysts by externally validating against EPA PM2.5 station readings for years not used in training. You can find more details about the project and the paper presented at ICML 2021 Tackling Climate Change with Machine Learning Workshop at the following links [paper, presentation]. Below are a few of the key files (not all listed).
src/aws_satpy_download_script.py
- main downloader script that fetches AWS GOES-16 imagery based on input smoke plume filesrc/raster_to_poly.py
- used trained models to output raster of segmentation and convert to polygon for downstream analysissrc/utils/
- utility files used throughout download, training, and testing scriptssrc/utils/data_downloader.py
- downloading functionssrc/utils/data_prep.py
- helper functions used in cropping, formatting, generating true color, etc.src/utils/data_set.py
- Pytorch dataset class that provides multi-channel satellite and truth masksrc/utils/data_vis.py
- functions used for visualizing input imagerysrc/utils/merra2_cropping.R
- script to crop MERRA-2 downloads to the correct bounding boxsrc/utils/helpers.py
- misc. functions
analysis/
- scripts used to compare models vs. hand drawn plumes and to generate model results figures