ENVI's Atmospheric Correction Module (FLAASH/Quac) FAQ

Atmospheric correction: FLAASH vs. QUAC - which one should I use?
Atmospheric Water Vapor Retrieval in ENVI FLAASH—Description and Tips
Retrieving Aerosol or Haze in ENVI FLAASH

Atmospheric correction: FLAASH vs. QUAC - which one should I use?

FLAASH is a first-principles code that uses MODTRAN atmospheric radiation transport modeling.  It produces quantitative results, often accurate to within a few percent, with a well-calibrated sensor under typical full sun conditions. As a first-principles model, FLAASH is sensitive to sensor artifacts, and its accuracy deteriorates as atmospheric absorption and scattering increase, such as in long slant paths and high column water content (i.e., tropical conditions).  These problems can be minimized using FLAASH's spectral polishing and recalibration options.

QUAC is an approximate, in-scene, empirical atmospheric correction code that requires no metadata.  Like the Empirical Line Method, the correction consists of applying a spectral gain and offset.  The code works best when there is spectral diversity in the scene, even in only a few tens of pixels.  It is appropriate to use QUAC in any of the following situations: (1) a qualitative correction suffices; (2) metadata (i.e., information on the solar and viewing angles, sensor altitude, radiometric units, etc.) are lacking; (3) there is a very large amount of haze, dust or smoke in the optical path (such as in a very long slant path), making the atmospheric transmission and scattering difficult to model well; (4) the scene is under cloud cover.  QUAC is found to provide quite good performance with covariance whitening-based algorithms such as the ACE detector and matched filter, which require preservation of distinctive spectral features but are not very sensitive to the overall spectral shape.  ENVI's ENVI_QUAC_DOIT routine can be embedded in an IDL program to provide automated batch processing capability.

For what atmospheric species is FLAASH correcting?
FLAASH corrects for all atmospheric species that absorb or scatter within the wavelength range of the data.   However, only two species, which are the most important and variable, are being corrected in a customized way--that is, their quantities are, if possible, retrieved from the scene rather than pre-defined by a standard model atmosphere. These species are water vapor and scattering particles; the latter are usually referred to as haze or aerosol (liquid droplets) but may include mineral dust or smoke.  Other species, including CO2, ozone, and methane, are in fixed concentrations given by the model atmosphere.  The water vapor is retrieved and corrected locally, on a several-pixel basis.  This can account for weather variation across a scene as well as for water column variation associated with surface elevation or other atmospheric path variations across the scene.  The aerosol amount is retrieved as a single scene-average visibility, as defined in MODTRAN.  The aerosol type is user selectable.  

The most common mistakes in using FLAASH
Perhaps the most common problem in setting up a FLAASH run is getting the radiance scale factor right.  This is the factor that the data need to be divided by to get into absolute radiance units of µW/cm2/sr/micron/nm (milliflicks). Sometimes a single factor is used, other times the factor is wavelength-dependent (such as in AVIRIS data), and thus needs to be specified by an array.  For hyperspectral sensors the scale factors are typically around 1000, as this is compatible with numerical values in the 10,000-range that can be represented as two-byte integers, thereby minimizing the file size.  Note that you are required to enter the scale factor or array whenever you specify a new radiance image to process in ENVI FLAASH.

For several popular multispectral sensors ENVI provides a tool for calibrating the data to radiance units.  The scaling factor specified during the calibration process is the one you should use in FLAASH.

Another common mistake is to have an error in the time, lat/lon or date that results in an incorrect solar angle.  If the angle is grossly incorrect (sun near or below the horizon), ENVI FLAASH puts out a warning.


Atmospheric Water Vapor Retrieval in ENVI FLAASH—Description and Tips


Basic Description of the Algorithm

With hyperspectral data one typically sets up FLAASH to retrieve the column water vapor in the atmosphere.  FLAASH starts with the nominal water vapor profile in the user-selected model atmosphere, scales the concentrations up and down, and infers a locally best column amount from the depth of a specified water absorption band.  The depth is based on a ratio of a center radiance value (from one or more adjacent wavelength channels) to an average of two radiance values outside the band and equidistant from the center (i.e., from “reference” channels).  In normal FLAASH operation the center and reference channels are selected automatically.  The absolute radiance values enter weakly into the water retrieval to account for slightly different degrees of absorption in the ground reflected and atmospherically scattered radiances.
The column water vapor is reported in an image, rootname_water.dat, if the Output Diagnostic Files option is set in the Advanced Settings Menu.  The actual values used to correct the data are sampled from this image by resampling to “superpixels” (4x4 pixels in ENVI 5.x).  Failures of the water retrieval (i.e., out-of-range ratios) are reported in the image as minus one times the scene average water.  The failures tend to occur on extremely dark pixels such as water or deep shadows, where the signal is very low, and the band depth is poorly defined.  It should be noted that the water vapor values are “effective”, that is, they implicitly compensate for elevation differences associated with mountains, clouds, etc., as well as viewing angle differences, which FLAASH does not model explicitly.

