Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Access and Orthorectify PRISM L1B Radiance

Overview

The Portable Remote Imaging SpectroMeter (PRISM) is a compact airborne pushbroom imaging spectrometer built by the NASA Jet Propulsion Laboratory (JPL) for studies of coastal and inland waters. PRISM instrument covers spectral range from 350–1050 nm with with a 2.83 nm sampling per pixel, and a 0.88 mrad instantaneous field of view, with 608 cross-track pixels in a pushbroom configuration (Mouroulis et al., 2014).

In September 2024, PRISM flew on the NASA ER-2 high-altitude aircraft for the Plankton, Aerosol, Cloud, ocean Ecosystem Postlaunch Airborne eXperiment (PACE-PAX). PACE-PAX was a field campaign over Southern and Central California and adjacent coastal waters that collected validation data for the NASA PACE satellite and the JAXA/ESA EarthCARE satellite. The NASA ER-2 flew 13 research flights with six instruments that act as airborne proxies for the satellite sensors. PRISM covers lower-reflectance spectra for ocean colors, while PICARD has VNIR to SWIR channels. PRISM, together with the PICARD imaging spectrometer, matches capabilities of the PACE Ocean Color Instrument (OCI) (Knobelspiesse et al., 2026). The campaign sampled ocean color, aerosols, and clouds, including wildfire smoke over the Los Angeles region and red tide events in Monterey Bay.

In this tutorial, we use earthaccess to discover and download PRISM Level 1B (L1B) calibrated radiance for PACE-PAX. We then use a geometric lookup table (GLT) to orthorectify the image, and compare radiance spectra of water, sand, vegetation, and urban surfaces over Monterey Bay, California.

Dataset

DatasetDOIShort Name
PRISM: L1B Calibrated Radiance for PACE-PAX, 2024Bender et al. (2026)PRISM_L1B_PACEPAX_2024_2515

The dataset contains 2,223 NetCDF-4 files, each about 600 MB in size. Please refer to the user guide for full dataset documentation.

Learning Objectives

  • Search the PRISM PACE-PAX collection and its granules with earthaccess

  • Stream a granule and explore its data structure

  • Orthorectify a calibrated radiance using the geometric lookup table (GLT)

  • Export an orthorectified image as a Cloud Optimized GeoTIFF

Prerequisites

A free NASA Earthdata Login account is required. See the prerequisites page for setup instructions.

Import Libraries

Authentication

Use earthaccess.login() to authenticate with your NASA Earthdata Login credentials. If you have a .netrc file configured, login will complete without a prompt.

Search for the PRISM PACE-PAX Collection

We search for the datasets from the PRISM instrument using earthaccess.

PRISM datasets found: 28

  Short name : ALOS_PRISM_L1B
  Short name : BioSCape_PRISM_L1B_RDN_2493
  Short name : BioSCape_PRISM_L2A_RFL_2494
  Short name : CEOS_CalVal_Test_Site-Dome_C-Antarctica
  Short name : CEOS_CalVal_Test_Site-Dunhuang-China
  Short name : CEOS_CalVal_Test_Site-Frenchman_Flat-USA
  Short name : CEOS_CalVal_Test_Site-Ivanpah_Playa-USA
  Short name : CEOS_CalVal_Test_Site-La_Crau-France
  Short name : CEOS_CalVal_Test_Site-Libya1
  Short name : CEOS_CalVal_Test_Site-Libya4
  Short name : CEOS_CalVal_Test_Site-Mauritania1
  Short name : CEOS_CalVal_Test_Site-Negev-Southern_Israel
  Short name : CEOS_CalVal_Test_Site-Railroad_Valley_Playa-USA
  Short name : CEOS_CalVal_Test_Site-Tuz_Golu-Turkey
  Short name : CEOS_CalVal_Test_Sites-Algeria3
  Short name : CEOS_CalVal_Test_Sites-Algeria5
  Short name : CEOS_CalVal_Test_Sites-Mauritania2
  Short name : CNDP_CNDP_20240203_GEOCHEM_DATA
  Short name : PACE-PAX_AircraftRemoteSensing_ER2_PRISM-PICARD-L1C_Data
  Short name : PRISM_CORAL_L1
  Short name : PRISM_CORAL_L2
  Short name : PRISM_L1B_PACEPAX_2024_2515
  Short name : SMODE_L1_PRISM_V1
  Short name : SMODE_L2_PRISM_CHLA_V1
  Short name : SMODE_L2a_PRISM_REFL_V1
  Short name : USGS_BRD_NIISS
  Short name : alos-prism-l1c
  Short name : alos.prism.l1c.european.coverage.cloud.free

