GOES-19 MCMIPM Series ABI Level 2 Cloud and Moisture Imagery Mesoscale

NOAA/GOES/19/MCMIPM
Dataset Availability
2025-04-07T00:00:00Z–2025-09-06T04:02:55.200000Z
Dataset Provider
Earth Engine Snippet
ee.ImageCollection("NOAA/GOES/19/MCMIPM")
Cadence
10 Minutes
Tags
abi atmosphere goes goes-19 goes-east goes-u mcmip nesdis noaa ospo satellite-imagery weather

Description

The Cloud and Moisture Imagery products are all at 2km resolution. Bands 1-6 are reflective. The dimensionless "reflectance factor" quantity is normalized by the solar zenith angle. These bands support the characterization of clouds, vegetation, snow/ice, and aerosols. Bands 7-16 are emissive. The brightness temperature at the Top-Of-Atmosphere (TOA) is measured in Kelvin. These bands support the characterization of the surface, clouds, water vapor, ozone, volcanic ash, and dust based on emissive properties.

The locations of domains 1 and 2 change over time.

Operational data production for GOES-19 began April 7, 2025. Any data prior to this date is provisional.

README

NOAA's Office of Satellite and Product Operations has a General Satellite Messages channel with status updates.

Bands

Pixel Size 2000 meters

Bands

Name Units Min Max Pixel Size Wavelength Description
CMI_C01
Reflectance factor 0 1.3 meters 0.45-0.49µm

Visible - Blue

Daytime aerosol over land, coastal water mapping.

DQF_C01
0 4 meters None

Data quality flags

CMI_C02
Reflectance factor 0 1.3 meters 0.59-0.69µm

Visible - Red

Daytime clouds, fog, insolation, winds

DQF_C02
0 4 meters None

Data quality flags

CMI_C03
Reflectance factor 0 1.3 meters 0.846-0.885µm

Near-IR - Veggie

Daytime vegetation, burn scar, aerosol over water, winds

DQF_C03
0 4 meters None

Data quality flags

CMI_C04
Reflectance factor 0 1.3 meters 1.371-1.386µm

Near-IR - Cirrus

Daytime cirrus cloud

DQF_C04
0 4 meters None

Data quality flags

CMI_C05
Reflectance factor 0 1.3 meters 1.58-1.64µm

Near-IR - Snow/Ice

Daytime cloud-top phase and particle size, snow

DQF_C05
0 4 meters None

Data quality flags

CMI_C06
Reflectance factor 0 1.3 meters 2.225-2.275µm

Near IR - Cloud Particle Size

Daytime land, cloud properties, particle size, vegetation, snow

DQF_C06
0 4 meters None

Data quality flags

CMI_C07
K 197.31 411.86 meters 3.80-4.00µm

Infrared - Shortwave Window

Brightness

DQF_C07
0 4 meters None

Data quality flags

CMI_C08
K 138.05 311.06 meters 5.77-6.6µm

Infrared - Upper-level water vapor

High-level atmospheric water vapor, winds, rainfall

Brightness

DQF_C08
0 4 meters None

Data quality flags

CMI_C09
K 137.7 311.08 meters 6.75-7.15µm

Infrared - Mid-level water vapor

Mid-level atmospheric water vapor, winds, rainfall

Brightness

DQF_C09
0 4 meters None

Data quality flags

CMI_C10
K 126.91 331.2 meters 7.24-7.44µm

Infrared - Lower-level water vapor

Lower-level water vapor, winds, and sulfur dioxide

Brightness

DQF_C10
0 4 meters None

Data quality flags

CMI_C11
K 127.69 341.3 meters 8.3-8.7µm

Infrared - Cloud-top phase

Total water for stability, cloud phase, dust, sulfur dioxide, rainfall

Brightness

DQF_C11
0 4 meters None

Data quality flags

CMI_C12
K 117.49 311.06 meters 9.42-9.8µm

Infrared - Ozone

Total ozone, turbulence, winds

DQF_C12
0 4 meters None

Data quality flags

CMI_C13
K 89.62 341.27 meters 10.1-10.6µm

Infrared - "Clean" longwave window

