Preprocessing, Rayleigh, and scattering angle

advertisement
Preprocessing, Rayleigh, and scattering angle
The generation of daily clean surface reflectance data involves four major steps:
1. Preprocessing
2. Rayleigh correction
3. Scattering angle correction
4. Surface image creation
The first three steps involve processing one daily image at a time. The final step relies on
temporal analysis of consecutive daily images and is the main focus of this work.
1.1 Preprocessing
Data from the SeaWiFS sensor are available for download in L1A format. L1A data
includes the raw radiance counts from the sensor’s eight bands plus spacecraft telemetry,
calibration data, and navigation data. The L1A data we use comes in the form of High
Resolution Picture Transmission (HRPT) data. Each HRPT file contains data that was
received by a particular station as the satellite passed through the station’s receiving
space. Most of the data used in the current analysis was from the U.S. receiving stations
at the Goddard Space Flight Center in Greenbelt, MD (HNSG), the University of Texas at
Austin, TX (HUTX), and the Monterey Bay Aquarium Research Institute in Monterey,
CA (HMBR).
The SeaWiFS sensor swath width is 2,800 km (± 58.3° from nadir) at the equator. Figure
2 shows three channels (red = 0.67 m, green = 0.55 m, blue = 0.41 m) of raw L1A
data over Florida. To cover a large region, such as the conterminous US, 3-4 adjacent
spacecraft swaths must be used.
The goal of the preprocessing step is to take the raw L1A data as downloaded from the
NASA Distributed Data Archive Center (DAAC) and produce daily, multi-band,
georeferenced images with pixel values expressed in radiance (W cm-2 sr-1 m-1).
Preprocessing consists of the following five steps.
1. Create geometry files
2. Filter bad pixels
3. Convert L1A to L1B
4. Georeference
5. Splice and crop
1.1.1 Create geometry files
Geometry files are necessary to perform radiative calculations (Rayleigh and surface
scattering angle corrections). For each swath we create an associated geometry file. This
file contains six channels: latitude, longitude, sensor azimuth, sensor zenith, solar
azimuth, and solar zenith. Thus, for each pixel in the raw L1A swath, the geometry file
provides associated geolocation and sun-target-sensor angle data. These data are used in
georeferencing and further corrections that have angular dependence. The geometry file
is produced using a procedure built into ENVI software called
seawifs_geometry_hdf_doit. This routine can be run in batch mode and requires
telemetry data from the L1A file as input.
1.1.2 Filter bad pixels
The L1A data occasionally has bad pixels. Bad pixels tend to occur at the top and bottom
of swaths (data granules) collected by a specific viewing station. It is presumed that they
are caused by data transmission noise.
Bad pixels are characterized by having a value in one or more of the eight channels that is
substantially different from the values in the other channels. Hence, we can employ
spectral filtering for the detection and elimination of “bad pixels.” Three independent
filters are used, a spike filter, a spectral variability filter, and a large jump filter. All are
variations on the same theme of spectral variability.
Spike filter: A pixel is removed by the spike filter IF:
abs(ch1-ch2) > 200 OR
abs(ch2-(ch1+ch3)/2) > 200 OR
abs(ch3-(ch2+ch4)/2) > 200 OR
abs(ch4-(ch3+ch5)/2) > 200 OR
abs(ch5-(ch4+ch6)/2) > 170 OR
abs(ch6-(ch5+ch7)/2) > 300 OR
abs(ch7-(ch6+ch8)/2) > 300 OR
abs(ch8-ch7) > 200
Spectral variability filter: A pixel is flagged as MONOTONIC IF:
(chn+1 – chn) < 30
Where n = 1, 2, 3…7
A pixel is removed by the spectral variability filter IF:
(abs(ch1-ch2) + abs(ch2-ch3) + abs(ch3-ch4) + abs(ch4-ch5) + abs(ch5-ch6))/5 > 120
AND pixel is NOT MONOTONIC
Jump filter: A pixel is removed by the jump filter IF:
abs(ch1-ch2) > 350 OR
abs(ch2-ch3) > 350 OR
abs(ch3-ch4) > 350 OR
abs(ch4-ch5) > 350 OR
abs(ch5-ch6) > 350
AND NOT MONOTONIC
Figure 4 shows example pixel spectrums that would be eliminated by these filters.
850
800
L1A counts
750
700
650
600
550
500
450
400
0.4
0.5
0.6
0.7
0.8
0.9
Wavelength
Good
Spike
Jump
Spectral Variability
Figure Error! No text of specified style in document.-1. Example pixel spectra that are removed by the
various bad pixel filters
If a pixel is filtered by one of the above filters, its value for all channels is set to null.
Because bad pixels mainly show up as isolated speckles, spatial filtering could be used to
remove them. However, we have avoided using spatial methods throughout the process
in order to preserve the usefulness of the algorithm for different pixel resolutions. For
example, we would like to apply the routine to the SeaWiFS global area coverage (GAC)
data, which samples a single 1 km pixel for each 4 km square.
1.1.3 Convert L1A to L1B
This step involves converting pixel values from digital counts (L1A) to radiances (L1B)
based on sensor calibration formulae. The SeaWiFS instrument is equipped with a
bilinear amplifier; high sensitivity is maintained up to about 80% of the digital output
range, and then changed discontinuously to extend the dynamic range substantially
(Figure 5). This prevents saturation over clouds and bright surfaces. The radiance is
further modified by a number of calibration factors.
Gain Curves
Band gain = 0 (Earth)
80
70
60
Band 1
Band 2
g_f
50
Band 3
Band 4
40
Band 5
Band 6
30
Band 7
Band 8
20
10
0
0
200
400
600
800
1000
1200
Count
Figure Error! No text of specified style in document.-2. Gain curves for all eight bands at standard
(Earth-viewing) settings.
The conversion from L1A digital counts to L1B radiance values can be expressed as
L1B_data  gf (L1A' _data )  K m  K T  K sm  K t   Offset
(2-1)
where gf(L1A’_data) is a gain function calculated from the relevant calibration table.
L1A’_data is the L1A_data corrected for the mean dark value (i.e. what the sensor reads
in known darkness). The various K values are calibration factors that account for sensor
variability due to mirror side Km, sensor temperature KT, position of pixel in scan (scan
modulation) Ksm, and time Kt. Finally, an Offset value is added to the overall product of
the above factors (Li and Husar 1999).
The gain function is a bilinear conversion function. It is calculated from the count-toradiance slopes and zero-offset counts in the calibration table. These are a function of
band, detector, and band gain settings. The algorithm for calculating this function is
taken from the SeaWiFS Data Analysis System (SeaDAS) specifically the l1bgen
subroutine. Figure 5 shows the gain curves for all eight channels. Note the instrument
resolution is highest at the low radiances that occur over the cloud-free ocean.
The SeaWiFS sensor produces counts even in total darkness. This is corrected for by
subtracting the mean dark value. The sensor takes a reading of an area of known
darkness every scan. The median of all scans in that image, for each band, is subtracted
from L1A_data to produce L1A’_data.
The scan modulation factor accounts for the sensitivity of the detector to the position of a
pixel in a particular scan. Ksm is available directly from the sensor calibration table.
For all odd-numbered bands, Ksm decreases from the first to last pixel. For the evennumbered bands, Ksm decreases towards the center of the image. This trend is seen in
Figure 8.
1.02
Gain Factor
1.015
1.01
1.005
1
0.995
0.99
0
200
400
600
800
1000
Pixel
Even Bands
Odd Bands
1200
1400
Figure Error! No text of specified style in document.-3. Scan modulation correction factors as provided
by the sensor calibration file.
We found this correction factor created a significant error in the resulting L1B radiances
(and all downstream products) for the odd-numbered bands. The error is seen most
clearly at the seams where two swaths, already georeferenced and corrected for molecular
scattering, are spliced together and is most pronounced in the blue channel. Figure 9
shows the blue channel image of a seam from two spliced swaths. The inset shows the
RGB X profile of the pixels in the image. There is a significant mismatch at the two
sides of the seam; the right side has much higher reflectance values than the left.
Figure Error! No text of specified style in document.-4. Channel 1 reflectance image at the seam of two
spliced swaths and X profile of RGB reflectance.
This problem is greatly reduced by reversing the scan modulation correction factors as
provided by the calibration table so they appear as in Figure 10.
1.02
Gain Factor
1.015
1.01
1.005
1
0.995
0.99
0
200
400
600
800
1000
1200
1400
Pixel
Even Bands
Odd Bands
Figure Error! No text of specified style in document.-5. Scan modulation correction factors reversed
from original L1A order.
The improvement is seen by looking at the same seam from Figure 9 using the reversed
scan modulation factor (Figure 11).
Figure Error! No text of specified style in document.-6. Spliced channel 1 reflectance image and RGB
X profile after reversing scan modulation correction factor.
The cause for this error is not known, but the calibration data as it is originally read from
the sensor calibration table might be read backwards. Regardless, the correction
produces much smoother seams and more reliable data, although it overcorrects
somewhat at bright values and could be further tuned.
1.1.4 Georeferencing
Proper georeferencing is a key step in our process as it allows us to compare the same
location from different swaths and different days. Georeferencing of the SeaWiFS
images is done using built-in ENVI functionality for the L1B data and a custom IDL
routine for the geometry data. The built-in method employs triangulation with nearest
neighbor sampling and 200 warp points in both the x and y directions. The coordinate
system of the georeferenced data is geographic lat/lon with a resolution of 0.01667
degrees per pixel in both X and Y directions. This corresponds to about 1.6 km pixel
resolution.
1.1.5 Splice and Crop
Complete coverage of the conterminous United States requires three or four adjacent
swaths, depending on the day. Adjacent swaths overlap somewhat. The images are
distorted at extreme zenith angles, i.e. at the far left and right edges of the swath.
Therefore, when creating the spliced image in the overlapping areas, the swath with the
smallest sensor zenith angle is chosen. This results in the seam occurring where the two
swaths share the same sensor zenith angle. Because each swath is recorded about 90
minutes before or after adjacent swaths, the seam can be visible even if the data are
perfectly calibrated for angular dependencies due to cloud and haze movement.
Once the swaths have been spliced into one large domain, they are cropped to the desired
geographical region (Latitude: 24 to 52 degrees, Longitude: -125 to -65 degrees) and the
corresponding viewing angle data are appended to the output. This results in a selfcontained, preprocessed file with 12 channels (eight wavelengths of radiances plus sun
and sensor zenith and azimuth angles) georeferenced over the desired region.
1.2 Rayleigh correction
Rayleigh correction removes the effect of air scattering from the radiance values. The
resulting data is the pixel combined surface and aerosol reflectance. The method used to
calculate the reflectance is a two-stream approximation proposed by Vermote and Tanré,
1992. The correction is dependent on the optical depth of the atmosphere. Since the
optical thickness of the airmass is largest near the edges of each swath, the Rayleigh
correction is most pronounced near the seams of the adjacent swaths. Also, the air
scattering effect is strongest in the lowest blue channels and is insignificant above the
green (0.55 m). Surface elevation reduces the atmospheric air optical depth. The
reduction factor (P/P0) is approximated by the formula:
P
z
 exp 

P0
H 
(2-3)
where z is the pixel elevation and H is the scale height (8 km) (26). Elevation data is not
provided by the SeaWiFS sensor. A 1 km resolution digital elevation map (DEM) is used
to determine the pixel elevation.
1.3 Scattering angle correction
In order to compare the same location from two different days, its reflectance must not
depend on the sun-target-sensor viewing angles. However, the land surface is nonLambertian, i.e. the reflectance of the surface is dependant on sun-target-sensor angles.
The angular dependence of the surface is the Bi-Directional Reflectance Distribution
Function (BRDF). These angular effects are commonly ascribed to three main types of
scatter: volume scattering, which is caused by uniformly distributed, nonuniformly
inclined scatterers such as the leaves of plant canopies; occlusion scattering, which is the
effect of shadows cast by objects such as trees; and specular reflectance, where the
incoming radiation is reflected nearly unchanged (Lucht, Schaaf, and Strahler 2000).
Recent projects to determine surface BRDF often employ semi-empirical models that
determine the relative influence of these three scattering types for a specific surface (Jupp
and Strahler 1996; Lucht, Schaaf, and Strahler 2000; Cihlar et al. 1996). The results are
used to “correct” the surface signal. Correction means changing a pixel spectrum to what
it would have been measured if the sun and sensor geometry were at fixed standard
values (Jupp and Strahler 1996). In order to meaningfully compare pixels from multiple
days, we normalize all reflectances to a mid-range scattering angle of 150 degrees.
Scattering angle is determined from the angles provided by the geometry file, solar zenith
(SolZ) and azimuth (SolA) and sensor zenith (SenZ) and azimuth (SenA):
ScatteringAngle  180  
(2-4)
where
cos  cosSolZ   cosSenZ   sin SolZ  * sin SenZ  * cosSolA  SenA
(2-5)
To determine the angular effect on reflectance, it must be separated from the effects of
varying aerosol loading and surface heterogeneity. To do this, we look at a single pixel
in a time series for an area that is known to be relatively aerosol free and of a surface type
that does not change over the time studied. Figure 17 shows three month pixel time
series of the red channel and the scattering angle channel in the Southwestern United
States.
180
0.36
0.34
170
160
0.32
0.3
150
0.28
0.26
140
0.24
0.22
130
0.2
1-Aug
Scattering Angle (degrees)
Channel 6 Reflectance
0.4
0.38
120
11-Aug
21-Aug
Reflectance
31-Aug
10-Sep
20-Sep
30-Sep
10-Oct
Scattering Angle
Figure Error! No text of specified style in document.-7. Scattering angle time series and 0.67 m (red;
channel 6) reflectance time series
For the pixel in Figure 17, differences in scattering angle show a near one-to-one
correlation with surface reflectance differences for this surface. This dependence is a
function of surface type. Bright reddish reflectance, for example, is more affected by
scattering angle than dark green vegetation.
Surface reflectance dependence on scattering angle was determined using time series
analysis. Figure 18 shows the reflectances of a number of clean, cloud-free days for a
bright soil pixel in the southwestern United States plotted versus the scattering angle for
the pixel on that day.
Figure Error! No text of specified style in document.-8. Channel six (red) reflectance plotted versus
scattering angle.
The reflectance for this location shows a very clear dependence on scattering angle. The
functional form of the dependence, however, is not simple. Therefore, we use a lookup
table to normalize all pixels to a scattering angle of 150º. The pixel reflectance
dependence on scattering angle for bright soil surfaces in the western United States is
relatively easy to determine because a large sample of clean, cloud-free days are
generally available to plot. This is not the case for other surfaces, such as darker, dense
vegetation. Figure 19 shows reflectance versus scattering angle for a vegetation pixel
with a low reflectance. There are fewer points than in Figure 18 as clouds and haze are
much more likely in locations with dark vegetation that occur over the eastern United
States. Also, vegetated areas undergo color changes over the course of the year so a
relatively short time period must be sampled.
Figure Error! No text of specified style in document.-9. Channel six pixel reflectance dependence on
scattering angle for dark vegetation.
After sampling and analyzing pixels for a variety of surface types, it was found that
scattering angle dependence was important for soil and vegetation surfaces, but not as
important for water. The correction method we apply only requires one angular
parameter, the scattering angle. This works well in the West because ocular scattering is
dominant as trees are present but not in dense canopies. Thus, the angular dependence is
mostly shadow-driven and can be described sufficiently by scattering angle alone. This is
less true for densely vegetated areas, which have more volume scattering. Vegetated
areas are very dark and angular dependence is not as critical. However, as seen in Figure
19, scattering angle dependence does exist and so a correction is applied.
All pixels are normalized to a scattering angle of 150º through the following process.
1. Classify pixel as either:
a. Vegetation
b. Soil
c. Water (correction not applied)
d. Clouds (correction not applied)
2. Using the proper lookup table, apply a correction factor based on the pixel
scattering angle.
Pixels are classified using a supervised classification algorithm built into ENVI.
Reference spectra for the four classification types are input along with the current pixel
spectrum. The pixel is classified as the type that has the most similar spectrum, which is
determined by summing the squared differences between the pixel values at each channel
with the values at each channel for the reference spectra. If the pixel is classified as soil
or vegetation, a correction factor is applied based on a lookup table. These lookup tables
were generated from the analysis above and the resulting correction factors are plotted in
Figure 20. Figure 21 shows the red reflectance time series from Figure 17 after it has
been normalized to a scattering angle of 150º. The correction is successful at
significantly reducing the variance, though residual correlation still exists for this pixel.
1.2
1.15
Correction Factor
1.1
1.05
1
0.95
0.9
0.85
0.8
0.75
0.7
110
120
130
140
150
160
170
180
Scattering Angle
Soil Correction Factors
Vegatation Correction Factors
Figure Error! No text of specified style in document.-10. Scattering angle correction factors for soil
Channel 6 Reflectance
and vegetation pixels.
0.4
0.38
0.36
0.34
0.32
0.3
0.28
0.26
0.24
0.22
0.2
1-Aug
Uncorrected Variance = 0.0010
Corrected Variance = 0.00026
11-Aug
21-Aug
31-Aug
10-Sep
Uncorrected
20-Sep
30-Sep
10-Oct
Corrected
Figure Error! No text of specified style in document.-11. Original and scattering angle corrected 0.67
mm reflectance time series'.
The scattering angle correction is not successful in all instances. For soil surfaces at very
high scattering angles (greater than 178 º) a bright spot is apparent, even after the
scattering angle correction. This bright spot does not significantly affect our clean
surface estimation because the process looks for the lowest reflectance values in the time
window to represent the clean surface and the bright spot is ignored. However, it reduces
the quality of aerosol retrievals.
The results of steps 1-3 in overall process are daily georeferenced, Rayleigh corrected,
scattering angle normalized, eight-channel reflectances cropped to the desired domain.
These daily files are the input for the final step in creating the clean surface images.
Download