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.

Retrieve Colocated EMIT Satellite Data

Overview

AVUELO was airborne measurements over tropical ecosystems, which is useful for validation of space borne instruments. In this tutorial we will use an instrument on the International Space Station (ISS) and retrieve data colocated to AVUELO’s airborne AVIRIS-3 imagery:

  • EMIT (Earth Surface Mineral Dust Source Investigation) is an imaging spectrometer with a design similar to AVIRIS-3. Its L2A surface reflectance covers 381–2493 nm spectral range in 285 bands at ~60 m spatial resolution.

In this tutorial, we find EMIT data that coincide with the AVIRIS-3 flights over Barro Colorado Island (BCI), Panama. We will:

  1. find the dates of the AVIRIS-3 flights over the study area

  2. search EMIT L2A reflectance within a time window, check cloud cover over the study area with the EMIT masks, and compare EMIT with AVIRIS-3 reflectance

Requirements

Import Libraries

Authentication

earthaccess.login() authenticates with your Earthdata Login credentials. If you have a .netrc file or EARTHDATA_USERNAME and EARTHDATA_PASSWORD environment variables, login completes without a prompt. Searching does not require login, but streaming and downloading data do.

Study Area and AVIRIS-3 Flight Dates

Our study area is a the Barro Colorado Island BCI 50-ha plot, incidated by plot_code=p50. This is the same plot we also used in the Tutorial 2. We first find the dates when AVIRIS-3 flew over the area.

AVIRIS-3 scenes over the study area: 19
Flight dates: ['2025-02-06', '2025-02-10', '2025-02-24', '2025-02-25', '2025-02-26']
Loading...

Part 1: EMIT L2A Surface Reflectance

Search within a time window

We start with a strict window: EMIT overpasses during the AVIRIS-3 campaign, from 6 to 28 February 2025. We search by the dataset short name EMITL2ARFL, which returns all versions of the dataset. EMIT data are being reprocessed to version 2 (002) and may not be available for the AVUELO coverage. We keep both versions.

Loading...

As we see above, only Version 001 is available for the time period. scene_cloud_pct is the cloud cover of the whole EMIT scene (~75 km × 75 km). It says little about our much smaller study area, so we check the EMIT cloud masks over the study area itself.

Orthorectify a subset of an EMIT granule

EMIT L2A files are in the instrument’s swath geometry (downtrack, crosstrack). Each file includes a geometric lookup table (GLT) that gives, for each pixel of a north-up latitude/longitude grid, the swath row and column to use. To get an orthorectified subset of the study area, we only need the part of the GLT inside the study area, and only the swath rows and columns it points to. The function below reads just these pixels from the remote file.

Cloud cover over the study area

The EMIT L2A mask file (EMIT_L2A_MASK) has eight layers. Four of them flag pixels that should not be used for surface analysis:

LayerMeaning
Cloud flagCloud
Cirrus flagThin cirrus cloud
Dilated Cloud FlagCloud flag expanded to include cloud edges and nearby shadows
Spacecraft FlagView blocked by parts of the ISS

The mask also has a Water flag and an Aggregate Flag. The aggregate flag combines all flags, including water, so it would remove Gatun Lake around BCI. Since we want to keep the lake, we combine the four flags above ourselves.

The function below computes the percentage of the study area covered by an EMIT granule, and the percentage of the covered area that is clear.

Loading...
Loading...
Loading...
Loading...

The only EMIT overpass during the campaign, on 18 February 2025, covers 84% of the study area, but less than 0% of the covered area is clear. The rest is flagged as cloud or cloud edge. As is common in the humid tropics, no usable EMIT data coincide with the AVIRIS-3 flights.

This can also be seen in the image browse image below, where major chunk of middle of the scene is missing.

Loading...

Widen the time window

AVUELO flew in the dry season, when clouds are least frequent. We search the same season (January–April) in the years before and after the campaign. The temporal argument takes one range, so we search each year separately. This step might take several minutes to complete.

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Ten EMIT granules from the January–April dry seasons of 2024–2026 cover the study area. Note how poorly the scene-level cloud cover predicts the conditions over the study area: the scene of 26 January 2024 is 89% cloudy as a whole, but the study area is completely clear, while the scene of 18 February 2026 is only 94% cloudy, but 84.3% of the study area is flagged. Currently, only version 001 granules were available for these dates.

