Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/NASAARSET/PM2.5_AQ_Online_2026/llms.txt

Use this file to discover all available pages before exploring further.

Fine particulate matter — PM2.5, particles smaller than 2.5 micrometers in diameter — is one of the most harmful air pollutants to human health. At that size, particles penetrate deep into the lungs and enter the bloodstream, contributing to respiratory disease, cardiovascular illness, and premature death. Ground-based monitoring networks provide the most accurate local measurements, but they are sparse or absent across much of the world. Satellite-derived PM2.5 estimates fill that gap, offering spatially continuous coverage that can characterize air quality conditions even in regions with no surface monitors at all. This repository contains the Python notebooks developed for the 2026 NASA ARSET online training, Estimating Surface PM2.5 Using Satellite Data and Other Information Sources. The training was developed by Carl Malings (Morgan State University & NASA Goddard Space Flight Center) and Sebastián Diez (Centro de Investigación en Tecnologías para la Sociedad, Universidad del Desarrollo, Chile). It teaches participants how to programmatically access satellite-derived PM2.5 products, subset them to a region and time period of interest, retrieve co-located ground-based measurements, and compare the two sources to evaluate data product performance.

What You Will Learn

By completing this training, participants will be able to:
  • Access and download two NASA satellite-derived PM2.5 datasets programmatically using Python
  • Subset multi-dimensional gridded NetCDF data to a custom bounding box and time range with xarray
  • Retrieve ground-level PM2.5 measurements from the OpenAQ API and other networks
  • Overlay gridded satellite estimates with point-based monitor data on cartographic maps
  • Compute standard performance metrics — bias, RMSE, R², spatial and temporal correlation — to evaluate how well satellite estimates track surface measurements
  • Recognize scenarios (such as wildfire episodes) where data source choice affects analytical conclusions

Data Products

The training focuses on two complementary satellite-derived PM2.5 datasets that differ in spatial resolution, temporal resolution, and methodology.

SatPM V6.GL.03

A global, monthly-average PM2.5 product with fine spatial resolution. Files are distributed as NetCDF via an S3 bucket and downloaded directly within the notebook using urllib. The variable of interest is PM25; negative values are masked before analysis. Notebooks access files at the URL pattern:
https://s3.amazonaws.com/satpmdata/V6GL03/FineResolution/GL/Monthly/
{YEAR}/V6GL03.CNNPM25.GL.{YYYYMM}-{YYYYMM}.nc

MERRA-2 CNN Hourly

The MERRA2_CNN_HAQAST_PM25 product provides hourly, near-surface PM2.5 estimates derived from the MERRA-2 reanalysis using a convolutional neural network. Data are accessed via NASA Earthdata using the earthaccess Python package. The key variable is MERRA2_CNN_Surface_PM25; only records with quality flag QFLAG >= 3 are retained.
Both products store data in NetCDF format and are loaded with xarray. The F_subset_and_combine helper function defined in the notebooks handles spatial and temporal subsetting across multiple monthly files, then concatenates them into a single xarray.Dataset for analysis.

Case Studies

The training uses two real-world events that illustrate contrasting pollution regimes: one driven by wildfire smoke and one by persistent urban air pollution.

Case Study — Chile Megafires (February 2023)

Chile experienced a catastrophic wildfire season in early 2023. The case study notebook focuses on the south-central Chile region covering the megafire-affected area, with analysis extending from December 2022 through March 2023 to capture pre-fire, during-fire, and post-fire periods.
ParameterValue
Latitude range−38° to −32° S
Longitude range−73.75° to −69.75° W
Time period2022-12-01 to 2023-03-31
Time zoneAmerica/Santiago
Ground truthSINCA (Chilean national network) + OpenAQ
A key pedagogical point in this case study is the comparison between OpenAQ and Chile’s national SINCA monitoring network. Because OpenAQ ingests predominantly validated records, data from stations during the acute fire episode — reported as not validated in SINCA — are largely absent from OpenAQ precisely when the satellite signal is strongest. The notebook demonstrates this discrepancy explicitly and explains why SINCA’s hourly-average data was chosen for this analysis.

Homework — New Delhi, India (June–August 2019)

The homework notebook applies the same workflow to New Delhi and surroundings, one of the most severely polluted urban regions in the world. Participants fill in the bounding-box and time-range cells themselves as part of the exercise.
ParameterValue
Latitude range27.5° to 30° N
Longitude range76° to 78.5° E
Time periodJune–August 2019
Ground truthOpenAQ (reference monitors)

Bilingual Availability

All notebooks — Case Study and Homework — are available in both English and Spanish (Español), reflecting NASA ARSET’s commitment to broadening access to Earth science training in Latin America and other Spanish-speaking communities.

Case Study (English)

Open the Case Study exercise notebook in Google Colab (English).

Case Study (Español)

Abrir el cuaderno de ejercicios del Caso de Estudio en Google Colab (Español).

Homework (English)

Open the Homework exercise notebook in Google Colab (English).

Homework (Español)

Abrir el cuaderno de tarea en Google Colab (Español).

Notebook Structure

Each notebook follows the same four-part structure, keeping both the Case Study and Homework consistent and easy to follow:
1

Setup

Install cartopy and earthaccess, import all required packages, mount Google Drive, authenticate with NASA Earthdata, and store the OpenAQ API key.
2

Define Domain of Interest

Set the bounding box (n_lat_min, n_lat_max, n_lon_min, n_lon_max), the analysis time window (t_start, t_end), and the local time zone (s_timezone). Call F_plot_map to visually confirm the region before downloading any data.
3

Download Data

Download SatPM monthly files from S3, download MERRA-2 CNN hourly files via earthaccess, and retrieve ground monitor data from OpenAQ (and, in the Case Study, from SINCA). All files are cached to Google Drive to avoid re-downloading on subsequent runs.
4

Analysis

Produce comparison maps overlaying satellite estimates with monitor point data, compute monthly-averaged time series, generate scatter plots, and calculate performance metrics (bias, RMSE, R², spatial and temporal correlation).

Explore the Documentation

Quickstart

Open your first notebook in Google Colab and run the setup cell in minutes.

Environment Setup

Detailed guide to Google Drive folder structure, Python packages, and credential configuration.

Official Training Page

Register and access the full NASA ARSET course materials on NASA Earthdata.

Build docs developers (and LLMs) love