Skip to content

NASA MODIS (Terra, Aqua, Combined)

The modis gatherer queries NASA Common Metadata Repository (CMR) to search, resolve, and download Moderate Resolution Imaging Spectroradiometer (MODIS) observations from the NASA Terra and Aqua satellites, as well as combined Terra+Aqua daily retrieval products (MAIAC high-resolution AOD, BRDF, and Surface Albedo).

Overview

  • Provider: NASA LAADS DAAC (Atmosphere) & LP DAAC (Land Processes)
  • Satellites:
  • Terra: Morning orbit (~10:30 AM local solar time equator crossing)
  • Aqua: Afternoon orbit (~1:30 PM local solar time equator crossing)
  • Combined: Joint Terra + Aqua multi-angle inversions (MAIAC, MCD43)
  • Authentication: NASA Earthdata Login (shared with PACE)
  • Output Format: HDF-EOS (HDF4 / HDF5) format

Supported Platforms & Products

Terra & Aqua Mission Products

Satellite Product Type Description Resolution / Level
Terra MOD04_L2 Aerosol Optical Depth (Dark Target & Deep Blue) 10 km / 3 km (Level-2)
Terra MOD06_L2 Cloud Optical Properties & Cloud Top Height 1 km / 5 km (Level-2)
Terra MOD05_L2 Total Precipitable Water Vapor 1 km / 5 km (Level-2)
Terra MOD021KM Calibrated Earth View Radiances 1 km (Level-1B)
Terra MOD03 Geolocation & Angles 1 km (Level-1A)
Terra MOD11A1 Land Surface Temperature & Emissivity 1 km Daily (Level-3)
Terra MOD09GA Surface Reflectance Daily 500 m / 1 km (Level-2G)
Aqua MYD04_L2 Aerosol Optical Depth 10 km / 3 km (Level-2)
Aqua MYD06_L2 Cloud Optical Properties 1 km / 5 km (Level-2)
Aqua MYD05_L2 Total Precipitable Water Vapor 1 km / 5 km (Level-2)
Aqua MYD021KM Calibrated Earth View Radiances 1 km (Level-1B)
Aqua MYD03 Geolocation & Angles 1 km (Level-1A)

Combined Terra + Aqua Inversions (MAIAC, BRDF, Albedo)

Satellite Product Code Alias Description Resolution Grid Type
Combined MCD19A2 MAIAC_AOD Multi-Angle Implementation of Atmospheric Correction (MAIAC) Daily Land AOD 1 km Sinusoidal Tile Grid
Combined MCD19A1 MAIAC_SURFACE MAIAC Daily Land Surface BRF Reflectance 1 km Sinusoidal Tile Grid
Combined MCD43A1 BRDF_500M Daily 16-day BRDF Model Parameters 500 m Sinusoidal Tile Grid
Combined MCD43A3 ALBEDO_500M Daily 16-day Black-Sky & White-Sky Surface Albedo 500 m Sinusoidal Tile Grid
Combined MCD43C1 BRDF_CMG Daily 16-day BRDF Model Parameters (Climate Modeling Grid) 0.05° (~5.6 km) Global Equirectangular
Combined MCD43C3 ALBEDO_CMG Daily 16-day Surface Albedo (Climate Modeling Grid) 0.05° (~5.6 km) Global Equirectangular

Parameters Reference

Parameter Type Default Description
satellite str "Terra" Platform: "Terra", "Aqua", or "Combined" (auto-inferred if product starts with MOD/MYD/MCD)
product_type str "MOD04_L2" Product code (e.g. "MOD04_L2", "MCD19A2", "MCD43A3", "MYD021KM")
start_time str required Start datetime in ISO 8601 UTC (e.g. "2024-07-01T00:00:00Z")
end_time str required End datetime in ISO 8601 UTC (e.g. "2024-07-05T23:59:59Z")
collection_version str "61" Collection version (default "61" for Collection 6.1)
day_night_flag str "DAY" Orbit illumination filter: "DAY", "NIGHT", or "BOTH"
grid Grid \| dict \| None None Spatial Region of Interest (ROI) with center coordinates or site
bounding_box list[float] \| None None [min_lon, min_lat, max_lon, max_lat]
limit int \| None None Maximum number of granules to fetch
max_workers int 1 Number of concurrent worker threads for downloading multiple granules
only_granules_list bool False Return granule download URLs without downloading files

| return_s3_paths | bool | False | Return direct s3:// cloud bucket URIs | | export_file | str \| None | None | Optional file path to export the list of URLs / paths | | username | str \| None | None | NASA Earthdata username (defaults to EARTHDATA_USERNAME) | | password | str \| None | None | NASA Earthdata password (defaults to EARTHDATA_PASSWORD) | | overwrite_cache | bool | False | Force re-download even if cached |