We select the granules with the largest clear area over the study area.

Loading...

Open the EMIT reflectance

We read the orthorectified reflectance and the mask of the study area from each of the three selected granules. We set the unusable pixels and the bad bands (good_wavelengths = 0, the deep water vapor absorption bands) to NaN. Each granule has its own latitude/longitude grid, so we keep the three subsets separate, in a dictionary indexed by the acquisition date.

Note that granules processed with different versions of the EMIT software can have slightly different band centers and bad bands. For example, the granule of 2024 has 244 good bands, and the granules of 2026 have 255. We therefore keep the wavelengths and good bands of each granule.

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
2024-01-26: {'y': 9, 'x': 17, 'band': 285}, good bands: 244, software build: 010618
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
2026-03-25: {'y': 9, 'x': 17, 'band': 285}, good bands: 255, software build: 010635
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
2026-04-20: {'y': 9, 'x': 17, 'band': 285}, good bands: 255, software build: 010635
<Figure size 1800x500 with 3 Axes>

The granule of 2026-03-25 is also brighter in the visible and shortwave infrared, and its true-color image shows bright pixels over part of the plot: a cloud or haze that was not flagged by the EMIT mask.

Compare EMIT with AVIRIS-3

We compare the three EMIT acquisitions with the AVIRIS-3 scene AV320250206t193402_006, acquired on 6 February 2025 at ~3.4 m resolution, which covers the whole BCI 50-ha plot. In case of clouds, we first mask AVIRIS-3 cloud pixels: forest and water are dark in the blue, with a reflectance of ~0.02 at 470 nm, while clouds are bright. We mask pixels brighter than 0.08 at 470 nm, and all pixels within 30 m of them, to also remove cloud edges and most cloud shadows.

To compare the two sensors at the same scale and wavelengths, for each EMIT granule we select the AVIRIS-3 bands nearest to its good bands. We also leave out the bands in the two deep water vapor absorption regions (1340–1450 nm and 1790–1960 nm) for all granules, because some processing versions of EMIT do not flag all of them as bad. We then average the AVIRIS-3 pixels within each ~60 m EMIT pixel with rioxarray’s reproject_match() and average resampling. We keep only the EMIT pixels that are fully covered by valid AVIRIS-3 pixels and clear in EMIT.

Loading...
Loading...
Loading...
AVIRIS-3 2025-02-06, pixel size 3.4 m, window: {'band': 284, 'y': 164, 'x': 306}, cloud and cloud-edge pixels: 0.0%
<Figure size 640x480 with 1 Axes>
EMIT 2024-01-26: 153 pixels fully covered by AVIRIS-3 and clear in EMIT
EMIT 2026-03-25: 153 pixels fully covered by AVIRIS-3 and clear in EMIT
EMIT 2026-04-20: 153 pixels fully covered by AVIRIS-3 and clear in EMIT
<Figure size 1600x500 with 2 Axes>

The three EMIT acquisitions and AVIRIS-3 have the same spectral shape. Their brightness, however, differs. EMIT from 2024-01-26 is the closest to AVIRIS-3, but brighter. EMIT scenes from 2026-03-25 and 2026-04-20 are even brighter than the EMIT 2024 granule. Its scatter plot also has a group of low NIR values (0.15–0.27), likely cloud shadows.

The cause of the brighter 2026 spectra cannot be explained from these data alone. Possible causes include haze or thin clouds, seasonal changes in the canopy. AVIRIS-3 also differs from all three EMIT granules in date (by one year or more), viewing geometry, and calibration, which is provisional for the AVUELO data.

Pixel by pixel, the EMIT values are not well correlated with the AVIRIS-3 averages: the forest canopy is fairly uniform at the 60 m scale, and small geolocation offsets mean that the pixels of the two sensors may not cover exactly the same trees.

References
  1. Green, R. (2022). EMIT L2A Estimated Surface Reflectance and Uncertainty and Masks 60 m V001. NASA Land Processes Distributed Active Archive Center. 10.5067/EMIT/EMITL2ARFL.001