1i.landsat.toar(1)           GRASS GIS User's Manual          i.landsat.toar(1)
2
3
4

NAME

6       i.landsat.toar   - Calculates top-of-atmosphere radiance or reflectance
7       and temperature for Landsat MSS/TM/ETM+/OLI
8

KEYWORDS

10       imagery, radiometric conversion, radiance, reflectance, brightness tem‐
11       perature, atmospheric correction, satellite, Landsat
12

SYNOPSIS

14       i.landsat.toar
15       i.landsat.toar --help
16       i.landsat.toar  [-rnp]  input=basename  output=basename  [metfile=name]
17       [sensor=string]    [method=string]    [date=yyyy-mm-dd]     [sun_eleva‐
18       tion=float]      [product_date=yyyy-mm-dd]      [gain=string]     [per‐
19       cent=float]       [pixel=integer]        [rayleigh=float]        [lsat‐
20       met=string[,string,...]]     [scale=float]     [--overwrite]   [--help]
21       [--verbose]  [--quiet]  [--ui]
22
23   Flags:
24       -r
25           Output at-sensor radiance instead of reflectance for all bands
26
27       -n
28           Input raster maps use as extension the number of the  band  instead
29           the code
30
31       -p
32           Print output metadata info
33
34       --overwrite
35           Allow output files to overwrite existing files
36
37       --help
38           Print usage summary
39
40       --verbose
41           Verbose module output
42
43       --quiet
44           Quiet module output
45
46       --ui
47           Force launching GUI dialog
48
49   Parameters:
50       input=basename [required]
51           Base name of input raster bands
52           Example: ’B.’ for B.1, B.2, ...
53
54       output=basename [required]
55           Prefix for output raster maps
56           Example: ’B.toar.’ generates B.toar.1, B.toar.2, ...
57
58       metfile=name
59           Name of Landsat metadata file (.met or MTL.txt)
60
61       sensor=string
62           Spacecraft sensor
63           Required only if ’metfile’ not given (recommended for sanity)
64           Options: mss1, mss2, mss3, mss4, mss5, tm4, tm5, tm7, oli8
65           mss1: Landsat-1 MSS
66           mss2: Landsat-2 MSS
67           mss3: Landsat-3 MSS
68           mss4: Landsat-4 MSS
69           mss5: Landsat-5 MSS
70           tm4: Landsat-4 TM
71           tm5: Landsat-5 TM
72           tm7: Landsat-7 ETM+
73           oli8: Landsat_8 OLI/TIRS
74
75       method=string
76           Atmospheric correction method
77           Options: uncorrected, dos1, dos2, dos2b, dos3, dos4
78           Default: uncorrected
79
80       date=yyyy-mm-dd
81           Image acquisition date (yyyy-mm-dd)
82           Required only if ’metfile’ not given
83
84       sun_elevation=float
85           Sun elevation in degrees
86           Required only if ’metfile’ not given
87
88       product_date=yyyy-mm-dd
89           Image creation date (yyyy-mm-dd)
90           Required only if ’metfile’ not given
91
92       gain=string
93           Gain (H/L) of all Landsat ETM+ bands (1-5,61,62,7,8)
94           Required only if ’metfile’ not given
95
96       percent=float
97           Percent of solar radiance in path radiance
98           Required only if ’method’ is any DOS
99           Default: 0.01
100
101       pixel=integer
102           Minimum pixels to consider digital number as dark object
103           Required only if ’method’ is any DOS
104           Default: 1000
105
106       rayleigh=float
107           Rayleigh atmosphere (diffuse sky irradiance)
108           Required only if ’method’ is DOS3
109           Default: 0.0
110
111       lsatmet=string[,string,...]
112           return value stored for a given metadata
113           Required only if ’metfile’ and -p given
114           Options:  number,  creation,  date, sun_elev, sensor, bands, sunaz,
115           time
116           number: Landsat Number
117           creation: Creation timestamp
118           date: Date
119           sun_elev: Sun Elevation
120           sensor: Sensor
121           bands: Bands count
122           sunaz: Sun Azimuth Angle
123           time: Time
124
125       scale=float
126           Scale factor for output
127           Default: 1.0
128

DESCRIPTION