Surface and clouds

Brightness

DQF_C13
0 4 meters None

Data quality flags

CMI_C14
K 96.19 341.28 meters 10.8-11.6µm

Infrared - Longwave window

Imagery, sea surface temperature, clouds, rainfall

Brightness

DQF_C14
0 4 meters None

Data quality flags

CMI_C15
K 97.38 341.28 meters 11.8-12.8µm

Infrared "Dirty" longwave

Total water, volcanic ash, sea surface temperature

Brightness

DQF_C15
0 4 meters None

Data quality flags

CMI_C16
K 92.7 318.26 meters 13.0-13.6µm

Infrared - CO_2 longwave

Air temperature, cloud heights

Brightness

DQF_C16
0 4 meters None

Data quality flags

DQF_C01 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C02 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C03 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C04 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C05 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C06 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C07 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C08 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C09 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C10 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C11 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C12 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C13 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C14 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C15 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

DQF_C16 Class Table

Value Color Description
0
#ffffff

Good pixels

1
#ff00ff

Conditionally usable pixels

2
#0000ff

Out of range pixels

3
#00ffff

No value pixels

4
#ffff00

Focal plane temperature threshold exceeded

Image Properties

Image Properties

Name Type Description
CMI_C01_offset
DOUBLE

Offset to add to scaled CMI_C01 values

CMI_C01_scale
DOUBLE

Scale to multiply with raw CMI_C01 values

CMI_C02_offset
DOUBLE

Offset to add to scaled CMI_C02 values

CMI_C02_scale
DOUBLE

Scale to multiply with raw CMI_C02 values

CMI_C03_offset
DOUBLE

Offset to add to scaled CMI_C03 values

CMI_C03_scale
DOUBLE

Scale to multiply with raw CMI_C03 values

CMI_C04_offset
DOUBLE

Offset to add to scaled CMI_C04 values

CMI_C04_scale
DOUBLE

Scale to multiply with raw CMI_C04 values

CMI_C05_offset
DOUBLE

Offset to add to scaled CMI_C05 values

CMI_C05_scale
DOUBLE

Scale to multiply with raw CMI_C05 values

CMI_C06_offset
DOUBLE

Offset to add to scaled CMI_C06 values

CMI_C06_scale
DOUBLE

Scale to multiply with raw CMI_C06 values

CMI_C07_offset
DOUBLE

Offset to add to scaled CMI_C07 values

CMI_C07_scale
DOUBLE

Scale to multiply with raw CMI_C07 values

CMI_C08_offset
DOUBLE

Offset to add to scaled CMI_C08 values

CMI_C08_scale
DOUBLE

Scale to multiply with raw CMI_C08 values

CMI_C09_offset
DOUBLE

Offset to add to scaled CMI_C09 values

CMI_C09_scale
DOUBLE

Scale to multiply with raw CMI_C09 values

CMI_C10_offset
DOUBLE

Offset to add to scaled CMI_C10 values

CMI_C10_scale
DOUBLE

Scale to multiply with raw CMI_C10 values

CMI_C11_offset
DOUBLE

Offset to add to scaled CMI_C11 values

CMI_C11_scale
DOUBLE

Scale to multiply with raw CMI_C11 values

CMI_C12_offset
DOUBLE

Offset to add to scaled CMI_C12 values

CMI_C12_scale
DOUBLE

Scale to multiply with raw CMI_C12 values

CMI_C13_offset
DOUBLE

Offset to add to scaled CMI_C13 values

CMI_C13_scale
DOUBLE

Scale to multiply with raw CMI_C13 values

CMI_C14_offset
DOUBLE

Offset to add to scaled CMI_C14 values

CMI_C14_scale
DOUBLE

Scale to multiply with raw CMI_C14 values

CMI_C15_offset
DOUBLE

Offset to add to scaled CMI_C15 values

CMI_C15_scale
DOUBLE

Scale to multiply with raw CMI_C15 values

CMI_C16_offset
DOUBLE

Offset to add to scaled CMI_C16 values

CMI_C16_scale
DOUBLE

Scale to multiply with raw CMI_C16 values

Terms of Use

Terms of Use

