3. EMIT Files Concurrent with BioSCape#

3.1. BioSCape Data Skills Workshop: From the Field to the Image#

Bioscape

BioSCape, the Biodiversity Survey of the Cape, is NASA’s first biodiversity-focused airborne and field campaign that was conducted in South Africa in 2023. BioSCape’s primary objective is to study the structure, function, and composition of the region’s ecosystems, and how and why they are changing.

BioSCape’s airborne dataset is unprecedented, with AVIRIS-NG, PRISM, and HyTES imaging spectrometers capturing spectral data across the UV, visible and infrared at high resolution and LVIS acquiring coincident full-waveform lidar. BioSCape’s field dataset is equally impressive, with 18 PI-led projects collecting data ranging from the diversity and phylogeny of plants, kelp and phytoplankton, eDNA, landscape acoustics, plant traits, blue carbon accounting, and more

This workshop will equip participants with the skills to find, subset, and visualize the various BioSCape field and airborne (imaging spectroscopy and full-waveform lidar) data sets. Participants will learn data skills through worked examples in terrestrial and aquatic ecosystems, including: wrangling lidar data, performing band math calculations, calculating spectral diversity metrics, machine learning and image classification, and mapping functional traits using partial least squares regression. The workshop format is a mix of expert talks and interactive coding notebooks and will be run through the BioSCape Cloud computing environment.

Date: October 9 - 11, 2024 Cape Town, South Africa

Host: NASA’s Oak Ridge National Laboratory Distributed Active Archive Center (ORNL DAAC), in close collaboration with BioSCape, the South African Environmental Observation Network (SAEON), the University of Wisconsin Madison (Phil Townsend), The Nature Conservancy (Glenn Moncrieff), the University of California Merced (Erin Hestir), the University of Cape Town (Jasper Slingsby), Jet Propulsion Laboratory (Kerry Cawse-Nicholson), and UNESCO.

Instructors:

  • In-person contributors: Anabelle Cardoso, Erin Hestir, Phil Townsend, Henry Frye, Glenn Moncrieff, Jasper Slingsby, Michele Thornton, Rupesh Shrestha

  • Virtual contributors: Kerry Cawse-Nicholson, Nico Stork, Kyle Kovach

Audience: This training is primarily intended for government natural resource management agency representatives and field technicians in South Africa, as well as local academics and students, especially those connected to the BioSCape Team.

3.2. Overview#

This tutorial demonstrates how to discover data from NASA’s Earth Surface Mineral Dust Source Investigation (EMIT) satellite. Specifically we will learn to discover EMIT L2A Surface Reflectance data available from NASA Earthdata that are concurrent with the temporal range of the BioSCape Campaign.

3.2.1. Learning Objectives#

We will use the Python earthaccess library to programmatically search and discover granules of EMIT data concurrent with the BioSCape airborne and field campaign.

3.2.2. Load Python Modules#

import rioxarray as rxr
import hvplot.xarray
import earthaccess
from glob import glob

3.2.3. EMIT L2A Reflectance#

This EMIT URL from NASA Earthdata Search, EMIT L2A Estimated Surface Reflectance and Uncertainty and Masks 60 m V001, shows that at the time of the BioSCape Workhshop, there are over 107,000 granules in this collection

  • We have a persistent Earthdata login from an earlier workshop Notebook - NotebookBasics.ipynb

  • We’ll use the earthaccess python library to find EMIT data concurrent with the BioSCape field campaign and a spatial bounding box that approximates the Cape Peninsula.

We’ll identify the EMIT L2A Collection using its DOI. The EMIT L2A DOI is 10.5067/EMIT/EMITL2ARFL.001

Bioscape

# Setting parameters 
# BioSCape approx start/end dates
temporal = ("2023-10-01", "2023-11-30")

# approx bounds - Cape Peninsula
# lower_left_lon, lower_left_lat, upper_right_lon, upper_right_lat
bounds =  (18.3007, -34.3645, 18.5113, -34.0274)

# EMIT L2A Estimated Surface Reflectance and Uncertainty and Masks 60 m V001 

