I am trying to calculate surface reflectance values from raw Landsat DN data downloaded from GLOVIS. I have imported Landsat data in GRASS 6 with header by i.landsat.import and reprojected the scene into different PCS. Then I can convert DN to at-sensor radiance/reflectance values using i.landsat.toar.
Subsequently, I would like to convert at-sensor values to at-surface values (needed for further i.topo.corr minnaert correction because of the mountainous area). The simple metod is implemented by DOS[1-4] methods in i.landsat.toar. However, there are 4 DOS methods (http://grass.osgeo.org/grass65/manuals/i.landsat.toar.html):
- DOS1: TAUv = 1.0, TAUz = 1.0 and Esky = 0.0
- DOS2: TAUv = 1.0, Esky = 0.0, and TAUz = sin(e) for all bands with maximum wave length less than 1. (i.e. bands 4-6 MSS, 1-4 TM, and 1-4 ETM+) other bands TAUz = 1.0
- DOS3: TAUv = exp[-t/cos(sat_zenith)], TAUz = exp[-t/sin(e)], Esky = rayleigh
- DOS4: TAUv = exp[-t/cos(sat_zenith)], TAUz = exp[-t/sin(e)], Esky = PI * radiance_dark
Do you have some experiences, which one of DOS methods is the simpliest one and provides the most reliable results in mountainous area? My area of interest is varying from 800-2500 a.s.l. in Central Europe, surface about 1050 km2 (only a fraction of whole Landsat scene).