I am trying to apply i.atcorr to a landsat mosaic with GRASS. These are my 6S parameters:

01 31 22.10 178.940 -17.263

Everytime I run it, it returns me a raster with only one value. I've changed the values, I've tried with dummy data, I've read the documentation several times. I have read literally all the questions here in stack gis about the use of i.atcorr with GRASS, and in their mailing list as well. There seems to be a lot of people that has the same output, this sort of blank raster, but there is not a clear solution to this.

Has anybody applied this algorithm successfully to Landsat 8 and, if so, any idea on I am possibility doing wrong?

**Edit: GRASS GIS 7.4.4. on Windows 10.

  • The third number in the second line is the hour of the satellite pass-over. Is your image really at 22:10 ?? – Micha Jan 18 at 19:32
  • @Micha Thank you for your comment. I saw that value on the MTL file, where it says : ` LANDSAT_SCENE_ID = "LC80740722014031LGN01" LANDSAT_PRODUCT_ID = LC08_L1TP_074072_20140131_20170426_01_T1" FILE_DATE = 2017-04-26T02:36:36Z DATA_TYPE = "L1TP" COLLECTION_CATEGORY = "T1" ELEVATION_SOURCE = "GLS2000" OUTPUT_FORMAT = "GEOTIFF" SPACECRAFT_ID = "LANDSAT_8" WRS_PATH = 74 WRS_ROW = 72 TARGET_WRS_PATH = 74 TARGET_WRS_ROW = 72 DATE_ACQUIRED = 2014-01-31 SCENE_CENTER_TIME = "22:07:41.5744440Z" CORNER_UL_LAT_PRODUCT = -16.2983` – A_R Jan 20 at 0:33
  • Therefore, I would assume that Scene_center_time is the time that the scene was recorded, according to landsat.usgs.gov/landsat-science-data-products-metadata – A_R Jan 20 at 0:35
  • 1
    Please edit and add the GRASS GIS version + operating system to your question. We recently released some updates to i.atcorr – markusN Jan 20 at 22:08
  • Fine. Just FYI - we just released trac.osgeo.org/grass/wiki/Release/7.6.0-News including a specific update to i.atcorr fixing some numerical instabilities among other improvements. – markusN Jan 21 at 19:26

I tried to duplicate your process (GRASS 7.4.3 on Debian) and it seems to work as expected. Here are the commands I used after downloading and unzipping the tile you used:

# Import the bands to GRASS
for t in 1 2 3 4 5 6 7 8 9 10 11; do r.in.gdal input=LC08_L1TP_074072_20140131_20170426_01_T1_B${t}.TIF output=lc8_b${t} --o; done 

# TOA reflectance
i.landsat.toar -r input=lc8_b output=lc8_toar metfile=LC08_L1TP_074072_20140131_20170426_01_T1_MTL.txt sensor=oli8 --o

# Three different 6s_params files with different last line 
# 116,117,118 for blue, green, red bands
# Atmospheric correction
for b in 2 3 4; do i.atcorr input=lc8_toar${b} out=lc8_atcorr${b} param=6s_params${b}.txt --o; done

The results (below) are composite of bands 4,3,2 (RGB). It doesn't look so impressive, maybe the correction parameters need to be tweaked. But it's definitely working. Note the -r flag to i.landsat.toar

Before correction After

  • 1
    In addition, you can try grass.osgeo.org/grass76/manuals/i.colors.enhance.html – markusN Jan 21 at 19:59
  • 1
    @Micha, I understood the problem. When performing i.atcorr I was putting the values directly on the prompt and that was what gave me the empty raster. After, I've created the .txt files with the parameters, used them as input and the i.atcorr performed well. – A_R Jan 28 at 21:53
  • @markusN, I will definitely take a look into that! Thanks – A_R Jan 28 at 21:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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