doi = "10.5067/EMIT/EMITL2ARFL.001"
granules = earthaccess.search_data(
    count=-1, # needed to retrieve all granules
    doi=doi,
    temporal=temporal, # Bioscape campaign dates
    bounding_box = bounds
)
Granules found: 10

Of the over 100,000 EMIT granules, 10 match our search parameters

Find more information about the EMIT Surface Reflectance Collection from the EMIT L2A Estimated Surface Reflectance and Uncertainty and Masks

Print the granules

for g in granules:
    print(g.data_links(access="external"))
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231031T111408_2330407_006/EMIT_L2A_RFL_001_20231031T111408_2330407_006.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231031T111408_2330407_006/EMIT_L2A_RFLUNCERT_001_20231031T111408_2330407_006.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231031T111408_2330407_006/EMIT_L2A_MASK_001_20231031T111408_2330407_006.nc']
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231031T111420_2330407_007/EMIT_L2A_RFL_001_20231031T111420_2330407_007.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231031T111420_2330407_007/EMIT_L2A_RFLUNCERT_001_20231031T111420_2330407_007.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231031T111420_2330407_007/EMIT_L2A_MASK_001_20231031T111420_2330407_007.nc']
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231104T093719_2330806_005/EMIT_L2A_RFL_001_20231104T093719_2330806_005.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231104T093719_2330806_005/EMIT_L2A_RFLUNCERT_001_20231104T093719_2330806_005.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231104T093719_2330806_005/EMIT_L2A_MASK_001_20231104T093719_2330806_005.nc']
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231113T134517_2331709_016/EMIT_L2A_RFL_001_20231113T134517_2331709_016.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231113T134517_2331709_016/EMIT_L2A_RFLUNCERT_001_20231113T134517_2331709_016.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231113T134517_2331709_016/EMIT_L2A_MASK_001_20231113T134517_2331709_016.nc']
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231113T134529_2331709_017/EMIT_L2A_RFL_001_20231113T134529_2331709_017.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231113T134529_2331709_017/EMIT_L2A_RFLUNCERT_001_20231113T134529_2331709_017.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231113T134529_2331709_017/EMIT_L2A_MASK_001_20231113T134529_2331709_017.nc']
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231117T121105_2332107_008/EMIT_L2A_RFL_001_20231117T121105_2332107_008.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231117T121105_2332107_008/EMIT_L2A_RFLUNCERT_001_20231117T121105_2332107_008.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231117T121105_2332107_008/EMIT_L2A_MASK_001_20231117T121105_2332107_008.nc']
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231121T103622_2332506_005/EMIT_L2A_RFL_001_20231121T103622_2332506_005.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231121T103622_2332506_005/EMIT_L2A_MASK_001_20231121T103622_2332506_005.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231121T103622_2332506_005/EMIT_L2A_RFLUNCERT_001_20231121T103622_2332506_005.nc']
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231121T103634_2332506_006/EMIT_L2A_RFL_001_20231121T103634_2332506_006.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231121T103634_2332506_006/EMIT_L2A_RFLUNCERT_001_20231121T103634_2332506_006.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231121T103634_2332506_006/EMIT_L2A_MASK_001_20231121T103634_2332506_006.nc']
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231125T090108_2332905_009/EMIT_L2A_RFL_001_20231125T090108_2332905_009.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231125T090108_2332905_009/EMIT_L2A_RFLUNCERT_001_20231125T090108_2332905_009.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231125T090108_2332905_009/EMIT_L2A_MASK_001_20231125T090108_2332905_009.nc']
['https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231125T090120_2332905_010/EMIT_L2A_RFL_001_20231125T090120_2332905_010.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231125T090120_2332905_010/EMIT_L2A_RFLUNCERT_001_20231125T090120_2332905_010.nc', 'https://data.lpdaac.earthdatacloud.nasa.gov/lp-prod-protected/EMITL2ARFL.001/EMIT_L2A_RFL_001_20231125T090120_2332905_010/EMIT_L2A_MASK_001_20231125T090120_2332905_010.nc']

Print a couple key granules

# print one granule
granules[0]

3.2.4. HINT: Click on the browse image for a larger browse file#

granules[4]