GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7. Go directly to the new manual page here


i.landsat.acca - Performs Landsat TM/ETM+ Automatic Cloud Cover Assessment (ACCA).


imagery, landsat, acca


i.landsat.acca help
i.landsat.acca [-5fx2s] input_prefix=string output=name [b56composite=float] [b45ratio=float] [histogram=integer] [--overwrite] [--verbose] [--quiet]


Data is Landsat-5 TM
I.e. Thermal band is '.6' not '.61')
Apply post-processing filter to remove small holes
Always use cloud signature (step 14)
Bypass second-pass processing, and merge warm (not ambiguous) and cold clouds
Include a category for cloud shadows
Allow output files to overwrite existing files
Verbose module output
Quiet module output


Base name of input raster bands
Example: 'B.' for B.1, B.2, ...
Name for output raster map
B56composite (step 6)
Default: 225.
B45ratio: Desert detection (step 10)
Default: 1.
Number of classes in the cloud temperature histogram
Default: 100


i.landsat.acca implements the Automated Cloud-Cover Assessment (ACCA) Algorithm from Irish (2000) with the constant values for pass filter one from Irish et al. (2006). To do this, it needs Landsat band numbers 2, 3, 4, 5, and 6 (or band 61 for Landsat-7 ETM+) which have already been processed from DN into reflectance and band-6 temperature with i.landsat.toar).

The ACCA algorithm gives good results over most of the planet with the exception of ice sheets because ACCA operates on the premise that clouds are colder than the land surface they cover. The algorithm was designed for Landsat-7 ETM+ but because reflectance is used it is also useful for Landsat-4/5 TM.


i.landsat.acca works in the current region settings.


Run the standard ACCA algorithm with filling of small cloud holes (the -f flag): With per-band reflectance raster maps named 226_62.toar.1, 226_62.toar.2, [...] and LANDSAT-7 thermal band 226_62.toar.61, outputing to a new raster map named 226_62.acca:
i.landsat.toar sensor=tm7 gain=HHHLHLHHL date=2003-04-07 product_date=2008-11-27 input_prefix=226_62 \
  output_prefix=226_62_toar solar_elevation=49.51654
i.landsat.acca -f band_prefix=226_62.toar output=226_62.acca
i.landsat.toar input_prefix=L5121060_06020060714. output_prefix=L5121060_06020060714_toar sensor=tm5 \
  metfile=L5121060_06020060714_MTL.txt -t
i.landsat.acca -5 -f input_prefix=L5121060_06020060714_toar. output=L5121060_06020060714.acca
Using the cloud mask:
 # Mask out the clouds:
 r.mapcalc "MASK = if(isnull(L5121060_06020060714.acca))"
 d.rast L5121060_06020060714_toar.1


  1. Irish R.R., Barker J.L., Goward S.N., and Arvidson T., 2006. Characterization of the Landsat-7 ETM+ Automated Cloud-Cover Assessment (ACCA) Algorithm. Photogrammetric Engineering and Remote Sensing vol. 72(10): 1179-1188.
  2. Irish, R.R., 2000. Landsat 7 Automatic Cloud Cover Assessment. In S.S. Shen and M.R. Descour (Eds.): Algorithms for Multispectral, Hyperspectral, and Ultraspectral Imagery VI. Proceedings of SPIE, 4049: 348-355.




E. Jorge Tizado (ej.tizado unileon es), Dept. Biodiversity and Environmental Management, University of León, Spain

Last changed: $Date: 2011-11-08 03:23:06 -0800 (Tue, 08 Nov 2011) $

Main index - imagery index - Full index

© 2003-2016 GRASS Development Team