GRASS logo


i.modis.qc - Extracts quality control parameters from MODIS QC layers.


imagery, imagery quality assessment, reflectance, land surface temperature, vegetation, satellite, MODIS


i.modis.qc --help
i.modis.qc input=name output=name productname=string qcname=string [band=string] [--overwrite] [--help] [--verbose] [--quiet] [--ui]


Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


input=name [required]
Name of input surface reflectance QC layer [bit array]
output=name [required]
Name for output QC type classification layer
productname=string [required]
Name of MODIS product type
Options: mod09Q1, mod09A1, mod09A1s, mod09GA, mod09GAs, mod09CMG, mod09CMGs, mod09CMGi, mod11A1, mod11A2, mod13A2, mcd43B2, mcd43B2q, mod13Q1
mod09Q1: surf. refl. 250m 8-days
mod09A1: surf. refl. 500m 8-days
mod09A1s: surf. refl. 500m 8-days, State QA
mod09GA: surf. refl. 500m daily
mod09GAs: surf. refl. 500m daily, State QA
mod09CMG: surf. refl. 5000m daily
mod09CMGs: surf. refl. 5000m daily, State QA
mod09CMGi: surf. refl. 5000m daily, Internal Climatology
mod11A1: LST 1km daily (Day/Night)
mod11A2: LST 1km 8-days (Day/Night)
mod13A2: VI 1km 16-days
mcd43B2: Brdf-Albedo Quality (Ancillary SDS) 1km 8-days
mcd43B2q: Brdf-Albedo Quality (BRDF SDS) 1km 8-days
mod13Q1: VI 250m 16-days
qcname=string [required]
Name of QC type to extract
Options: adjcorr, atcorr, cloud, data_quality, diff_orbit_from_500m, modland_qa, mandatory_qa_11A1, data_quality_flag_11A1, emis_error_11A1, lst_error_11A1, data_quality_flag_11A2, emis_error_11A2, mandatory_qa_11A2, lst_error_11A2, aerosol_quantity, brdf_correction_performed, cirrus_detected, cloud_shadow, cloud_state, internal_cloud_algorithm, internal_fire_algorithm, internal_snow_mask, land_water, mod35_snow_ice, pixel_adjacent_to_cloud, salt_pan, icm_cloudy, icm_clear, icm_high_clouds, icm_low_clouds, icm_snow, icm_fire, icm_sun_glint, icm_dust, icm_cloud_shadow, icm_pixel_is_adjacent_to_cloud, icm_cirrus, icm_pan_flag, icm_criteria_for_aerosol_retrieval, icm_aot_has_clim_val, modland_qa, vi_usefulness, aerosol_quantity, pixel_adjacent_to_cloud, brdf_correction_performed, mixed_clouds, land_water, possible_snow_ice, possible_shadow, platform, land_water, sun_z_angle_at_local_noon, brdf_correction_performed, modland_qa, vi_usefulness, aerosol_quantity, pixel_adjacent_to_cloud, brdf_correction_performed, mixed_clouds, land_water, possible_snow_ice, possible_shadow
adjcorr: mod09: Adjacency Correction
atcorr: mod09: Atmospheric Correction
cloud: mod09: Cloud State
data_quality: mod09: Band-Wise Data Quality Flag
diff_orbit_from_500m: mod09: 250m Band is at Different Orbit than 500m
modland_qa: mod13Q1: MODIS Land General Quality Assessment
mandatory_qa_11A1: mod11A1: MODIS Land General Quality Assessment
data_quality_flag_11A1: mod11A1: Detailed Quality Indications
emis_error_11A1: mod11A1: Average Emissivity Error Classes
lst_error_11A1: mod11A1: Average LST Error Classes
data_quality_flag_11A2: mod11A2: Detailed Quality Indications
emis_error_11A2: mod11A2: Average Emissivity Error Classes
mandatory_qa_11A2: mod11A2: MODIS Land General Quality Assessment
lst_error_11A2: mod11A2: Average LST Error Classes
aerosol_quantity: mod13Q1: Quantity range of Aerosol
brdf_correction_performed: mod13Q1: if BRDF correction performed
cirrus_detected: mod09*s: StateQA Cirrus Detected
cloud_shadow: mod09*s: StateQA Cloud Shadow
cloud_state: mod09*s: StateQA Cloud State
internal_cloud_algorithm: mod09*s: StateQA Internal Cloud Algorithm
internal_fire_algorithm: mod09*s: StateQA Internal Fire Algorithm
internal_snow_mask: mod09*s: StateQA Internal Snow Mask
land_water: mod13Q1: separate land from various water objects
mod35_snow_ice: mod09*s: StateQA mod35 Snow Ice
pixel_adjacent_to_cloud: mod13Q1: if pixel is a cloud neighbour
salt_pan: mod09*s: StateQA Salt Pan (mod09GAs)
icm_cloudy: mod09*i: Internal CM: Cloudy
icm_clear: mod09*i: Internal CM: Clear
icm_high_clouds: mod09*i: Internal CM: High Clouds
icm_low_clouds: mod09*i: Internal CM: Low Clouds
icm_snow: mod09*i: Internal CM: Snow
icm_fire: mod09*i: Internal CM: Fire
icm_sun_glint: mod09*i: Internal CM: Sun Glint
icm_dust: mod09*i: Internal CM: Dust
icm_cloud_shadow: mod09*i: Internal CM: Cloud Shadow
icm_pixel_is_adjacent_to_cloud: mod09*i: Internal CM: Pixel is Adjacent to Cloud
icm_cirrus: mod09*i: Internal CM: Cirrus
icm_pan_flag: mod09*i: Internal CM: Pan Flag
icm_criteria_for_aerosol_retrieval: mod09*i: Internal CM: Criteria for Aerosol Retrieval
icm_aot_has_clim_val: mod09*i: Internal CM: AOT (aerosol optical depth) has clim. val.
vi_usefulness: mod13Q1: Quality estimation of the pixel
mixed_clouds: mod13Q1: if pixel mixed with clouds
possible_snow_ice: mod13Q1: if snow/ice present in pixel
possible_shadow: mod13Q1: if shadow is present in pixel
platform: mcd43B2: Quality of BRDF correction performed
sun_z_angle_at_local_noon: mcd43B2: Quality of BRDF correction performed
Band number of MODIS product (mod09Q1=[1,2],mod09A1=[1-7],m[o/y]d09GA=[1-7],m[o/y]d09CMG=[1-7], mcd43B2q=[1-7])
Options: 1, 2, 3, 4, 5, 6, 7
1: Band 1: Red
2: Band 2: NIR
3: Band 3: Blue
4: Band 4: Green
5: Band 5: SWIR 1
6: Band 6: SWIR 2
7: Band 7: SWIR 3

