/cookbook-geosat

2024 Pythia Hackathon for Geostationary satellites

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

pythia ncar

Geostationary satellite Cookbook

nightly-build Binder DOI

This "Pythia Cookbook" was started during the Project Pythia June 11-14 2024 in Boulder, CO at the NCAR Mesa Lab. The "COOKBOOK GEOSAT" aims to provide a comprehensive guide for utilizing Satpy to analyze geostationary satellite data of the sensor Advanced Baseline Imager (ABI) on GOES-R (west and east), sensor Advanced Himawari Imager (AHI) on HIMAWARI, and sensor Advance Meteorological Imager (AMI) on Geo-KOMPSAT-2A (GK2A). Satpy is a powerful Python library specifically designed for processing and analyzing satellite data, offering capabilities for data visualization, manipulation, and analysis.

pythia ncar

Motivation

Public access to NOAA's geostationary satellite data, including GOES-16, GOES-17, and GOES-18, is made possible through the NOAA Open Data Dissemination NODD Program on commercial cloud platforms like Microsoft Azure, Amazon Web Services, and Google Cloud Platform. Amazon Web Services also hosts data from two other geostationary satellites HIMAWARI and Geo-KOMPSAT-2A. NODD's partnerships with top cloud providers enable near real-time access to to all these satellites, as well as long archives.

Global weather, climate, and environmental phenomena monitoring is greatly aided by geostationary satellites such as GOES-R, HIMAWARI, and GK2A. The need for thorough tools and resources to efficiently analyze and interpret satellite data is growing as the use of such data for scientific research, weather forecasting, and environmental monitoring grows.

A Python library called Satpy was created specifically for handling data from satellite instruments that observe the Earth. Remote-sensing data can be read, modified, and written with it. Geophysical parameters can be converted from various file formats into Xarray DataArray and Dataset classes, which allow for easy integration with other scientific Python libraries. Satpy combines data from various instrument bands or products to make it easier to create RGB images and composite types. In order to enhance the quality and usefulness of images, it has features for atmospheric corrections and visual improvements. Several formats, including PNG, GeoTIFF, and CF standard NetCDF files, are available for saving output data. Users can resample data to geographic projected grids (areas) using Satpy as well.Although there are already guides and tutorials available for using Satpy, there isn't much thorough advice that is tailored specifically to the analysis of the three geostationary satellites that can be accessed freely from AWS buckets AWS_GOES-R, AWS_HIMAWARI, and AWS_GK2A. Users can gain access to structured tutorials, detailed instructions, and sample workflows that are specifically designed to meet the needs and distinctive features of these satellites by creating a cookbook specifically for them.

Authors

Name Affiliation
Jorge Bravo Stevens Institute of Technology
Srihari (Hari) Sundar National Renewable Energy Lab
Brian Mapes Affiliation University of Miami
Suman Shekhar Rutgers University, The state university of New Jersey
Tri Nguyen Indiana University Bloomington
Deborah Khider University of Southern California

Contributors

Structure

This development cookbook serves as an example of how to gather, handle, and present various geostationary satellite data types.

Foundations

The ABI on the GOES-R series, the AHI on the Himawari satellites, and the AMI on the Geo-KOMPSAT-2A satellites all provide multi-channel visibility through their respective 16 spectral bands.

These sensors have several similarities in their spectral band configurations:

  • All three instruments have bands covering the visible, near-infrared, and infrared portions of the electromagnetic spectrum.
  • The central wavelengths of the spectral bands are comparable across the ABI, AHI, and AMI, enabling similar meteorological and environmental observations.
  • The spatial resolutions of the bands also exhibit similarities, with the visible bands typically having finer spatial resolution

Example workflows

Several notebooks with the following structure can be found in the notebooks directory:

Given that you have read the 00_geosat_explaining_steps.ipynb and have a basic understanding of how to use Satpy, the following notebooks are designed without providing an explanation of the various sensors on each satellite.

Running the Notebooks

You can either run the notebook using Binder or on your local machine.

Running on Binder

The simplest way to interact with a Jupyter Notebook is through Binder, which enables the execution of a Jupyter Book in the cloud. The details of how this works are not important for now. All you need to know is how to launch a Pythia Cookbooks chapter via Binder. Simply navigate your mouse to the top right corner of the book chapter you are viewing and click on the rocket ship icon, (see figure below), and be sure to select “launch Binder”. After a moment you should be presented with a notebook that you can interact with. I.e. you’ll be able to execute and even change the example programs. You’ll see that the code cells have no output at first, until you execute them by pressing {kbd}Shift/+{kbd}Enter. Complete details on how to interact with a live Jupyter notebook are described in Getting Started with Jupyter.

Running on Your Own Machine

If you are interested in running this material locally on your computer, you will need to follow this workflow:

(Replace "cookbook-geosat" with the title of your cookbooks)

  1. Clone the https://github.com/ProjectPythia/cookbook-geosat repository:

     git clone https://github.com/ProjectPythia/cookbook-geosat.git
  2. Move into the cookbook-geosat directory

    cd cookbook-geosat
  3. Create and activate your conda environment from the environment.yml file

    conda env create -f environment.yml
    conda activate cookbook-geosat
  4. Move into the notebooks directory and start up Jupyterlab

    cd notebooks/
    jupyter lab