There are many datasets from the PRISM instruments published so far. We will use PRISM_L1B_PACEPAX_2024_2515 dataset and print key metadata.

Title      : PRISM: L1B Calibrated Radiance for PACE-PAX, 2024
ShortName  : PRISM_L1B_PACEPAX_2024_2515
Temporal   : 2024-09-04T00:00:00.000Z to 2024-09-30T23:59:59.999Z
Total size : 1.252 TB

Search for Granules

Each granule is one scene from a PRISM flight line. The file names follow the convention:

PACEPAX-PRISM-L1B_ER2_<YYYYMMDDhhmmss>_R0_<scene>.nc

where <YYYYMMDDhhmmss> is the start time of the flight line (UTC), R0 is the processing revision, and <scene> is the three-digit scene number within the flight line. We search for all granules in the collection and parse the flight line and scene from each file name.

Granules found: 2223

Let’s split the granule names into flight and scene.

Loading...

We summarize the scenes by flight day. PRISM collected data for several flight days between 4 and 30 September 2024.

Loading...

Find granules over Monterey Bay

Monterey Bay was a key PACE-PAX ocean target. A red tide was observed during the campaign (Knobelspiesse et al., 2026).

We search for granules that intersect a bounding box over Monterey bay and map their footprints.

Granules over Monterey Bay: 55

Let’s convert the granules to a geopandas dataframe and print summary details.

Loading...
Loading...

Preview a granule

Each granule has an associated quick-look browse image, which can be used to scan the scene for any cloud cover and pick a clear scene. One of the clear scene is flight line 20240926181605, scene 019, acquired on 26 September 2024 over the area.

https://data.ornldaac.earthdata.nasa.gov/public/prism/PRISM_L1B_PACEPAX_2024/browse/PACEPAX-PRISM-L1B_ER2_20240926181605_R0_019_BROWSE.png
Loading...

Open a Granule

We open and stream the granule with earthaccess.open().

Loading...

Loading...

Loading...

Granule opened: <File-like object HTTPFileSystem, https://data.ornldaac.earthdata.nasa.gov/protected/prism/PRISM_L1B_PACEPAX_2024/data/PACEPAX-PRISM-L1B_ER2_20240926181605_R0_019.nc>

Explore the NetCDF File Structure

PRISM L1B files are NetCDF-4 files with groups. We open the whole file as an xarray.DataTree to see all groups at once.

Loading...

The file has three parts:

GroupVariablesDescription
/ (root)lat, lon, elevLatitude, longitude, and surface elevation for each pixel in the raw (sensor) geometry, with dimensions (lines, samples).
/radianceradiance, wavelength, fwhmCalibrated at-sensor radiance (µW nm⁻¹ cm⁻² sr⁻¹) with dimensions (wavelength, lines, samples), plus band center wavelengths and full width at half maximum (FWHM).
/geolocation_lookup_tableline, sample, easting, northingThe geometric lookup table (GLT): a north-up UTM grid where each cell stores the raw line and sample of the pixel that belongs there.

The radiance is in the raw geometry of the pushbroom sensor, which is not orthorectified. lines is the along-track direction (flight direction) and samples is the across-track direction. The nodata value is -9999; xarray masks it as NaN automatically.

We extract each group as an xarray.Dataset.

PRISM L1B Calibrated Radiance (flight line: prm20240926t181605, scene: 019)
Acquisition: 2024-09-26T18:33:26Z to 2024-09-26T18:34:20Z
Radiance shape (wavelength, lines, samples): (246, 640, 606)
GLT shape (northing, easting): (672, 652)