Choosing the Right Water Vapor Band and Model Atmosphere
Occasionally there is so much water vapor that the default water band at 1135 nm is very optically thick, making the band unreliable for water retrieval.  Also, if the wavelengths in the retrieval region are not all covered by a single spectrometer, spatial misregistration between the spectrometers can cause retrieval inaccuracies.  Therefore, FLAASH offers two other water bands, at 940 nm and 820 nm, as user options.   We do not recommend the 820 nm band, as it tends to yield inferior results; the reasons for this are not yet clear.
FLAASH performs the water retrieval in two stages, an initial course search and a final fine search, where the range of column water is narrowed down in the fine search.  Occasionally the fine search will not provide the full range needed to optimally correct all pixels—for example, cloudy or deep shadow pixels.  In this case the choice of a different model atmosphere—for example, Tropical, which has the highest amount of water—might solve the problem.
This brings up the question of what generally can happen if a less than ideal model atmosphere is chosen.  Typically, the only problem is when the atmosphere has insufficient water vapor when scaled up to the maximum of 100% relative humidity; otherwise the choice of atmosphere makes only a very small difference.  Except perhaps under the driest conditions it is safe to choose the Tropical atmosphere.

Reducing Interference from Liquid Water
The longer of the water vapor reference wavelengths automatically selected by FLAASH is often located near the center of the liquid water band.  Therefore, the water vapor retrieval and atmospheric correction tend to be less accurate for wet scenes and water-containing materials such as green vegetation.  As a result, there may be water vapor residuals in the vegetation spectrum that would complicate the estimation of leaf liquid water.  The effect can be observed by examining the rootname_water.dat image and noting a difference in water amounts retrieved from vegetated and non-vegetated pixels.
This problem can be addressed by two different remedies.  If there appears to be no systematic variation in apparent column water vapor across the scene, which is usually the case for reasonably flat terrain, an appropriate, fixed column water value for the scene can be read off dry ground pixels in the water vapor image and then input as a user-specified amount into a subsequent FLAASH run (water retrieval is set to NO).  Because the water vapor input is a scaling factor and the output water image is in atm-cm units, you will have to determine the relationship between the scaling factor and the atm-cm units from a trial FLAASH run, making use of the screen report at the end of FLAASH execution which outputs the atm-cm units.   That is,
      Desired input scaling factor = Input scaling factor x Desired (atm-cm) / Output (atm-cm)
An alternative remedy is to utilize the ENVI FLAASH Hyperspectral Settings Menu to reset the water reference wavelengths to values that are less sensitive to liquid water.  If the Output Diagnostic Files option is set in the Advanced Settings Menu, FLAASH creates a “channel definition” file, named rootname_channel_def.txt or rootname_channel_def.txt, that contains the spectral channel numbers that are used for the retrievals.  This file may be edited by the user and then used as input for the “Select Channel Definitions by File” option under Hyperspectral Settings.  The lines of the channel definition file relevant for the water retrieval are (for an example AVIRIS scene):
water channels reference = {
   74   75   88   89 }
water channels absorption = {
   81   82 }
where the numbers in braces are the wavelength channel numbers used for the retrieval.  As shown here, for AVIRIS data the default reference channel numbers are typically around seven less than and seven greater than the absorption channel number(s).  Placing the reference channels around 40% closer to the absorption channel(s) greatly reduces the liquid water interference.  For example, a good choice for this particular image would be
water channels reference = {
   77   78   85   86 }
Here the average liquid water absorption in the reference wavelengths is approximately equal to that in the center wavelengths, so the radiance ratio is insensitive to the liquid water amount. 


Retrieving Aerosol or Haze in ENVI FLAASH

Accurate atmospheric correction requires estimation of the amount and type of atmospheric particulates, which reduce transmission and add a backscattering component to the radiance. The particulates, which may be broadly referred to as haze, typically consist of aerosol (liquid droplets), but other common types include mineral dust and smoke.  FLAASH, which is based on the MODTRAN radiation transport model, offers the user the standard MODTRAN aerosol types, including Rural, Urban and Maritime, and provides options for retrieving their approximate amount.


How does haziness relate to visibility?
The amount of haze is defined in FLAASH in terms of a meteorological visibility, given by
Visibility (km) = ln50 / (E550 + 0.01159 km-1)                                                 (1)
Here E550 is the surface horizontal extinction per km at 550 nm wavelength and is equal to the boundary layer haze optical depth (OD) divided by the effective layer thickness in the MODTRAN model atmosphere.  The effective layer thickness is OD- and elevation-dependent, but is typically around 2 km. As a rough guide, “clear” conditions correspond to around 30-100 km visibility, “hazy” conditions correspond to around 15-30 km visibility, and smoky or dusty conditions correspond to visibility below 15 km (but rarely below 5 km).  The value of E550 can be found in the MODTRAN tape6 output, which may be generated as a FLAASH diagnostic file (see the Advanced menu option).

