Skip to main content

[AMS Course] Making Beautiful Images of NOAA Satellite Data Using Python

Observations from NOAA’s geostationary (GOES-R) and polar-orbiting (JPSS) satellites provide vital information for a myriad of research and operational applications in Atmospheric and Oceanic Sciences. NOAA satellite data are distributed in netCDF4 (.nc) format, however, and the process of accessing the files and processing the contents correctly can be challenging. This short course will break down these barriers by teaching participants how to use Python to perform the basic steps necessary to work with NOAA netCDF4 satellite data files, with the end goal of making professional-quality imagery suitable for use in scientific presentations and journal articles, or in social media.


Examples of "beautiful images" that can be produced.
Two examples of "beautiful images" that can be produced via methods taught in this course. The first was made with data collected via the VIIRS instrument on Suomi NPP, and shows high concentrations of atmospheric aerosols associated with smoke from wildfires/seasonal burning in North and South America, central Africa, East Asia, and South Asia and blowing dust in North Africa and central Asia on Sep 11, 2022 (note the missing "stripes" over the oceans are due to sunglint). The second is a GOES-East ABI Dust RGB composite image of a dust storm in Kansas and Nebraska on October 23, 2022.


Course Description

The full-day course will consist of sequential hands-on Python tutorials. Participants will run provided Python code in Jupyter Notebook, learning best practices for using popular Python packages such as netCDF4, NumPy, Matplotlib, Cartopy, MetPy, and SharpPy to:

  • Access/download NOAA satellite netCDF4 files from online data archives
  • Open netCDF4 data files, understand the file structure, and read the file contents
  • Process satellite data and apply quality/confidence flags
  • Visualize satellite data, including use of map projections.

Examples will focus on specific GOES-R (ABI) and JPSS (VIIRS, NUCAPS) datasets, such as dust RGB, aerosol optical depth, and temperature and water vapor profiles, for relevant events/hazards including fires, smoke, blowing dust, and winter storms. But the presented workflow and Python skills will be applicable to any NOAA netCDF4 satellite data. At the end of the course, participants will have the opportunity to visualize a data file of their choosing; participants can bring a data file to work with, or instructors can help them download a file of interest from one of the NOAA online archives.


Requirements and Prerequisites 

Basic familiarity with Python is strongly recommended. Those new to Python must have expertise in another programming language (e.g., IDL). Potential participants who are unsure if they have the necessary Python skills should contact the instructors prior to registering for the course.

Participants must use their own computer for the Short Course. The instructors will distribute the course Python code files in Jupyter Notebook format (.ipynb) no later than one week before the course; participants will be expected to install these files on their computer prior to the beginning of the course.



Headshots of Dr. Rebekah Esmaili and Dr. Amy K. Huff