130       i.landsat.toar is used to transform the calibrated  digital  number  of
131       Landsat imagery products to top-of-atmosphere radiance or top-of-atmos‐
132       phere reflectance and temperature (band 6 of the sensors TM and  ETM+).
133       Optionally,  it  can  be  used  to calculate the at-surface radiance or
134       reflectance with atmospheric correction (DOS method).
135
136       Usually, to do so the production date, the acquisition  date,  and  the
137       solar  elevation  are  needed.  Moreover, for Landsat-7 ETM+ it is also
138       needed the gain (high or low) of the nine respective bands.
139
140       Optionally (recommended), the data can be read from metadata file (.met
141       or MTL.txt) for all Landsat MSS, TM, ETM+ and OLI/TIRS. However, if the
142       solar elevation is given the value of the metadata file is overwritten.
143       This  is  necessary  when the data in the .met file is incorrect or not
144       accurate. Also, if acquisition or production dates are not found in the
145       metadata file then the command line values are used.
146
147       Attention:  Any  null value or smaller than QCALmin in the input raster
148       is set to null in the output raster and it is not included in the equa‐
149       tions.
150

Uncorrected at-sensor values (method=uncorrected, default)

152       The  standard  geometric  and radiometric corrections result in a cali‐
153       brated digital number (QCAL = DN) images. To  further  standardize  the
154       impact  of  illumination  geometry, the QCAL images are first converted
155       first to at-sensor radiance and  then  to  at-sensor  reflectance.  The
156       thermal  band  is  first converted from QCAL to at-sensor radiance, and
157       then to effective at-sensor temperature in Kelvin degrees.
158
159       Radiometric calibration converts QCAL to at-sensor radiance,  a  radio‐
160       metric quantity measured in W/(m² * sr * µm) using the equations:
161
162           ·   gain = (Lmax - Lmin) / (QCALmax - QCALmin)
163
164           ·   bias = Lmin - gain * QCALmin
165
166           ·   radiance = gain * QCAL + bias
167       where,  Lmax  and  Lmin  are the calibration constants, and QCALmax and
168       QCALmin are the highest and the lowest points of the range of  rescaled
169       radiance in QCAL.
170
171       Then, to calculate at-sensor reflectance the equations are:
172
173           ·   sun_radiance = [Esun * sin(e)] / (PI * d^2)
174
175           ·   reflectance = radiance / sun_radiance
176       where,  d  is  the  earth-sun  distance in astronomical units, e is the
177       solar elevation angle, and Esun is the mean solar exoatmospheric  irra‐
178       diance in W/(m² * µm).
179

Simplified at-surface values (method=dos[1-4])

181       Atmospheric  correction  and  reflectance  calibration  remove the path
182       radiance, i.e. the stray light from the atmosphere,  and  the  spectral
183       effect  of  solar illumination. To output these simple at-surface radi‐
184       ance and at-surface reflectance, the equations  are  (not  for  thermal
185       bands):
186
187           ·   sun_radiance  =  TAUv  *  [Esun * sin(e) * TAUz + Esky] / (PI *
188               d^2)
189
190           ·   radiance_path = radiance_dark - percent * sun_radiance
191
192           ·   radiance = (at-sensor_radiance - radiance_path)
193
194           ·   reflectance = radiance / sun_radiance
195       where, percent is a value between 0.0 and 1.0 (usually 0.01),  Esky  is
196       the diffuse sky irradiance, TAUz is the atmospheric transmittance along
197       the path from the sun to the ground surface,  and  TAUv  is  the  atmo‐
198       spheric  transmittance  along  the  path from the ground surface to the
199       sensor. radiance_dark is the at-sensor  radiance  calculated  from  the
200       darkest  object,  i.e.  DN with a least ’dark_parameter’ (usually 1000)
201       pixels for the entire image.  The values are,
202
203           ·   DOS1: TAUv = 1.0, TAUz = 1.0 and Esky = 0.0
204
205           ·   DOS2: TAUv = 1.0, Esky = 0.0, and TAUz = sin(e) for  all  bands
206               with  maximum wave length less than 1. (i.e. bands 4-6 MSS, 1-4
207               TM, and 1-4 ETM+) other bands TAUz = 1.0
208
209           ·   DOS3: TAUv = exp[-t/cos(sat_zenith)],  TAUz  =  exp[-t/sin(e)],
210               Esky = rayleigh
211
212           ·   DOS4:  TAUv  =  exp[-t/cos(sat_zenith)], TAUz = exp[-t/sin(e)],
213               Esky = PI * radiance_dark
214       Attention: Output radiance remain untouched (i.e. no set to 0.0 when it
215       is  negative)  then  they are possible negative values. However, output
216       reflectance is set to 0.0 when is obtained a negative value.
217

