I need to perform an atmospheric correction for Landsat-8 data and can't find a solution.

There is a very limited amount of information dealing with L8-correction methods in a comprehensive way, that's why I created this post. There's some existing questions here on StackExchange dealing with details related to this post but they are outdated. E.g: "how can i correct atmospherically Landsat 8 images?" considers i.atcorr as a solution which doesn't work anymore (see below). The answers to "How to atmospherically correct Landsat 8 data?" deal with single image Dark Object Subtraction which is not suitable due to reasons given below. (Sorry for not providing direct links, StackExchange prohibits this for new users)

So far I have tried:

  • ATCOR toolbox in ERDAS - costs a lot of money and, having worked with it for several years, I'm not content with it's performance
  • i.atcorr in Grass 6.4 does not support Landsat-8
  • i.atcorr in Grass 7.0.3 does not work
  • i.landsat.atcorr does not work and is not updated anymore
  • ESPA-SR is very complex and I fail to set it up properly or run any commands. github.com/USGS-EROS/espa-surface-reflectance
  • Dark Object Substraction is not feasible for a large amount of scences (as it requires user interaction) and has a questinable performance

Does anybody have other suggestions or solutions?#

Edit/Update: A relevant post: Open Source Alternatives to ERDAS IMAGINE ATCOR?

  • ENVI, not free but several more robust atmospheric correction options than dark substract .
    – geodranic
    Feb 17, 2016 at 16:48
  • 1
    I recently used i.atcorr on Landsat 8 images. Worked fine, AFAIK. The issue you mentioned refers specifically to Windows not finding the executable. The module itself (on Linux) accepts and processes Landsat 8.
    – Micha
    Feb 18, 2016 at 8:13
  • 1
    "i.atcorr in Grass 7 does not work" - does this problem persist? AFAIK a few Windows related packaging issues got fixed recently.
    – markusN
    Feb 20, 2016 at 7:35
  • @markusN I run the most recent stable version and it doesn't start on my computer.
    – unnic
    Feb 22, 2016 at 8:04
  • 1
    Why don't you use the Landsat Surface Reflectance data provided for free by NASA? earthexplorer.usgs.gov
    – Iris
    Apr 6, 2016 at 7:05

1 Answer 1


An open source package for atmospheric correction of a number of sensors, including Landsat 8, is ARCSI (http://rsgislib.org/arcsi/) from the Earth Observation and Ecosystem Dynamic group at Aberystwyth University.

It is written in Python (with some functions written in C++) and uses the 6S codes through Py6S. It is a command line tool and has some functions for processing a lot of scenes at once.

Basic usage would be something like:

arcsi.py -s ls8 -f KEA --stats -p RAD SREF --aeropro Maritime \
--atmospro MidlatitudeSummer --aot 0.25  -o ./OutputImages \
-i LC80430342013291LGN00/LC80430342013291LGN00_MTL.txt

More details are available in the following post: https://spectraldifferences.wordpress.com/2014/05/27/arcsi/

Binaries are only available for Linux and OS X (see details in above post) so if you need to run on Windows you would need to do so through a virtual machine.

One thing to point out is there isn't much support available if you do have problems with it. Also some level of UNIX / Python skills are required - in particular if you want to process multiple scenes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.