![NOAA/VIIRS/AOD_EDR/V3](https://developers.google.com/earth-engine/datasets/images/NOAA/NOAA_VIIRS_AOD_EDR_V3_sample.png)

Dataset Availability
:   2022-10-29T00:00:00Z--2026-11-14T20:33:27.600000Z

Dataset Producer
:


    [NOAA](https://www.noaa.gov/)

Cadence
:   1 Day

Tags
:
    [aerosol](https://developers.google.com/earth-engine/datasets/tags/aerosol.md.txt) [aod](https://developers.google.com/earth-engine/datasets/tags/aod.md.txt) [atmosphere](https://developers.google.com/earth-engine/datasets/tags/atmosphere.md.txt) [noaa](https://developers.google.com/earth-engine/datasets/tags/noaa.md.txt) [viirs](https://developers.google.com/earth-engine/datasets/tags/viirs.md.txt)

#### Description

The VIIRS Aerosol Optical Depth (AOD) and Aerosol Particle Size (APS)
Environmental Data Records (EDRs) product provides aerosol properties
retrieved from the Visible Infrared Imaging Radiometer Suite (VIIRS) sensor.
The primary product is the AOD at 550 nm, with additional retrievals at
other sensor channels and Angstrom Exponent over oceans. The spatial
resolution is 750 meters.

We project the source rasters into a north-up lat-lon (EPSG:4326) grid using
[GDAL libraries](https://github.com/google/earthengine-catalog/blob/main/pipelines/viirs_aod.py).
Data beyond 85°S and 85°N are excluded to avoid geometric complications
when generating asset footprints for bounds filtering.

For more details and access to raw data, see:

- [JPSS Aerosols page](https://www.star.nesdis.noaa.gov/jpss/aerosols.php)
- [Algorithm Theoretical Basis Document](https://www.star.nesdis.noaa.gov/jpss/documents/ATBD/ATBD_EPS_Aerosol_AOD_v3.4.pdf)
- [Google Cloud JPSS main page](https://console.cloud.google.com/marketplace/product/noaa-public/noaa-jpss)

### Bands

**Bands**

Pixel size: 750 meters (all bands)

| Name | Units | Pixel Size | Wavelength | Description |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| `AOD550` | Dimensionless | 750 meters | None | Retrieved aerosol optical depth at 550 nm |
| `AOD_channel_M1` | Dimensionless | 750 meters | 0.412 μm | Retrieved aerosol optical depth in sensor channel M1 |
| `AOD_channel_M2` | Dimensionless | 750 meters | 0.445 μm | Retrieved aerosol optical depth in sensor channel M2 |
| `AOD_channel_M3` | Dimensionless | 750 meters | 0.488 μm | Retrieved aerosol optical depth in sensor channel M3 |
| `AOD_channel_M4` | Dimensionless | 750 meters | 0.555 μm | Retrieved aerosol optical depth in sensor channel M4 |
| `AOD_channel_M5` | Dimensionless | 750 meters | 0.672 μm | Retrieved aerosol optical depth in sensor channel M5 |
| `AOD_channel_M6` | Dimensionless | 750 meters | 0.746 μm | Retrieved aerosol optical depth in sensor channel M6 |
| `AOD_channel_M7` | Dimensionless | 750 meters | 0.865 μm | Retrieved aerosol optical depth in sensor channel M7 |
| `AOD_channel_M8` | Dimensionless | 750 meters | 1.24 μm | Retrieved aerosol optical depth in sensor channel M8 |
| `AOD_channel_M9` | Dimensionless | 750 meters | 1.378 μm | Retrieved aerosol optical depth in sensor channel M9 |
| `AOD_channel_M10` | Dimensionless | 750 meters | 1.61 μm | Retrieved aerosol optical depth in sensor channel M10 |
| `AOD_channel_M11` | Dimensionless | 750 meters | 2.25 μm | Retrieved aerosol optical depth in sensor channel M11 |
| `AngsExp1` | Dimensionless | 750 meters | None | Angstrom Exponent calculated from AOD at M4 and M7 over ocean (M3 and M7 for ABI) |
| `AngsExp2` | Dimensionless | 750 meters | None | Angstrom Exponent calculated from AOD at M7 and M10 over ocean |
| `SfcRefl_M1` | Dimensionless | 750 meters | 0.412 μm | Surface reflectance of land and ocean for sensor channel M1 |
| `SfcRefl_M2` | Dimensionless | 750 meters | 0.445 μm | Surface reflectance of land and ocean for sensor channel M2 |
| `SfcRefl_M3` | Dimensionless | 750 meters | 0.488 μm | Surface reflectance of land and ocean for sensor channel M3 |
| `SfcRefl_M4` | Dimensionless | 750 meters | 0.555 μm | Surface reflectance of land and ocean for sensor channel M4 |
| `SfcRefl_M5` | Dimensionless | 750 meters | 0.672 μm | Surface reflectance of land and ocean for sensor channel M5 |
| `SfcRefl_M6` | Dimensionless | 750 meters | 0.746 μm | Surface reflectance of land and ocean for sensor channel M6 |
| `SfcRefl_M7` | Dimensionless | 750 meters | 0.865 μm | Surface reflectance of land and ocean for sensor channel M7 |
| `SfcRefl_M8` | Dimensionless | 750 meters | 1.24 μm | Surface reflectance of land and ocean for sensor channel M8 |
| `SfcRefl_M9` | Dimensionless | 750 meters | 1.378 μm | Surface reflectance of land and ocean for sensor channel M9 |
| `SfcRefl_M10` | Dimensionless | 750 meters | 1.61 μm | Surface reflectance of land and ocean for sensor channel M10 |
| `SfcRefl_M11` | Dimensionless | 750 meters | 2.25 μm | Surface reflectance of land and ocean for sensor channel M11 |
| `SpaStddev` | Dimensionless | 750 meters | None | 3 by 3 standard deviation of TOAreflectance at M1/M11 (land/ocean) |
| `Residual` | Dimensionless | 750 meters | None | Retrieval residual of best solution |
| `AOD550LndMdl_Dust` | Dimensionless | 750 meters | None | Retrieved AOD at 550nm for the dust land aerosol model |
| `AOD550LndMdl_Generic` | Dimensionless | 750 meters | None | Retrieved AOD at 550nm for the generic land aerosol model' |
| `AOD550LndMdl_Urban` | Dimensionless | 750 meters | None | Retrieved AOD at 550nm for the urban land aerosol model |
| `AOD550LndMdl_Smoke` | Dimensionless | 750 meters | None | Retrieved AOD at 550nm for the smoke land aerosol model |
| `ResLndMdl_Dust` | Dimensionless | 750 meters | None | Retrieval residual for the dust land aerosol model |
| `ResLndMdl_Generic` | Dimensionless | 750 meters | None | Retrieval residual for the generic land aerosol model |
| `ResLndMdl_Urban` | Dimensionless | 750 meters | None | Retrieval residual for the urban land aerosol model |
| `ResLndMdl_Smoke` | Dimensionless | 750 meters | None | Retrieval residual for the smoke land aerosol model |
| `FineMdlIdx` | Dimensionless | 750 meters | None | Index of fine mode aerosol model over ocean |
| `CoarseMdlIdx` | Dimensionless | 750 meters | None | Index of coarse mode aerosol model over ocean |
| `FineModWgt` | Dimensionless | 750 meters | None | Fine mode weight over ocean |
| `AerMdl` | Dimensionless | 750 meters | None | Aerosol model selected from prescribed models during the retrieval: - 0: oceanic aerosol - 1: dust over land - 2: generic aerosol over land - 3: urban aerosol over land - 4: smoke over land |
| `QCAll` | Dimensionless | 750 meters | None | Overall quality flag for aerosol optical depth retrieval: - 0: high quality - 1: medium quality - 2: low quality - 3: no retrieval |
| `QCAE` | Dimensionless | 750 meters | None | Overall quality flag for Angstrom Exponent retrieval over ocean: - 0: high quality - 1: medium quality - 2: low quality - 3: no retrieval |
| `QCExtn` | Dimensionless | 750 meters | None | Quality flag describing the external (or input) masks. For each "yes/no" bit, a "yes" value indicates the presence of that mask. |
| Bitmask for QCExtn - Bits 0-1: Input cloud mask - 0: confidently clear - 1: probably clear - 2: probably cloudy - 3: confidently cloudy - Bit 2: Input snow mask - 0: no - 1: yes - Bit 3: Input cloud shadow mask - 0: no - 1: yes - Bit 4: Input fire mask - 0: no - 1: yes - Bit 5: Input glint mask - 0: no - 1: yes - Bit 6: Input heavy aerosol mask - 0: no - 1: yes - Bit 7: Ephemeral water from input land/water mask - 0: no - 1: yes ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| `QCTest` | Dimensionless | 750 meters | None | Quality flag describing internal tests for specific conditions that may impact or hinder AOD computation. For each "yes/no" bit, a "yes" value indicates presence of the feature being tested. |
| Bitmask for QCTest - Bit 0: Cloud test - 0: no - 1: yes - Bit 1: Cirrus test - 0: no - 1: yes - Bit 2: Thin cirrus test - 0: no - 1: yes - Bit 3: Inhomogeneity test - 0: no - 1: yes - Bit 4: Snow/ice test - 0: no - 1: yes - Bit 5: Ephemeral water test - 0: no - 1: yes - Bit 6: Shallow water test - 0: no - 1: yes - Bit 7: Heavy aerosol test - 0: no - 1: yes ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| `QCInput` | Dimensionless | 750 meters | None | Quality flag describing the types of bad inputs that impact or hinder AOD computation.. For each "yes/no" bit, a "yes" value indicates that the input has the specified problem. |
| Bitmask for QCInput - Bit 0: Input location - 0: good - 1: bad, if 1. longitude beyond \[-180°,180°\] 2. latitude beyond \[-90°,90°\] - Bit 1: Input geometry - 0: good - 1: bad, if 1. zenith angle beyond \[0°,90°\] 2. azimuth angle beyond \[-360°,360°\] - Bit 2: Input ancillary data - 0: good - 1: bad, if 1. TPW beyond \[0,20\] cm 2. ozone beyond \[0,1\] atm-cm 3. surface pressure beyond \[500,1500\] mb 4. wind speed beyond \[0,100\] m/s 5. wind direction beyond \[0°,360°\] - Bit 3: Input reflectance and brightness temperature - 0: good - 1: bad, if 1. M1-M11 reflectance beyond \[0,1\] 2. M15 or M16 brightness temperature beyond \[200,350\] K 3. M6 reflectance is saturated - Bit 4: Shallow ocean from input land/water mask - 0: no - 1: yes - Bit 5: Shallow inland water from input land/water mask - 0: no - 1: yes - Bit 6: Coast line from input land/water mask - 0: no - 1: yes ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| `QCPath` | Dimensionless | 750 meters | None | Quality flag describing the retrieval paths/schemes. For each "yes/no" bit, a "yes" value indicates the presence of that feature. |
| Bitmask for QCPath - Bit 0: Pixel over water - 0: no - 1: yes - Bit 1: Bright land surface - 0: no - 1: yes - Bit 2: Sunglint over water - 0: no - 1: yes - Bit 3: SW scheme over dark land - 0: no - 1: yes - Bit 4: SWIR scheme over dark land - 0: no - 1: yes - Bit 5: Retrieval over bright land - 0: no - 1: yes - Bit 6: Retrieval over bright land with dark land scheme - 0: no - 1: yes ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| `QCRet` | Dimensionless | 750 meters | None | Quality flag describing problems arising from data retrieval that may impact or hinder AOD computation. For each "yes/no" bit, a "yes" value indicates that retrieval failed for that reason. |
| Bitmask for QCRet - Bit 0: Retrieval failed - 0: no - 1: yes - Bit 1: Large airmass - 0: no - 1: yes - Bit 2: Barren land cover type - 0: no - 1: yes - Bit 3: Extrapolation - 0: no - 1: yes - Bit 4: Large residual - 0: no - 1: yes (Larger than 0.5 over land; 0.3 over ocean)' - Bit 5: NDVI_SWIR out-of-range - 0: no - 1: yes (Beyond \[-0.1,0.8\] over land) - Bit 6: Redness ratio out-of-range - 0: no - 1: yes (Beyond \[0.4,1.6\] over land) - Bit 7: Adjacent to cloud or snow - 0: no - 1: yes ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

### Image Properties

**Image Properties**

| Name | Type | Description |
|---|---|---|
| version | INT | Product version |
| revision | INT | Product revision |
| creation_time | INT | Product creation time (Unix timestamp) |
| ascend_descend_data_flag | INT | 0 (ascend) or 1 (descend) |
| day_night_data_flag | STRING | "day" or "night" |
| end_orbit_number | INT | End orbit number |
| satellite_name | STRING | Satellite name: "NOAA-20", "NOAA-21", or "NPP" |
| start_orbit_number | INT | Start orbit number |

### Terms of Use

**Terms of Use**

There are no restrictions on the use of JPSS data, and it can be used or
redistributed as desired.

### Explore with Earth Engine

> [!NOTE]
> **Important:** Earth Engine is a platform for petabyte-scale scientific analysis and visualization of geospatial datasets, both for public benefit and for business and government users. Earth Engine is free to use for research, education, and nonprofit use. To get started, please [register for Earth Engine access.](https://console.cloud.google.com/earth-engine)

### Code Editor (JavaScript)

```javascript
function aodWithGoodQc(image) {
  var qcBand = image.select('QCAll');
  var mask = qcBand.eq(0);
  var aodBand = image.select('AOD550');
  var raster = aodBand.updateMask(mask);
  var raster_mean = raster.reduceNeighborhood({
    reducer: ee.Reducer.mean(),
    kernel: ee.Kernel.square({radius: 2, units: 'pixels'}),
    skipMasked: false
  });
  return raster.unmask(raster_mean);
}

var images = ee.ImageCollection('NOAA/VIIRS/AOD_EDR/V3')
  .filterDate('2023-05-16', '2023-05-17')
  .map(aodWithGoodQc);

Map.addLayer(
  images,
  {min: 0, max: 1, palette: ['800080', '0000ff', '00ffff', '008000', 'ffff00', 'ff0000']},
  'AOD550');
```
[Open in Code Editor](https://code.earthengine.google.com/?scriptPath=Examples:Datasets/NOAA/NOAA_VIIRS_AOD_EDR_V3) [VIIRS Aerosol Optical Depth and Aerosol Particle Size EDRs V3](https://developers.google.com/earth-engine/datasets/catalog/NOAA_VIIRS_AOD_EDR_V3.md.txt) The VIIRS Aerosol Optical Depth (AOD) and Aerosol Particle Size (APS) Environmental Data Records (EDRs) product provides aerosol properties retrieved from the Visible Infrared Imaging Radiometer Suite (VIIRS) sensor. The primary product is the AOD at 550 nm, with additional retrievals at other sensor channels and Angstrom Exponent over oceans. ... NOAA/VIIRS/AOD_EDR/V3, aerosol,aod,atmosphere,noaa,viirs 2022-10-29T00:00:00Z/2026-11-14T20:33:27.600000Z -85 -180 85 180 Google Earth Engine https://developers.google.com/earth-engine/datasets

- [](https://doi.org/https://www.noaa.gov/)
- [](https://doi.org/https://developers.google.com/earth-engine/datasets/catalog/NOAA_VIIRS_AOD_EDR_V3)