NOTES

219       The output raster cell values can be rescaled with the scale  parameter
220       (e.g., with 100 in case of using reflectance output in i.gensigset).
221
222   On Landsat-8 metadata file
223       NASA  reports  a structure of the L1G Metadata file (LDCM-DFCB-004.pdf)
224       for Landsat Data Continuity Mission (i.e. Landsat-8).
225
226       NASA retains in MIN_MAX_RADIANCE group  the  necessary  information  to
227       transform Digital Numbers (DN) in radiance values. Then, i.landsat.toar
228       replaces the possible standard values with  the  metadata  values.  The
229       results  match with the values reported by the metada file in RADIOMET‐
230       RIC_RESCALING group.
231
232       Also, NASA reports the same values of  reflectance  for  all  bands  in
233       max-min  values and in gain-bias values. This is strange that all bands
234       have the same range of reflectance. Also, they wrote in the web page as
235       to  calculate  reflectance  directly  from  DN,  first  with  RADIOMET‐
236       RIC_RESCALING values and second divided by sin(sun_elevation).
237
238       This is a simple rescaling
239
240           ·   reflectance = radiance / sun_radiance = (DN *  RADIANCE_MULT  +
241               RADIANCE_ADD) / sun_radiance
242
243           ·   now reflectance = DN * REFLECTANCE_MULT + REFLECTANCE_ADD
244
245           ·   then REFLECTANCE_MULT = RADIANCE_MULT / sun_radiance
246
247           ·   and REFLECTANCE_ADD = RADIANCE_ADD / sun_radiance
248
249       The  problem  arises when we need ESUN values (not provided) to compute
250       sun_radiance and DOS. We assume that REFLECTANCE_MAXIMUM corresponds to
251       the RADIANCE_MAXIMUM, then
252
253           ·   REFLECTANCE_MAXIMUM / sin(e) = RADIANCE_MAXIMUM / sun_radiance
254
255           ·   Esun = (PI * d^2) * RADIANCE_MAXIMUM / REFLECTANCE_MAXIMUM
256       where d is the earth-sun distance provided by metadata file or computed
257       inside the program.
258
259       The i.landsat.toar reverts back the NASA rescaling  to  continue  using
260       Lmax,  Lmin,  and  Esun values to compute the constant to convert DN to
261       radiance and radiance to reflectance with the  "traditional"  equations
262       and simple atmospheric corrections.  Attention: When MAXIMUM values are
263       not provided, i.landsat.toar tries to calculate Lmax,  Lmin,  and  Esun
264       from RADIOMETRIC_RESCALING (in tests the results were the same).
265
266   Calibration constants
267       In  verbose  mode  (flag  --verbose), the program write basic satellite
268       data and the parameters used in the transformations.
269
270       Production date is not an exact value but it is necessary to apply cor‐
271       rect calibration constants, which were changed in the dates:
272
273           ·   Landsat-1 MSS: never
274
275           ·   Landsat-2 MSS: July 16, 1975
276
277           ·   Landsat-3 MSS: June 1, 1978
278
279           ·   Landsat-4 MSS: August 26, 1982 and April 1, 1983
280
281           ·   Landsat-4 TM:  August 1, 1983 and January 15, 1984
282
283           ·   Landsat-5 MSS: April 6, 1984 and November 9, 1984
284
285           ·   Landsat-5 TM:  May 4, 2003 and April, 2 2007
286
287           ·   Landsat-7 ETM+: July 1, 2000
288
289           ·   Landsat-8 OLI/TIRS: launched in 2013
290

EXAMPLES

