Skip to article frontmatterSkip to article content
pythia ncar

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

Satellite-based Earth observation is vital for global climate monitoring and disaster management. These systems provide critical data across a wide range of applications, including:

The latest third-generation geostationary satellites (GEOs) significantly enhance these capabilities. With advanced features such as RGB composite visualization, high-frequency sensing, and greater data availability, these satellites are central to monitoring both atmospheric and terrestrial environments—especially for early detection and response to disasters.

Public access to data from NOAA’s third-generation GEOs—GOES-16, GOES-17, GOES-18 (GOES-West), and GOES-19 (GOES-East)—is made possible through the NOAA Open Data Dissemination (NODD) Program, which partners with commercial cloud platforms like:

Additionally, AWS also hosts data from international 3rd-gen GEOs such as:

These partnerships enable near real-time access and long-term data archives for both domestic and global users.

To support weather services and disaster response agencies, 3rd-gen GEOs deliver continuous, high-resolution monitoring of key meteorological variables—such as cloud cover, temperature, and moisture—enabling better detection and forecasting of extreme weather events like hurricanes, tornadoes, and floods.

Finally, the visualization of satellite data in map-based formats is a critical task. It allows scientists, decision-makers, and emergency managers to:

Public access to NOAA's geostationary satellite data, including HIMAWARI, GK2A, GOES-16, GOES-17, GOES-18, and GOES-19, is made possible through the NOAA Open Data Dissemination NODD

A Python library called Satpy was created specifically for handling data from satellite instruments that observe the Earth.

Authors

NameAffiliation
Jorge BravoStevens Institute of Technology
Srihari (Hari) SundarNational Renewable Energy Lab
Brian MapesAffiliation University of Miami
Suman ShekharRutgers University, The state university of New Jersey
Tri NguyenIndiana University Bloomington
Deborah KhiderUniversity 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:

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 Shift/+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 “geostationary-cookbook” with the title of your cookbooks)

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

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

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

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

    cd notebooks/
    jupyter lab
References
  1. Jorge Humberto, B. M., Sundar, S., Mapes, B., Shekhar, S., Nguyen, T., & Khider, D. (2024). ProjectPythia/geostationary-cookbook: Geostationary satellite Cookbook. Zenodo. 10.5281/ZENODO.14231916