How do I choose the aerosol type?
For typical conditions over land the closest aerosol type is Rural.  This model also works reasonably for ashy smoke, which is light in color.  The Urban aerosol is dark, suitable for sooty smoke and urban scenes with soot pollution.  The Rural model works reasonably for cleaner urban areas.  The Maritime model, designed for oceanic and coastal areas, has relatively large particles, yielding weaker wavelength dependence.  For this reason, it should be the best FLAASH haze model for modeling dusty conditions, such as following a desert dust storm.


How does the FLAASH visibility retrieval method work?

FLAASH’s method for retrieving the visibility is based on the presence of “dark” pixels in the scene and, for those pixels, an assumed ratio of reflectance values in two bandpasses.  Both the assumed ratio and a reflectance threshold for dark pixel selection can be customized.  Using a series of trial atmospheric corrections, FLAASH finds the visibility for which the ratio of dark-pixel-average reflectances matches the assumption.  The default method, referred to as the “land” method in FLAASH, is based on the work of Kaufman and Tanré, and uses a ratio of red to short-wave infrared (SWIR) reflectances for dark green vegetation, taken as 0.5.  The dark pixels are selected based on the SWIR reflectance.  

An alternative visibility retrieval method, referred to as the “water” method, is offered in ENVI 5.x FLAASH for both multispectral and hyperspectral sensors.  This method uses a ratio of SWIR to near-infrared (NIR) reflectances; the dark pixels are selected based on the NIR reflectance.  To implement the water method (or some other custom method) for hyperspectral sensors, a custom channel definition file needs to be created and input. Alternatively, the hyperspectral data may be resampled to a multispectral sensor, such as Landsat, and the retrieved visibility used as an input in the hyperspectral correction (visibility retrieval is turned off). 
An important difference between the ENVI 4.8 and 5.x versions of FLAASH is in the method of dark pixel selection.  In ENVI 4.8 they are selected based on the Initial Visibility input, whereas in ENVI 5.x they are selected based on the trial visibilities, which is a more accurate method. For the land method, which uses the SWIR band for pixel selection, the results tend to be similar.  However, the water method can be significantly affected, or may fail entirely, as the NIR band used for pixel selection is more sensitive to visibility.  
Does visibility retrieval work in desert or snow-covered scenes?
Desert or snow-covered scenes may completely lack green vegetation, water bodies or other dark pixels, in which case the visibility retrieval will fail.  Examples include the well-known Cuprite, NE scenes acquired by the AVIRIS sensor.  However, in the absence of dust storms desert scenes are usually very clear, in which case an estimated visibility such as 60 km should be satisfactory. 


Can visibility be retrieved without a SWIR band?
The basic FLAASH methods for visibility retrieval require the presence of a SWIR band near 2 microns.  However, we have had some success with ENVI FLAASH 5.x using a blue to red ratio method.  The ratio is set to 0.5 and the red reflectance cutoff is set to 0.02.  The method works best with scenes that contain very dark pixels, such as cast shadows, and with a “blue” band that is at the short wavelength edge of the visible, such as the WorldView-2 “coastal” band.  To use this method with hyperspectral data an appropriate channel definition file needs to be created and input.  With multispectral data such as WorldView-2 the ratio and cutoff can be entered in the Multispectral menu.


How accurate are the visibility retrieval and haze correction?
Since remote sensing is usually conducted in clear or, at worst, slightly hazy conditions, the errors associated with inaccurate haze estimation are typically no worse than ~0.01-0.02 in the visible and considerably smaller than this in the infrared.  Exceptions would include dusty conditions, where the haze may not be well modeled, and in long slant paths, where haze interference is greatly increased.  In our experience with well-calibrated data, FLAASH’s visibility retrieval can clearly distinguish the three regimes mentioned previously, i.e., clear, hazy and smoky/dusty.  A more quantitative estimate of visibility accuracy can be inferred from a comparison of the water and land retrieval methods in Figure 3 of Adler-Golden et al., IEEE IGARSS 2008, Vol 3, pp. 130-133 (see the SSI web site, www.spectral.com). 
It is important to note that the direct measure of the vertically integrated haze is the OD, which, along with E550, is inversely related to visibility via Eq. (1) above.  Thus, at high visibility values large differences in visibility are much less meaningful than at low visibilities.  For example, the difference in haze amount over the 33-100 km visibility range is similar to that over the 20-33 km range.
For more information on the Atmospheric Correction Module, please see our online documentation here:


- created by MM 78/3/2021 with information from SSI

Please login or register to post comments.


Sign up to receive the latest news, events, technologies, and special offers.