Table of contents


i.modis.qc extracts Requested Quality Assessment flags from the following MODIS products: MOD09A1, MOD09Q1, MOD11A1, MOD11A2, MOD13A2, MOD13Q1, MCD43B2. This does include MOD09A1 QA_state_500m layer (see Notes).
Added MOD09GA support in 2016, it follows MOD09A1 and its StateQA, but does not have BRDF State QA, instead has Salt Pan State QA.

MOD09A1 and MOD09Q1

MOD09A1/Q1: MODLAND QA Bits. bits=[0-1]
MOD09Q1: Cloud State. bits=[2-3] 
MOD09Q1: Band-wise Data Quality 250m bits=[4-7][8-11]
MOD09A1: Band-wise Data Quality 500m bits=[2-5][6-9][10-13][14-17][18-21][22-25][26-29]
MOD09A1/Q1: Atmospheric correction bit=[12]/[30]
MOD09A1/Q1: Adjacency correction bit=[13]/[31]
MOD09Q1: Different orbit from 500m product, bit=[14]
MOD09A1s: Cloud State bits=[0-1]
MOD09A1s: Cloud shadow bits=[2]
MOD09A1s: Land/Water Flag bits=[3-5]
MOD09A1s: Aerosol Quantity bits=[6-7]
MOD09A1s: Cirrus detected bits=[8-9]
MOD09A1s: Internal Cloud Algorithm Flag bits=[10]
MOD09A1s: Internal Fire Algorithm Flag bits=[11]
MOD09A1s: MOD35 snow/ice flag bits=[12]
MOD09A1s: Pixel adjacent to cloud bits=[13]
MOD09A1s: BRDF correction performed bits=[14]
MOD09A1s: Internal Snow Mask bits=[15]