The UTM zone of the GLT differs between flight lines (from UTM zones 9N to 12N in this dataset). The coordinate reference system (CRS) is stored in the transverse_mercator variable.

CRS: WGS 84 / UTM zone 10N (EPSG:32610)
GLT pixel size: 17.9 m

Spectral Characteristics

PRISM measures 246 contiguous spectral bands, with following details.

Number of bands : 246
Wavelength range : 350.6 to 1045.6 nm
Band spacing : 2.84 nm
FWHM range : 3.28 to 4.58 nm

We plot the band center wavelengths against their FWHM to describe spectral resolution of each band.

<Figure size 640x480 with 1 Axes>

Calibrated Radiance True Color Image (Unorthorectified)

We select red (640 nm), green (550 nm), and blue (460 nm) bands to make a true-color image.

Because radiance values vary widely between bands, we apply a 2-98% percentile stretch to each band.

<Figure size 700x700 with 1 Axes>

Note that the image above is not orthorectified.

Orthorectify with the Geometric Lookup Table

The GLT (geolocation_lookup_table) provides a grid in UTM coordinates. Each GLT pixel stores the raw line and sample of the pixel that falls there:

The function below uses the GLT to resample any raw array onto the UTM grid. It returns an xarray.DataArray with x/y coordinates and the CRS attached.

Loading...

Now we plot the raw and orthorectified images side by side.

<Figure size 1500x700 with 2 Axes>

Map the Orthorectified Image

Because the orthorectified image has a CRS, we can plot it on a basemap. We will use cartopy in the PRISM data’s native UTM projection to avoid resampling.

<Figure size 1000x1000 with 1 Axes>

Radiance Spectra

Let’s extract radiance spectra for four surface types - one each for open water, beach, vegetation, and urban surface.

Open water   line=424  sample=309 
Beach sand   line=424  sample=193 
Vegetation   line=36   sample=183 
Urban        line=352  sample=194 

We plot the radiance spectra using pandas plot feature.

<Figure size 1000x500 with 1 Axes>

In the above calibrated radiance spectral plot, open water is brightest in the blue and decreases toward the near infrared (NIR), where water absorbs almost all light. Vegetation shows the red edge, a sharp rise in radiance between ~680 and ~750 nm caused by chlorophyll absorption in the red and strong leaf scattering in the NIR. Sand and urban surfaces are bright across the spectrum.

Export an Orthorectified GeoTIFF

The orthorectified array has a CRS and coordinates, so rioxarray can write it directly to a Cloud Optimized GeoTIFF (COG) for use in GIS software. As an example, here we export the orthorectified RGB true-color radiance bands.

Saved: PACEPAX-PRISM-L1B_ER2_20240926181605_R0_019.nc_RGB_ortho.tif
References
  1. Mouroulis, P., Van Gorp, B., Green, R. O., Dierssen, H., Wilson, D. W., Eastwood, M., Boardman, J., Gao, B.-C., Cohen, D., Franklin, B., Loya, F., Lundeen, S., Mazer, A., McCubbin, I., Randall, D., Richardson, B., Rodriguez, J. I., Sarture, C., Urquiza, E., … Yee, K. (2014). Portable Remote Imaging Spectrometer coastal ocean sensor: design, characteristics, and first flight results. Applied Optics, 53(7), 1363. 10.1364/ao.53.001363
  2. Knobelspiesse, K. D., Cetinić, I., Cairns, B., Leblanc, S. E., & Ueyama, R. (2026). The NASA Plankton, Aerosol, Cloud, ocean Ecosystem mission Postlaunch Airborne eXperiment (PACE-PAX). 10.5194/essd-2026-541
  3. Bender, H., Brunner, E. D., Chapman, J. W., Coleman, R. W., Eastwood, M., Eckert, R., Gierach, M. M., Luis, K. M. A., Rios, L. M., Small, Z., & Thompson, D. R. (2026). PRISM: L1B Calibrated Radiance for PACE-PAX, 2024. ORNL Distributed Active Archive Center. 10.3334/ORNLDAAC/2515