[GRASS-user] i.atcorr with ToA reflectance

I'm trying to do atmospheric correction on some landsat 8 tiles. I have successfully prepared ToA reflectance (with i.landsat.toar -r ).

Now when I run i.atcorr, I first get the range parameters by extracting the actual minimum,maximum values from each band. And I set the rescale parameter to 0,1. However this warning appears:

r.info -r lc81740392014220_toa_refl2
min=0.0749609194287782
max=0.649816591520163

i.atcorr -r input=lc81740392014220_toa_refl2 output=atcorr_test elevation=ast_dem parameters=6S_lc81740392014220_b2.txt range=0.0749609194287782,0.649816591520163 rescale=0,1
WARNING: Scale range length should be > 0; Using default values: [0,255]
Atmospheric correction...

and the band gets values much larger the the desired 0,1 range for reflectance. How should this be dealt with? Is it really necessary to set the range to the exact min/max values for each band? or can I just choose arbitrary range values that cover the min/max for all the bands I'm using?

(BTW, the above seems to work OK if I use ToA *radiance*, and a specific set of range values for each band, again based on the actual min/max for that band)

Thanks,
Micha

* Micha Silver <micha@arava.co.il> [2015-05-29 16:32:24 +0300]:

I'm trying to do atmospheric correction on some landsat 8 tiles. I have
successfully prepared ToA reflectance (with i.landsat.toar -r ).

i.landsat.toar -r would give Radiances. Would you please confirm that
the above wasn't simply a "typo"?

And what is the type of the output? Uncorrected, or any of the DOS
corrected types?

Now when I run i.atcorr, I first get the range parameters by extracting
the actual minimum,maximum values from each band. And I set the rescale
parameter to 0,1. However this warning appears:

r.info -r lc81740392014220_toa_refl2
min=0.0749609194287782
max=0.649816591520163

i.atcorr -r input=lc81740392014220_toa_refl2 output=atcorr_test
elevation=ast_dem parameters=6S_lc81740392014220_b2.txt
range=0.0749609194287782,0.649816591520163 rescale=0,1
WARNING: Scale range length should be > 0; Using default values: [0,255]
Atmospheric correction...

Here, I guess that Reflectance is (correctly) the input imagery.

and the band gets values much larger the the desired 0,1 range for
reflectance. How should this be dealt with? Is it really necessary to
set the range to the exact min/max values for each band?

We should set a clear set of Question and Answers, and document it in
the wiki for all of these issues.

or can I just
choose arbitrary range values that cover the min/max for all the bands
I'm using?

Not sure.

(BTW, the above seems to work OK if I use ToA *radiance*, and a specific
set of range values for each band, again based on the actual min/max for
that band)

I think this is correct, meaning going from DN > Radiance (via
i.landsat.toar), then from Radiance > Reflectance (via i.atcorr).

Can we compare the output of i.landsat.toar and the output of a custom
r.mapcalc formula for conversions from DN > Radiance > Reflectance? I
have too seen sometimes, for Landsat8 data, heavily skewed histograms
for Landsat8 reflectances, ranging in [0, 1] which might or might not be
ok.

Nikos