292   Metadata file examples
293       Transform  digital  numbers of Landsat-7 ETM+ in band rasters 203_30.1,
294       203_30.2 [...] to uncorrected at-sensor  reflectance  in  output  files
295       203_30.1_toar,  203_30.2_toar [...] and at-sensor temperature in output
296       files 293_39.61_toar and 293_39.62_toar:
297       i.landsat.toar input=203_30. output=_toar \
298         metfile=p203r030_7x20010620.met
299       or
300       i.landsat.toar input=L5121060_06020060714. \
301         output=L5121060_06020060714_toar \
302         metfile=L5121060_06020060714_MTL.txt
303       or
304       i.landsat.toar input=LC80160352013134LGN03_B output=toar \
305         metfile=LC80160352013134LGN03_MTL.txt sensor=oli8 date=2013-05-14
306
307   DOS1 example
308       DN to reflectance using DOS1:
309       # rename channels or make a copy to match i.landsat.toar’s input scheme:
310       g.copy raster=lsat7_2002_10,lsat7_2002.1
311       g.copy raster=lsat7_2002_20,lsat7_2002.2
312       g.copy raster=lsat7_2002_30,lsat7_2002.3
313       g.copy raster=lsat7_2002_40,lsat7_2002.4
314       g.copy raster=lsat7_2002_50,lsat7_2002.5
315       g.copy raster=lsat7_2002_61,lsat7_2002.61
316       g.copy raster=lsat7_2002_62,lsat7_2002.62
317       g.copy raster=lsat7_2002_70,lsat7_2002.7
318       g.copy raster=lsat7_2002_80,lsat7_2002.8
319       Calculation of reflectance values from DN using DOS1 (metadata obtained
320       from p016r035_7x20020524.met.gz):
321       i.landsat.toar input=lsat7_2002. output=lsat7_2002_toar. sensor=tm7 \
322         method=dos1 date=2002-05-24 sun_elevation=64.7730999 \
323         product_date=2004-02-12 gain=HHHLHLHHL
324       The   resulting   Landsat   channels  are  named  lsat7_2002_toar.1  ..
325       lsat7_2002_toar.8.
326

REFERENCES

328           ·   Chander G., B.L. Markham and D.L. Helder, 2009: Remote  Sensing
329               of Environment, vol. 113
330
331           ·   Chander  G.H.  and  B. Markham, 2003: IEEE Transactions On Geo‐
332               science And Remote Sensing, vol. 41, no. 11.
333
334           ·   Chavez P.S., jr. 1996: Image-based  atmospheric  corrections  -
335               Revisited  and Improved. Photogrammetric Engineering and Remote
336               Sensing 62(9): 1025-1036.
337
338           ·   Huang et al: At-Satellite Reflectance, 2002: A First Order Nor‐
339               malization Of Landsat 7 ETM+ Images.
340
341           ·   R.  Irish: Landsat 7. Science Data Users Handbook. February 17,
342               2007; 15 May 2011.
343
344           ·   Markham  B.L.  and  J.L.  Barker,  1986:  Landsat  MSS  and  TM
345               Post-Calibration  Dynamic  Ranges,  Exoatmospheric Reflectances
346               and At-Satellite Temperatures. EOSAT Landsat  Technical  Notes,
347               No. 1.
348
349           ·   Moran  M.S.,  R.D. Jackson, P.N. Slater and P.M. Teillet, 1992:
350               Remote Sensing of Environment, vol. 41.
351
352           ·   Song et al, 2001: Classification  and  Change  Detection  Using
353               Landsat  TM  Data, When and How to Correct Atmospheric Effects?
354               Remote Sensing of Environment, vol. 75.
355

SEE ALSO

357        i.atcorr, i.colors.enhance, r.mapcalc, r.in.gdal
358
359       Landsat Data Dictionary by USGS
360

AUTHOR

362       E. Jorge Tizado  (ej.tizado unileon es), Dept. Biodiversity  and  Envi‐
363       ronmental Management, University of León, Spain
364

SOURCE CODE

366       Available at: i.landsat.toar source code (history)
367
368       Main  index | Imagery index | Topics index | Keywords index | Graphical
369       index | Full index
370
371       © 2003-2020 GRASS Development Team, GRASS GIS 7.8.5 Reference Manual
372
373
374
375GRASS 7.8.5                                                  i.landsat.toar(1)
Impressum