Authentication Setup

Create a free account on the NASA Earthdata Registration Page.

# Save to credentials.yaml (shared with PACE)
gathering auth login earthdata -u "your_earthdata_username" -p "your_earthdata_password"

# Or set in environment
export EARTHDATA_USERNAME="your_earthdata_username"
export EARTHDATA_PASSWORD="your_earthdata_password"

Python API Usage

from gathering import Task

# Task 1: Terra MOD04 Aerosol 10km over Granada
task_terra = Task.modis(
    satellite="Terra",
    product_type="MOD04_L2",
    start_time="2024-07-01T10:00:00Z",
    end_time="2024-07-01T14:00:00Z",
    grid={"site": "Granada", "size_yx": [100, 100], "resolution_m": 10000.0},
    limit=2,
)

# Task 2: MAIAC 1km High-Resolution Land AOD (MCD19A2)
task_maiac = Task.modis(
    satellite="Combined",
    product_type="MCD19A2",
    start_time="2024-07-01T00:00:00Z",
    end_time="2024-07-03T23:59:59Z",
    grid={"site": "Granada", "size_yx": [100, 100], "resolution_m": 1000.0},
    limit=3,
)

# Task 3: 500m Daily Surface Albedo (MCD43A3)
task_albedo = Task.modis(
    satellite="Combined",
    product_type="MCD43A3",
    start_time="2024-07-01T00:00:00Z",
    end_time="2024-07-05T23:59:59Z",
    grid={"site": "Granada", "size_yx": [100, 100], "resolution_m": 500.0},
    limit=3,
)

CLI Usage

# Download Terra MOD04 Aerosols
gathering modis \
  --satellite Terra \
  --product_type MOD04_L2 \
  --start_time 2024-07-01T10:00:00Z \
  --end_time 2024-07-01T14:00:00Z

# Download MAIAC 1km AOD
gathering modis \
  --satellite Combined \
  --product_type MCD19A2 \
  --start_time 2024-07-01T00:00:00Z \
  --end_time 2024-07-03T23:59:59Z

YAML Configuration

# ==============================================================================
# NASA MODIS — Terra Atmospheric Aerosol (MOD04_L2)
# ==============================================================================

source: modis

satellite: Terra
product_type: MOD04_L2
collection_version: "61"
day_night_flag: DAY

start_time: "2024-07-01T10:00:00Z"
end_time: "2024-07-01T14:00:00Z"

grid:
  site: "Granada"
  size_yx: [100, 100]
  resolution_m: 10000.0
  projection: "latlon"

limit: 2
overwrite_cache: false
# ==============================================================================
# NASA MODIS — Aqua Calibrated Radiances (MYD021KM)
# ==============================================================================

source: modis

satellite: Aqua
product_type: MYD021KM
day_night_flag: DAY

start_time: "2024-06-15T12:00:00Z"
end_time: "2024-06-15T15:00:00Z"

grid:
  site: "El_Arenosillo"
  size_yx: [100, 100]
  resolution_m: 1000.0
  projection: "latlon"

limit: 2
overwrite_cache: false
# ==============================================================================
# NASA MODIS — MAIAC Land Aerosol Optical Depth 1km (MCD19A2)
# ==============================================================================

source: modis

satellite: Combined
product_type: MCD19A2
collection_version: "61"

start_time: "2024-07-01T00:00:00Z"
end_time: "2024-07-03T23:59:59Z"

grid:
  site: "Granada"
  size_yx: [100, 100]
  resolution_m: 1000.0
  projection: "latlon"

limit: 3
overwrite_cache: false
# ==============================================================================
# NASA MODIS — Surface Albedo & BRDF (MCD43A3 / MCD43A1)
# ==============================================================================

source: modis

satellite: Combined
product_type: MCD43A3                  # Or 'MCD43A1', 'MCD43C1', 'MCD43C3'
collection_version: "61"

start_time: "2024-07-01T00:00:00Z"
end_time: "2024-07-05T23:59:59Z"

grid:
  site: "Granada"
  size_yx: [100, 100]
  resolution_m: 500.0
  projection: "latlon"

limit: 3
overwrite_cache: false

Download Directory Structure

/workspace/.cache/gathering/modis/
├── Terra/
│   └── MOD04_L2/
│       └── 2024/
│           └── 07/
│               └── 01/
│                   └── MOD04_L2.A2024183.1115.061.2024183194002.hdf
└── Combined/
    └── MCD19A2/
        └── 2024/
            └── 07/
                └── 01/
                    └── MCD19A2.A2024183.h17v05.061.2024185032045.hdf