i.atcorr (1)
NAME
i.atcorr - Performs atmospheric correction using the 6S algorithm.
6S - Second Simulation of Satellite Signal in the Solar Spectrum.
KEYWORDS
imagery, atmospheric correction, radiometric conversion, radiance, reflectance, satellite
SYNOPSIS
i.atcorr
i.atcorr --help
i.atcorr [-irab] input=name [range=min,max] [elevation=name] [visibility=name] parameters=name output=name [rescale=min,max] [--overwrite] [--help] [--verbose] [--quiet] [--ui]
Flags:
-i
Output raster map as integer
-r
Input raster map converted to reflectance (default is radiance)
-a
Input from ETM+ image taken after July 1, 2000
-b
Input from ETM+ image taken before July 1, 2000
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog
Parameters:
input=name [required]
Name of input raster map
range=min,max
Input range
Default: 0,255
elevation=name
Name of input elevation raster map (in m)
visibility=name
Name of input visibility raster map (in km)
parameters=name [required]
Name of input text file with 6S parameters
output=name [required]
Name for output raster map
rescale=min,max
Rescale output raster map
Default: 0,255
DESCRIPTION
i.atcorr performs atmospheric correction on the input raster map using the 6S algorithm (Second Simulation of Satellite Signal in the Solar Spectrum). A detailed algorithm description is available at the Land Surface Reflectance Science Computing Facility website.
Important note: Current region settings are ignored! The region is adjusted to cover the input raster map before the atmospheric correction is performed. The previous settings are restored afterwards. This flag tells i.atcorr to try and speedup calculations. However, this option will increase memory requirements.
If flag -r is used, the input raster data are treated as reflectance. Otherwise, the input raster data are treated as radiance values and are converted to reflectance at the i.atcorr runtime. The output data are always reflectance.
Note that the satellite overpass time has to be specified in Greenwich Mean Time (GMT).
An example 6S parameters:
8 - geometrical conditions=Landsat ETM+
2 19 13.00 -47.410 -20.234 - month day hh.ddd longitude latitude ("hh.ddd" is in decimal hours GMT)
1 - atmospheric mode=tropical
1 - aerosols model=continental
15 - visibility [km] (aerosol model concentration)
-0.600 - mean target elevation above sea level [km] (here 600m asl)
-1000 - sensor height (here, sensor on board a satellite)
64 - 4th band of ETM+ Landsat 7
If the position is not available in longitude-latitude (WGS84), the m.proj conversion module can be used to reproject from a different projection.
6S CODE PARAMETER CHOICES
A. Geometrical conditions
Code Description Details
1 meteosat observation enter month,day,decimal hour (universal time-hh.ddd) n. of
column,n. of line. (full scale 5000*2500)
2 goes east observation enter month,day,decimal hour (universal time-hh.ddd) n. of
column,n. of line. (full scale 17000*12000)c
3 goes west observation enter month,day,decimal hour (universal time-hh.ddd) n. of
column,n. of line. (full scale 17000*12000)
4 avhrr (PM noaa) enter month,day,decimal hour (universal time-hh.ddd) n. of
column(1-2048),xlonan,hna give long.(xlonan) and overpass
hour (hna) at the ascendant node at equator
5 avhrr (AM noaa) enter month,day,decimal hour (universal time-hh.ddd) n. of
column(1-2048),xlonan,hna give long.(xlonan) and overpass
hour (hna) at the ascendant node at equator
6 hrv (spot) enter month,day,hh.ddd,long.,lat. *
7 tm (landsat) enter month,day,hh.ddd,long.,lat. *
8 etm+ (landsat7) enter month,day,hh.ddd,long.,lat. *
9 liss (IRS 1C) enter month,day,hh.ddd,long.,lat. *
10 aster enter month,day,hh.ddd,long.,lat. *
11 avnir enter month,day,hh.ddd,long.,lat. *
12 ikonos enter month,day,hh.ddd,long.,lat. *
13 RapidEye enter month,day,hh.ddd,long.,lat. *
14 VGT1 (SPOT4) enter month,day,hh.ddd,long.,lat. *
15 VGT2 (SPOT5) enter month,day,hh.ddd,long.,lat. *
16 WorldView 2 enter month,day,hh.ddd,long.,lat. *
17 QuickBird enter month,day,hh.ddd,long.,lat. *
18 LandSat 8 enter month,day,hh.ddd,long.,lat. *
19 Geoeye 1 enter month,day,hh.ddd,long.,lat. *
20 Spot6 enter month,day,hh.ddd,long.,lat. *
21 Spot7 enter month,day,hh.ddd,long.,lat. *
22 Pleiades1A enter month,day,hh.ddd,long.,lat. *
23 Pleiades1B enter month,day,hh.ddd,long.,lat. *
24 Worldview3 enter month,day,hh.ddd,long.,lat. *
NOTE: for HRV, TM, ETM+, LISS and ASTER experiments, longitude and latitude are the coordinates of the scene center. Latitude must be > 0 for northern hemisphere and < 0 for southern. Longitude must be > 0 for eastern hemisphere and < 0 for western.
B. Atmospheric model
Code Meaning
0 no gaseous absorption
1 tropical
2 midlatitude summer
3 midlatitude winter
4 subarctic summer
5 subarctic winter
6 us standard 62
7 Define your own atmospheric model as a set of the following
5 parameters per each measurement: altitude [km] pressure
[mb] temperature [k] h2o density [g/m3] o3 density [g/m3]
For example: there is one radiosonde measurement for each
altitude of 0-25km at a step of 1km, one measurment for each
altitude of 25-50km at a step of 5km, and two single mea-
surements for altitudes 70km and 100km. This makes 34 mea-
surments. In that case, there are 34*5 values to input.
8 Define your own atmospheric model providing values of the
water vapor and ozone content: uw [g/cm2] uo3 [cm-atm] The
profile is taken from us62.
C. Aerosols model
Code Meaning Details
0 no aerosols
1 continental model
2 maritime model
3 urban model
4 shettle model for background desert aerosol
5 biomass burning
6 stratospheric model
7 define your own model Enter the volumic percentage of each component: c(1) = volu-
mic % of dust-like c(2) = volumic % of water-soluble c(3) =
volumic % of oceanic c(4) = volumic % of soot All values
between 0 and 1.
8 define your own model Size distribution function: Multimodal Log Normal (up to 4
modes).
9 define your own model Size distribution function: Modified gamma.
10 define your own model Size distribution function: Junge Power-Law.
11 define your own model Sun-photometer measurements, 50 values max, entered as: r
and d V / d (logr) where r is the radius [micron], V is the
volume, d V / d (logr) [cm3/cm2/micron]. Followed by: nr
and ni for each wavelength where nr and ni are respectively
the real and imaginary part of the refractive index.
D. Aerosol concentration model (visibility)
If you have an estimate of the meteorological parameter visibility v, enter directly the value of v [km] (the aerosol optical depth (AOD) will be computed from a standard aerosol profile).
If you have an estimate of aerosol optical depth, enter 0 for the visibility and in a following line enter the aerosol optical depth at 550nm (iaer means 'i' for input and 'aer' for aerosol), for example:
0 - visibility
0.112 - aerosol optical depth 550 nm
NOTE: if iaer is 0, enter -1 for visibility.
E. Target altitude (xps), sensor platform (xpp)
Target altitude (xps, in negative [km]): xps >= 0 means the target is at the sea level.
otherwise xps expresses the altitude of the target (e.g., mean elevation) in [km], given as negative value
Sensor platform (xpp, in negative [km] or -1000):
xpp = -1000 means that the sensor is on board a satellite.
xpp = 0 means that the sensor is at the ground level.
-100 < xpp < 0 defines the altitude of the sensor expressed in [km]; this altitude is given relative to the target altitude as negative value.
For aircraft simulations only (xpp is neither equal to 0 nor equal to -1000): puw,po3 (water vapor content,ozone content between the aircraft and the surface)
taerp (the aerosol optical thickness at 550nm between the aircraft and the surface)
If these data are not available, enter negative values for all of them. puw,po3 will then be interpolated from the us62 standard profile according to the values at the ground level. taerp will be computed according to a 2km exponential profile for aerosol.
F. Sensor band
There are two possibilities: either define your own spectral conditions (codes -2, -1, 0, or 1) or choose a code indicating the band of one of the pre-defined satellites.
Define your own spectral conditions:
Code Meaning
-2 Enter wlinf, wlsup. The filter function will be equal to 1
over the whole band (as iwave=0) but step by step output
will be printed.
-1 Enter wl (monochr. cond, gaseous absorption is included).
0 Enter wlinf, wlsup. The filter function will be equal to
1over the whole band.
1 Enter wlinf, wlsup and user's filter function s(lambda) by
step of 0.0025 micrometer.
Pre-defined satellite bands:
Code Meaning
2 meteosat vis band (0.350-1.110)
3 goes east band vis (0.490-0.900)
4 goes west band vis (0.490-0.900)
5 avhrr (noaa6) band 1 (0.550-0.750)
6 avhrr (noaa6) band 2 (0.690-1.120)
7 avhrr (noaa7) band 1 (0.500-0.800)
8 avhrr (noaa7) band 2 (0.640-1.170)
9 avhrr (noaa8) band 1 (0.540-1.010)
10 avhrr (noaa8) band 2 (0.680-1.120)
11 avhrr (noaa9) band 1 (0.530-0.810)
12 avhrr (noaa9) band 1 (0.680-1.170)
13 avhrr (noaa10) band 1 (0.530-0.780)
14 avhrr (noaa10) band 2 (0.600-1.190)
15 avhrr (noaa11) band 1 (0.540-0.820)
16 avhrr (noaa11) band 2 (0.600-1.120)
17 hrv1 (spot1) band 1 (0.470-0.650)
18 hrv1 (spot1) band 2 (0.600-0.720)
19 hrv1 (spot1) band 3 (0.730-0.930)
20 hrv1 (spot1) band pan (0.470-0.790)
21 hrv2 (spot1) band 1 (0.470-0.650)
22 hrv2 (spot1) band 2 (0.590-0.730)
23 hrv2 (spot1) band 3 (0.740-0.940)
24 hrv2 (spot1) band pan (0.470-0.790)
25 tm (landsat5) band 1 (0.430-0.560)
26 tm (landsat5) band 2 (0.500-0.650)
27 tm (landsat5) band 3 (0.580-0.740)
28 tm (landsat5) band 4 (0.730-0.950)
29 tm (landsat5) band 5 (1.5025-1.890)
30 tm (landsat5) band 7 (1.950-2.410)
31 mss (landsat5) band 1 (0.475-0.640)
32 mss (landsat5) band 2 (0.580-0.750)
33 mss (landsat5) band 3 (0.655-0.855)
34 mss (landsat5) band 4 (0.785-1.100)
35 MAS (ER2) band 1 (0.5025-0.5875)
36 MAS (ER2) band 2 (0.6075-0.7000)
37 MAS (ER2) band 3 (0.8300-0.9125)
38 MAS (ER2) band 4 (0.9000-0.9975)
39 MAS (ER2) band 5 (1.8200-1.9575)
40 MAS (ER2) band 6 (2.0950-2.1925)
41 MAS (ER2) band 7 (3.5800-3.8700)
42 MODIS band 1 (0.6100-0.6850)
43 MODIS band 2 (0.8200-0.9025)
44 MODIS band 3 (0.4500-0.4825)
45 MODIS band 4 (0.5400-0.5700)
46 MODIS band 5 (1.2150-1.2700)
47 MODIS band 6 (1.6000-1.6650)
48 MODIS band 7 (2.0575-2.1825)
49 avhrr (noaa12) band 1 (0.500-1.000)
50 avhrr (noaa12) band 2 (0.650-1.120)
51 avhrr (noaa14) band 1 (0.500-1.110)
52 avhrr (noaa14) band 2 (0.680-1.100)
53 POLDER band 1 (0.4125-0.4775)
54 POLDER band 2 (non polar) (0.4100-0.5225)
55 POLDER band 3 (non polar) (0.5325-0.5950)
56 POLDER band 4 P1 (0.6300-0.7025)
57 POLDER band 5 (non polar) (0.7450-0.7800)
58 POLDER band 6 (non polar) (0.7000-0.8300)
59 POLDER band 7 P1 (0.8100-0.9200)
60 POLDER band 8 (non polar) (0.8650-0.9400)
61 etm+ (landsat7) band 1 (0.435-0.520)
62 etm+ (landsat7) band 2 (0.506-0.621)
63 etm+ (landsat7) band 3 (0.622-0.702)
64 etm+ (landsat7) band 4 (0.751-0.911)
65 etm+ (landsat7) band 5 (1.512-1.792)
66 etm+ (landsat7) band 7 (2.020-2.380)
67 etm+ (landsat7) band 8 (0.504-0.909)
68 liss (IRC 1C) band 2 (0.502-0.620)
69 liss (IRC 1C) band 3 (0.612-0.700)
70 liss (IRC 1C) band 4 (0.752-0.880)
71 liss (IRC 1C) band 5 (1.452-1.760)
72 aster band 1 (0.480-0.645)
73 aster band 2 (0.588-0.733)
74 aster band 3N (0.723-0.913)
75 aster band 4 (1.530-1.750)
76 aster band 5 (2.103-2.285)
77 aster band 6 (2.105-2.298)
78 aster band 7 (2.200-2.393)
79 aster band 8 (2.248-2.475)
80 aster band 9 (2.295-2.538)
81 avnir band 1 (0.390-0.550)
82 avnir band 2 (0.485-0.695)
83 avnir band 3 (0.545-0.745)
84 avnir band 4 (0.700-0.925)
85 ikonos Green band (0.350-1.035)
86 ikonos Red band (0.350-1.035)
87 ikonos NIR band (0.350-1.035)
88 RapidEye Blue band (0.438-0.513)
89 RapidEye Green band (0.463-0.594)
90 RapidEye Red band (0.624-0.690)
91 RapidEye RedEdge band (0.500-0.737)
92 RapidEye NIR band (0.520-0.862)
93 VGT1 (SPOT4) band 0 (0.400-0.500)
94 VGT1 (SPOT4) band 2 (0.580-0.782)
95 VGT1 (SPOT4) band 3 (0.700-1.030)
96 VGT1 (SPOT4) MIR band (1.450-1.800)
97 VGT2 (SPOT5) band 0 (0.400-0.550)
98 VGT2 (SPOT5) band 2 (0.580-0.780)
99 VGT2 (SPOT5) band 3 (0.700-1.000)
100 VGT2 (SPOT5) MIR band (1.450-1.800)
101 WorldView 2 Panchromatic band (0.447-0.808)
102 WorldView 2 Coastal Blue band (0.396-0.458)
103 WorldView 2 Blue band (0.442-0.515)
104 WorldView 2 Green band (0.506-0.586)
105 WorldView 2 Yellow band (0.584-0.632)
106 WorldView 2 Red band (0.624-0.694)
107 WorldView 2 Red Edge band (0.699-0.749)
108 WorldView 2 NIR1 band (0.765-0.901)
109 WorldView 2 NIR2 band (0.856-0.1043)
110 QuickBird Panchromatic band (0.405-1.053)
111 QuickBird Blue band (0.430-0.545)
112 QuickBird Green band (0.466-0.620)
113 QuickBird Red band (0.590-0.710)
114 QuickBird NIR1 band (0.715-0.918)
115 Landsat 8 Coastal Aerosol Band (0.427nm - 0.459nm)
116 Landsat 8 Blue Band (436nm - 527nm)
117 Landsat 8 Green Band (512nm-610nm)
118 Landsat 8 Red Band (625nm-691nm)
119 Landsat 8 Panchromatic Band (488nm-692nm)
120 Landsat 8 NIR Band (829nm-900nm)
121 Landsat 8 Cirrus Band (1340nm-1409nm)
122 Landsat 8 SWIR1 Band (1515nm - 1697nm)
123 Landsat 8 SWIR2 Band (2037nm - 2355nm)
115 GeoEye 1 Panchromatic band (0.450-0.800)
116 GeoEye 1 Blue Band (0.450-0.510)
117 GeoEye 1 Green Band (0.510-0.580)
118 GeoEye 1 Red Band (0.655-0.690)
120 GeoEye 1 NIR Band (0.780-0.920)
129 Spot6 Blue band (455nm - 525nm)
130 Spot6 Green band (530nm - 527nm)
131 Spot6 Red band (625nm - 695nm)
132 Spot6 NIR band (760nm - 890nm)
133 Spot6 Pan band (455nm - 745nm)
134 Spot7 Blue band (455nm - 525nm)
135 Spot7 Green band (530nm - 527nm)
136 Spot7 Red band (625nm - 695nm)
137 Spot7 NIR band (760nm - 890nm)
138 Spot7 Pan band (455nm - 745nm)
139 Pleiades1A Blue band (430nm - 550nm)
140 Pleiades1A Green band (490nm - 610nm)
141 Pleiades1A Red band (600nm - 720nm)
142 Pleiades1A NIR band (750nm - 950nm)
143 Pleiades1A Pan band (480nm - 830nm)
144 Pleiades1B Blue band (430nm - 550nm)
145 Pleiades1B Green band (490nm - 610nm)
146 Pleiades1B Red band (600nm - 720nm)
147 Pleiades1B NIR band (750nm - 950nm)
148 Pleiades1B Pan band (480nm - 830nm)
149 Worldview3 Pan band (450nm - 800nm)
150 Worldview3 Coastal blue band (400nm - 450 nm)
151 Worldview3 Blue band (450nm - 510 nm)
152 Worldview3 Green band (510nm - 580 nm)
153 Worldview3 Yellow band (585nm - 625 nm)
154 Worldview3 Red band (630nm - 690 nm)
155 Worldview3 Red edge band (705nm - 745 nm)
156 Worldview3 NIR1 band (770nm - 895 nm)
157 Worldview3 NIR2 band (860nm - 1040 nm)
158 Worldview3 SWIR1 band (1195nm - 1225 nm)
159 Worldview3 SWIR2 band (1550nm - 1590 nm)
160 Worldview3 SWIR3 band (1640nm - 1680 nm)
161 Worldview3 SWIR4 band (1710nm - 1750 nm)
162 Worldview3 SWIR5 band (2145nm - 2185 nm)
163 Worldview3 SWIR6 band (2185nm - 2225 nm)
163 Worldview3 SWIR7 band (2235nm - 2285 nm)
165 Worldview3 SWIR8 band (2295nm - 2365 nm)
EXAMPLES
Atmospheric correction of a LANDSAT-7 channel
The example is based on the North Carolina sample dataset (GMT -5 hours). First we set the computational region to the satellite map, e.g. channel 4:
g.region raster=lsat7_2002_40 -p
It is important to verify the available metadata for the sun position which has to be defined for the atmospheric correction. An option is to check the satellite overpass time with sun position as reported in the metadata file (file copy; North Carolina sample dataset). In case of the North Carolina sample dataset, values have been stored for each channel and can be retrieved like this:
r.info lsat7_2002_40
In this case, we have: SUN_AZIMUTH = 120.8810347, SUN_ELEVATION = 64.7730999.
If the sun position metadata are unavailable, we can also calculate them from the overpass time as follows (r.sunmask uses SOLPOS):
r.sunmask -s elev=elevation out=dummy year=2002 month=5 day=24 hour=10 min=42 sec=7 timezone=-5
# .. reports: sun azimuth: 121.342461, sun angle above horz.(refraction corrected): 65.396652
If the overpass time is unknown, use the NASA LaRC Satellite Overpass Predictor.
Conversion of digital number (DN) to radiance at top-of-atmosphere (TOA)
For Landsat and ASTER, the conversion can be conveniently done with i.landsat.toar or i.aster.toar, respectively.
In case of different satellites, the conversion of DN (digital number = pixel values) to radiance at top-of-atmosphere (TOA) can also be done manually, using e.g. the formula
# formula depends on satellite sensor, see respective metadata
Lλ = ((LMAXλ - LMINλ)/(QCALMAX-QCALMIN)) * (QCAL-QCALMIN) + LMINλ
where:
o Lλ = Spectral Radiance at the sensor's aperture in Watt/(meter squared * ster * m), the apparent radiance as seen by the satellite sensor;
o QCAL = the quantized calibrated pixel value in DN;
o LMINλ = the spectral radiance that is scaled to QCALMIN in watts/(meter squared * ster * m);
o LMAXλ = the spectral radiance that is scaled to QCALMAX in watts/(meter squared * ster * m);
o QCALMIN = the minimum quantized calibrated pixel value (corresponding to LMINλ) in DN;
o QCALMAX = the maximum quantized calibrated pixel value (corresponding to LMAXλ) in DN=255.
LMINλ and LMAXλ are the radiances related to the minimal and maximal DN value, and are reported in the metadata file for each image, or in the table 1. High gain or low gain is also reported in the metadata file of each satellite image. For Landsat, the minimal DN value (QCALMIN) is 1 for Landsat ETM+ images (see Landsat handbook, see chapter 11), and the maximal DN value (QCALMAX) is 255. QCAL is the DN value for every separate pixel in the Landsat image.
i.atcorr(1grass) Grass User's Manual i.atcorr(1grass)
NAME
i.atcorr - Performs atmospheric correction using the 6S algorithm.
6S - Second Simulation of Satellite Signal in the Solar Spectrum.
KEYWORDS
imagery, atmospheric correction, radiometric conversion, radiance, reflectance, satellite
SYNOPSIS
i.atcorr
i.atcorr --help
i.atcorr [-irab] input=name [range=min,max] [elevation=name] [visibility=name] parameters=name output=name [rescale=min,max] [--overwrite] [--help] [--verbose] [--quiet] [--ui]
Flags:
-i
Output raster map as integer
-r
Input raster map converted to reflectance (default is radiance)
-a
Input from ETM+ image taken after July 1, 2000
-b
Input from ETM+ image taken before July 1, 2000
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog
Parameters:
input=name [required]
Name of input raster map
range=min,max
Input range
Default: 0,255
elevation=name
Name of input elevation raster map (in m)
visibility=name
Name of input visibility raster map (in km)
parameters=name [required]
Name of input text file with 6S parameters
output=name [required]
Name for output raster map
rescale=min,max
Rescale output raster map
Default: 0,255
DESCRIPTION
i.atcorr performs atmospheric correction on the input raster map using the 6S algorithm (Second Simulation of Satellite Signal in the Solar Spectrum). A detailed algorithm description is available at the Land Surface Reflectance Science Computing Facility website.
Important note: Current region settings are ignored! The region is adjusted to cover the input raster map before the atmospheric correction is performed. The previous settings are restored afterwards. This flag tells i.atcorr to try and speedup calculations. However, this option will increase memory requirements.
If flag -r is used, the input raster data are treated as reflectance. Otherwise, the input raster data are treated as radiance values and are converted to reflectance at the i.atcorr runtime. The output data are always reflectance.
Note that the satellite overpass time has to be specified in Greenwich Mean Time (GMT).
An example 6S parameters:
8 - geometrical conditions=Landsat ETM+
2 19 13.00 -47.410 -20.234 - month day hh.ddd longitude latitude ("hh.ddd" is in decimal hours GMT)
1 - atmospheric mode=tropical
1 - aerosols model=continental
15 - visibility [km] (aerosol model concentration)
-0.600 - mean target elevation above sea level [km] (here 600m asl)
-1000 - sensor height (here, sensor on board a satellite)
64 - 4th band of ETM+ Landsat 7
If the position is not available in longitude-latitude (WGS84), the m.proj conversion module can be used to reproject from a different projection.