MOD11A1: Mandatory QA Flags bits=[0-1]
MOD11A1: Data Quality Flag bits=[2-3]
MOD11A1: Emis Error Flag bits=[4-5]
MOD11A1: LST Error Flag bits=[6-7]


MOD11A2: Mandatory QA Flags bits=[0-1]
MOD11A2: Data Quality Flag bits=[2-3]
MOD11A2: Emis Error Flag bits=[4-5]
MOD11A2: LST Error Flag bits=[6-7]


MOD13A2: Mandatory QA Flags 1km bits[0-1]
MOD13A2: VI Usefulness Flag bits[2-5]
MOD13A2: Aerosol quantity Flags 1km bits[6-7]
MOD13A2: Adjacent cloud detected 1km bit[8]
MOD13A2: Atmosphere BRDF correction performed 1km bit[9]
MOD13A2: Mixed clouds 1km bit[10]
MOD13A2: Land/Water Flags 1km bits[11-13]
MOD13A2: Possible Snow/Ice 1km bits[14]
MOD13A2: Possible Shadow 1km bits[15]


MOD13Q1: Mandatory QA Flags 250m bits[0-1]
MOD13Q1: VI Usefulness Flag 250m bits[2-5]
MOD13Q1: Aerosol quantity Flags 250m bits[6-7]
MOD13Q1: Adjacent cloud detected 250m bit[8]
MOD13Q1: Atmosphere BRDF correction performed 250m bit[9]
MOD13Q1: Mixed clouds 250m bit[10]
MOD13Q1: Land/Water Flags 250m bits[11-13]
MOD13Q1: Possible Snow/Ice 250m bits[14]
MOD13Q1: Possible Shadow 250m bits[15]


MCD43B2: Albedo Quality Ancillary Platform Data 1km bits[0-3]
SDS: BRDF_Albedo_Ancillary
MCD43B2: Albedo Quality Ancillary Land/Water Data 1km bits[4-7]
SDS: BRDF_Albedo_Ancillary
MCD43B2: Albedo Quality Ancillary Sun Zenith Angle at Local Solar Noon Data 1km bits[8-14]
SDS: BRDF_Albedo_Ancillary
MCD43B2: Band-wise Albedo Quality Data 1km
SDS: BRDF_Albedo_Band_Quality


In MOD09A1: It seems that cloud related info is not filled properly in the standard QC (MOD09A1 in this module) since version 3, State-QA 500m images (MOD09A1s in this module) should be used (see Vermote et al., 2008). MOD11A2 quality control (QC) bands do not have a FillValue (No-data) according to MODIS Land Products site. However, the metadata of the QC bands (i.e.: gdalinfo QC_band) shows No-data=0. This value is then transformed into GRASS NULLs when data is imported through Applying i.modis.qc on those QC bands will not give the expected range of values in the different QC bits. Therefore, before using i.modis.qc, the user needs to set the NULL value in QC bands back to zero (i.e.: r.null map=QC_band null=0) or just edit the metadata with GDAL utilities before importing into GRASS GIS. This is a known issue for MOD11A2 (8-day LST product), but other MODIS products might be affected as well.


Add more daily products.




Yann Chemin

Last changed: $Date: 2017-01-29 11:43:29 -0800 (Sun, 29 Jan 2017) $


Available at: i.modis.qc source code (history)

Main index | Imagery index | Topics index | Keywords index | Graphical index | Full index

© 2003-2017 GRASS Development Team, GRASS GIS 7.5.svn Reference Manual