NOAA data, information, and products, regardless of the method of delivery, are not subject to copyright and carry no restrictions on their subsequent use by the public. Once obtained, they may be put to any lawful use.

Citations

Citations:
  • Bah, Gunshor, Schmit, Generation of GOES-16 True Color Imagery without a Green Band, 2018. doi:10.1029/2018EA000379

  • Product User Guide (PUG) Volume 5, L2+ Products .

  • Schmit, T., Griffith, P., et al, (2016), A closer look at the ABI on the GOES-R series, Bull. Amer. Meteor. Soc., 98(4), 681-698. doi:10.1175/BAMS-D-15-00230.1

DOIs

Explore with Earth Engine

Code Editor (JavaScript)

 // Demonstrates displaying GOES-19 Mesoscale images. 
 // Band names. 
 var 
  
 BLUE 
  
 = 
  
 'CMI_C01' 
 ; 
 var 
  
 RED 
  
 = 
  
 'CMI_C02' 
 ; 
 var 
  
 VEGGIE 
  
 = 
  
 'CMI_C03' 
 ; 
 var 
  
 GREEN 
  
 = 
  
 'GREEN' 
 ; 
 /** 
 * Properly scales an MCMIPM image. 
 * 
 * @param {ee.Image} image An unaltered MCMIPM image. 
 * @return {ee.Image} 
 */ 
 var 
  
 applyScaleAndOffset 
  
 = 
  
 function 
 ( 
 image 
 ) 
  
 { 
  
 var 
  
 names 
  
 = 
  
 image 
 . 
 select 
 ( 
 'CMI_C..' 
 ). 
 bandNames 
 (); 
  
 // Scale the radiance bands using the image's metadata. 
  
 var 
  
 scales 
  
 = 
  
 names 
 . 
 map 
 ( 
 function 
 ( 
 name 
 ) 
  
 { 
  
 return 
  
 image 
 . 
 getNumber 
 ( 
 ee 
 . 
 String 
 ( 
 name 
 ). 
 cat 
 ( 
 '_scale' 
 )); 
  
 }); 
  
 var 
  
 offsets 
  
 = 
  
 names 
 . 
 map 
 ( 
 function 
 ( 
 name 
 ) 
  
 { 
  
 return 
  
 image 
 . 
 getNumber 
 ( 
 ee 
 . 
 String 
 ( 
 name 
 ). 
 cat 
 ( 
 '_offset' 
 )); 
  
 }); 
  
 var 
  
 scaled 
  
 = 
  
 image 
 . 
 select 
 ( 
 'CMI_C..' 
 ) 
  
 . 
 multiply 
 ( 
 ee 
 . 
 Image 
 . 
 constant 
 ( 
 scales 
 )) 
  
 . 
 add 
 ( 
 ee 
 . 
 Image 
 . 
 constant 
 ( 
 offsets 
 )); 
  
 return 
  
 image 
 . 
 addBands 
 ({ 
 srcImg 
 : 
  
 scaled 
 , 
  
 overwrite 
 : 
  
 true 
 }); 
 }; 
 /** 
 * Computes and adds a green radiance band to a MCMIPM image. 
 * 
 * The image must already have been properly scaled via applyScaleAndOffset. 
 * 
 * For more information on computing the green band, see: 
 *   https://doi.org/10.1029/2018EA000379 
 * 
 * @param {ee.Image} image An image to add a green radiance band to. It 
 *     must be the result of the applyScaleAndOffset function. 
 * @return {ee.Image} 
 */ 
 var 
  
 addGreenBand 
  
 = 
  
 function 
 ( 
 image 
 ) 
  
 { 
  
 function 
  
 toBandExpression 
 ( 
 bandName 
 ) 
  
 { 
  
 return 
  
 'b(\'' 
  
 + 
  
 bandName 
  
 + 
  
 '\')' 
 ; 
  
 } 
  
 var 
  
 B_BLUE 
  
 = 
  
 toBandExpression 
 ( 
 BLUE 
 ); 
  
 var 
  
 B_RED 
  
 = 
  
 toBandExpression 
 ( 
 RED 
 ); 
  
 var 
  
 B_VEGGIE 
  
 = 
  
 toBandExpression 
 ( 
 VEGGIE 
 ); 
  
 // Green = 0.45 * Red + 0.10 * NIR + 0.45 * Blue 
  
 var 
  
 GREEN_EXPR 
  
 = 
  
 GREEN 
  
 + 
  
 ' = 0.45 * ' 
  
 + 
  
 B_RED 
  
 + 
  
 ' + 0.10 * ' 
  
 + 
  
 B_VEGGIE 
  
 + 
  
 ' + 0.45 * ' 
  
 + 
  
 B_BLUE 
 ; 
  
 var 
  
 green 
  
 = 
  
 image 
 . 
 expression 
 ( 
 GREEN_EXPR 
 ). 
 select 
 ( 
 GREEN 
 ); 
  
 return 
  
 image 
 . 
 addBands 
 ( 
 green 
 ); 
 }; 
 var 
  
 COLLECTION 
  
 = 
  
 'NOAA/GOES/19/MCMIPM' 
 ; 
 // Select a subset of the collection, correct the values, and add a green band. 
 var 
  
 START 
  
 = 
  
 ee 
 . 
 Date 
 ( 
 '2025-04-07T20:40:00' 
 ); 
 var 
  
 END 
  
 = 
  
 START 
 . 
 advance 
 ( 
 10 
 , 
  
 'minutes' 
 ); 
 var 
  
 collection 
  
 = 
  
 ee 
 . 
 ImageCollection 
 ( 
 COLLECTION 
 ) 
  
 . 
 filterDate 
 ( 
 START 
 , 
  
 END 
 ) 
  
 . 
 map 
 ( 
 applyScaleAndOffset 
 ) 
  
 . 
 map 
 ( 
 addGreenBand 
 ); 
 // Separates the two domains. 
 var 
  
 domain1_col 
  
 = 
  
 collection 
 . 
 filter 
 ( 
 'domain == 1' 
 ); 
 var 
  
 domain2_col 
  
 = 
  
 collection 
 . 
 filter 
 ( 
 'domain == 2' 
 ); 
 // Note that there are 20 assets, 10 in each domain. 
 var 
  
 size 
  
 = 
  
 ee 
 . 
 String 
 ( 
 'sizes: collection = ' 
 ). 
 cat 
 ( 
 collection 
 . 
 size 
 ()); 
 var 
  
 size1 
  
 = 
  
 ee 
 . 
 String 
 ( 
 'domain1 = ' 
 ). 
 cat 
 ( 
 domain1_col 
 . 
 size 
 ()); 
 var 
  
 size2 
  
 = 
  
 ee 
 . 
 String 
 ( 
 'domain2 = ' 
 ). 
 cat 
 ( 
 domain2_col 
 . 
 size 
 ()); 
 print 
 ( 
 size 
 . 
 cat 
 ( 
 '  →  ' 
 ). 
 cat 
 ( 
 size1 
 ). 
 cat 
 ( 
 ' and ' 
 ). 
 cat 
 ( 
 size2 
 )); 
 // Visualization parameters. 
 var 
  
 goesRgbViz 
  
 = 
  
 { 
  
 bands 
 : 
  
 [ 
 RED 
 , 
  
 GREEN 
 , 
  
 BLUE 
 ], 
  
 min 
 : 
  
 0.0 
 , 
  
 max 
 : 
  
 0.38 
 , 
  
 gamma 
 : 
  
 1.3 
  
 }; 
 // Displays a sample image from domain 1 and 2. 
 Map 
 . 
 addLayer 
 ( 
 domain1_col 
 . 
 first 
 (), 
  
 goesRgbViz 
 , 
  
 'Domain 1' 
 ); 
 Map 
 . 
 addLayer 
 ( 
 domain2_col 
 . 
 first 
 (), 
  
 goesRgbViz 
 , 
  
 'Domain 2' 
 ); 
 Map 
 . 
 setCenter 
 ( 
 - 
 86 
 , 
  
 39 
 , 
  
 5 
 ); 
Open in Code Editor
Create a Mobile Website
View Site in Mobile | Classic
Share by: