Validation of On-board Cloud Cover Assessment Using EO-1

Dan Mandl Michael Griffin and Hsiao-hua Burke

Code 584 Sensor Technology and System Applications

NASA/GSFC MIT Lincoln Laboratory

Greenbelt, Md. 20771 Lexington, MA. 02420-9185

301-286-4323 781-981-0396

<Daniel.J.Mandl@Nasa.gov> <griffin@ll.mit.edu>

Jerry Miller

Code 586

NASA/GSFC

Greenbelt, Md. 20771

(301)286-5823

<Jerome.Miller-1@nasa.gov>

***Abstract---* The purpose of this NASA Earth Science Technology Office
funded effort was to flight validate an on-board cloud detection
algorithm and to determine the performance that can be achieved with a
Mongoose V flight computer. This validation was performed on the EO-1
satellite, which is operational, by uploading new flight code to perform
the cloud detection. The algorithm was developed by MIT/Lincoln Lab and
is based on the use of the Hyperion hyperspectral instrument using
selected spectral bands from 0.4 to 2.5 μm. The Technology Readiness
Level (TRL) of this technology at the beginning of the task was level 5
and was TRL 6 upon completion.**

**In the final validation, an 8 second (0.75 Gbytes) Hyperion image was
processed on-board and assessed for percentage cloud cover within 30
minutes. It was expected to take many hours and perhaps a day
considering that the Mongoose V is only a 6-8 MIP machine in
performance. To accomplish this test, the image taken had to have level
0 and level 1 processing performed on-board before the cloud algorithm
was applied. For almost all of the ground test cases and all of the
flight cases, the cloud assessment was within 5% of the correct value
and in most cases within 1-2%.**

Keywords: hyperspectral, cloud cover, EO-1, Hyperion

[Table of Contents]{.smallcaps}

1.  [Introduction]{.smallcaps}

2.  [skill mix]{.smallcaps}

[3. Results]{.smallcaps}

[4. EO-1 Mission and S/C overview]{.smallcaps}

[5. Cloud Assessment Software & Algorithm]{.smallcaps}

6.  [Algorithm application]{.smallcaps}

7.  [Summary]{.smallcaps}

8.  [References]{.smallcaps}

9.  [Team Members]{.smallcaps}

1\. Introduction

On-board cloud cover assessment has the potential to considerably reduce
the resources on downlink for unwanted scenes. The problem thus far has
been the performance of existing on-board computers. This validation was
an experiment on what could be accomplished using the Mongoose V which
at the time of the validation was one of the fastest flight computers
that was flying for NASA. EO-1 had completed it's prime mission and it
also had two on-board Mongoose V computers, each with 256 Mbytes of
memory and thus presented an opportunity to perform an on-orbit test of
this technology.

The New Millennium Program's first Earth-observing mission (EO-1) is a
technology validation mission. It is managed by the NASA Goddard Space
Flight Center in Greenbelt, Maryland and launched in November 2000. The
purpose of this mission was to flight-validate revolutionary
technologies that will contribute to the reduction of cost and increase
of capabilities for future land imaging missions. For the prime mission,
there were five instrument, five spacecraft, and three supporting
technologies to flight-validate during a year of operations. Following
the first year of operations, the EO-1 mission entered its extended
mission phase in which additional validations were performed on the
existing on-board technologies and new technologies such as this
on-board cloud covered assessment that had not originally been planned
for the mission.

There were many challenges to accomplishing this validation experiment.
For example, to perform an on-board cloud cover assessment, first an
image needed to have level 0 and level 1 processing performed before the
cloud assessment algorithm could be applied. In order to accomplish this
task, the Flight Software developers in conjunction with MIT/Lincoln Lab
(MIT/LL) had to develop more than one Mbyte of code, test the code on
the flight software testbed and uplink that code through a 2 kbps
uplink. It took days to upload the code for just one attempt. The
general approach, additional challenges and results of this task are
described in the following sections.

2\. Skill mix

In order to accomplish this validation, a diverse set of skills was
needed. The skill sets included expertise in mission systems
engineering, remote sensing with hyperspectral instrumentation,
operations engineering, flight software development for EO-1 and ground
system engineering . The team consisted of 17 people from GSFC, MIT/LL,
Microtel-LLC, Honeywell, CSC, Compaq and Mitretek. The complete list of
participants is in the final section.

3\. Results

Twenty Hyperion images were selected from the archive to help test the
algorithm on the ground before flight. Figure 1 shows a portion of one
of the images used along with the derived cloud mask that the algorithm
generated. Figure 3 shows the final validation image of El Mhamid which
was assessed for cloud cover and derived a cloud score of 43%. The
results of the algorithm were validated on the ground by manually
running the algorithm on a few scan lines, generating a cloud mask and
comparing the flight generated results with the ground results. The scan
lines were visually inspected to determine if the pixels were cloud
covered or not. The onboard validation discriminated clouds within 1-2%
which met our criteria of 5%. It was felt that 5% accuracy was
sufficient to allow subsequent on-board decisions whether to dispose of
an image before downlinking due to obstruction of a desired image of the
ground via clouds. The algorithm was designed to discriminate between
clouds, snow, ice, sand and other types of ground cover.

![](media/image1.png){width="1.4493055555555556in"
height="3.9541666666666666in"}More importantly, the final validation
demonstrated that by creatively designing the on-board algorithms, even
with today's slow flight computers such as the Mongoose V, cloud
assessment could occur within 30 minutes. This result surprised the
team. Our original estimate was that it would take hours if not days to
complete one cloud assessment on-board EO-1. Furthermore, the team
determined that faster results could be derived without much loss of
precision by three methods, two of which we could do on EO-1 in the
future and one relegated to an improved design of the flight computer n
the future. First, we could sub-sample the pixels at a rate of 1:5 and
approximate closely the same results. We could also only processes a
portion of the image representing the area of interest. Using these
techniques, we estimated that the cloud assessment of one Hyperion image
(.75 Gbytes) could be reduced to under 5 minutes! The final method to
speed up the onboard cloud assessment process would be if we had direct
access to the science recorder and we processed the data in the Science
recorder memory rather than moving the image over to the Mongoose V
memory.

4\. EO-1 Mission and Spacecraft Overview

EO-1 flies in the Earth Observing System (EOS) "Morning Constellation".
It is about one minute behind Landsat and about 30 minutes ahead of
SAC-C and Terra. EO-1 is at a 705 km altitude, a 98.7 degree inclination
and a 16 day repeat track.

![](media/image3.wmf){width="1.3131944444444446in"
height="4.259722222222222in"}

There are two Mongoose V processors onboard, one to control the Command
and Data Handling (C&DH) and the other to control the Wideband Advanced
Recorder Precessor (WARP) science recorder. Each Mongoose is 12 Mhz and
runs at about 6-9 MIPS supported by 256 Mbytes of memory. They both run
on VxWorks 5.3.1. The WARP Mongoose is unused except during image
collection and occasional S-Band downlink events.

Figure 4 shows the WARP Mongoose flight software architecture. The
architecture consists of a software bus on top of a VxWorks operating
systems. For this task, the Memory Dwell task was used to host the cloud
cover assessment software.

![](media/image4.wmf){width="5.0in" height="3.75in"}

Figure 3 Portion of Hyperion image, El Mhamid, which was the final
validation image taken on-board March 4, 2003.

![](media/image5.wmf){width="5.995138888888889in"
height="3.4090277777777778in"}

5\. Cloud Assessment software & Algorithm

The software that was developed had to perform the following
functionality:

-   Perform playback of image data files stored in WARP into the WARP
    Mongoose memory

-   Extract pixel readout level 0 values from bands used by algorithm
    (0.55, 0.66, 0.86, 1.25, 1.38 and 1.65 μm )

-   Apply level 1 calibration to each level 0 data sample

-   Perform pixel-by-pixel testing using reflectance data to determine
    which pixels are cloud covered

-   Cloud coverage for a given pixel determined by a series of tests
    which include reflectance tests, ratio tests, Normalized Snow Index
    (NDSI) tests and combined tests

-   Statistics provided to count total pixels tested and total pixels
    cloudy

Figure 5 shows the Hyperion bands that are used in the cloud algorithm
and what each band discriminates.

The Hyperion Cloud Cover (HCC) algorithm utilizes six Hyperion bands to
discriminate all types of clouds from other surface features in a scene.
The selection of the six bands provided spectral information at critical
wavelengths while keeping processing costs to a minimum. This was a key
aspect of the entire cloud cover detection process, since both onboard
computer memory and processing time were limited. The six bands chosen
for the initial form of the HCC include two visible channels (0.55 and
0.66 μm), a near-IR channel (0.86 μm) and three SWIR channels (1.25,
1.38 and 1.65 μm). Utilizing these six channels, formulas have been
adapted or developed relating the spectral measurements to discriminate
and identify cloud features in a scene. Fig. 6 provides a flowchart of
the HCC algorithm. A brief description of the phenomenology behind the
algorithm follows. Each test detailed below is designed to eliminate
specific non-cloud features.

## Conversion of radiance to reflectance

Channels with center wavelengths up to 3 μm derive their signal
primarily from reflected solar energy off land, water and cloud
features. The reflectivity of an object in a scene is generally not a
function of the incident solar insolation (although it is a function of
the viewing geometry). Therefore, deriving the reflectance for a scene
removes the variation in the solar illumination with wavelength.

For the Hyperion sensor, where reflected solar flux is the primary
illumination source, it is useful to convert the channel radiance *L~i~*
to an *at-sensor* reflectance *ρ~ι~.* This can be accomplished by
dividing the channel radiance by the incident solar flux *F~0,i~*
corrected for sun angle *μ~0~* and earth-sun distance *d~e-s~* (in
*Astronomical Units, AU*),

![](media/image6.wmf){width="0.4464566929133858in"
height="0.36889763779527557in"}![](media/image7.wmf){width="0.4464566929133858in"
height="0.20551181102362204in"}![](media/image8.wmf){width="0.4456692913385827in"
height="0.3673228346456693in"}![](media/image9.wmf){width="0.42913385826771655in"
height="0.2047244094488189in"}![](media/image10.wmf){width="0.6519685039370079in"
height="0.19448818897637796in"}![](media/image11.wmf){width="0.38661417322834646in"
height="0.1952755905511811in"}![](media/image12.wmf){width="0.6527559055118111in"
height="0.1952755905511811in"}![](media/image13.wmf){width="0.45551181102362204in"
height="0.38976377952755903in"}![](media/image14.wmf){width="0.4547244094488189in"
height="0.20551181102362204in"}![](media/image15.wmf){width="0.4464566929133858in"
height="0.2047244094488189in"}$\rho_{i} = \left( \frac{\pi}{\mu_{0}F_{0,i}/d_{e - s}^{2}} \right)\ L_{i}$
.

The sun angle is defined by *μ~0~* = cos(θ~0~), where θ~0~ is the solar
zenith angle. For this implementation, θ~0~ is provided through the EO-1
telemetry. The earth-sun distance is a function of the Julian day and is
computed using a parameterized function of the actual earth-sun distance
variation. The incident solar flux as a function of wavelength *F~0~(λ)*
can be obtained from a number of sources; the MODTRAN radiative transfer
model \[3\] contains a solar illumination database which can be
convolved with the band spectral response functions to obtain the
channel solar flux *F~0i~*.

## High clouds

High clouds typically have spectral reflectance characteristics that are
similar to other cloud types. However, high thin predominantly ice
clouds are generally not opaque to underlying surface reflectance, such
that surface features can be observed through the clouds. Techniques
using observations in the water vapor absorption bands have provided a
new method to discriminate high clouds from low clouds and surface
features \[4\]\[5\]. At this wavelength the water vapor absorption is
typically strong enough to suppress the contribution from both the
reflectance from the surface and low-altitude clouds while adequately
transmitting radiation scattered from high-altitude clouds. However, in
polar latitudes or at high elevations, the amount of moisture in the
atmosphere is greatly reduced, resulting in reduced water vapor
absorption in the 1.38 μm band. This increases the penetration of
observations at these wavelengths and increases the possibility of some
significant surface reflectance contribution to the signal. In these
cases, bright surface features (snow or ice) may be mistaken for high
clouds. Further testing is required to discriminate these features. All
pixels that are not flagged as high clouds are passed on for further
testing.

## Reflectance at 0.66 μm

Clouds are typically one of the brightest features in a Hyperion image.
The reflectance from clouds is nearly invariant in the visible and
near-IR window regions, since the size of the scatterers in the cloud
are much larger (size parameter \>\> 1) than the sensor wavelengths. In
the visible spectral band, dark surface objects can be distinguished
from bright clouds by a simple reflectance threshold test. At 0.66 μm,
many surface features such as water, vegetation, shadowed areas and soil
exhibit low reflectance values (\< 0.15) and can be easily flagged.

## Vegetation index ratio

Vegetated surfaces exhibit a strong reflectance gradient near 0.7 μm,
known as the red edge \[6\]. The reflectance for vegetation changes from
\~ 0.1 in the visible to 0.4 or greater in the NIR depending on specific
aspects of the vegetation cover (health, greenness, etc.). Clouds on the
other hand display a nearly constant reflectance signal over this range.
Therefore, a ratio of a visible to a NIR channel should be close to 1
for clouds and less than 0.5 for vegetated surfaces. Snow and ice
surfaces have a similar behavior to clouds in this spectral region. Fig.
7 provides an example of Hyperion reflectance values for clouds,
vegetation and surface ice where the previously mentioned relationships
can be observed.

![](media/image16.wmf)

Figure 7 Example of Hyperion reflectance values for clouds

## Desert sand index

Bright surface features such as snow, ice and sand can easily be
mistaken for cloud features in the visible portion of the spectrum. In
contrast to other bright surface features such as snow and ice, desert
sand tends to display the largest reflectance near 1.6 mm whereas
clouds, snow and ice show peaks in the visible and NIR. These
observations provide an empirical means to formulate a discrimination
index, or Desert Sand Index (DSI) as shown in the formula below,

$\text{DSI} = \frac{\rho_{0\text{.}\text{86}} - \rho_{1\text{.}\text{65}}}{\rho_{0\text{.}\text{86}} + \rho_{1\text{.}\text{65}}}$.

In Fig. 8, plots of the Hyperion-observed spectral reflectance for snow,
ice, desert and cloud features are shown. Comparing values near the red
and orange vertical bands shows that the sand feature is the only one
that will display a negative DSI value.

## Normalized snow index

The Normalized Difference Snow Index (NDSI) is used to identify snow and
ice covered surfaces and for separating snow/ice and cumulus clouds. The
NDSI measures the relative difference between the spectral reflectance
in the visible and SWIR. The technique is analogous to the
normalized-difference vegetation index (NDVI), which provides a measure
of the health and greenness of vegetated surfaces. The formula commonly
used for the NDSI is given by \[6\],

$\text{NDSI} = \frac{\rho_{0\text{.}\text{56}} - \rho_{1\text{.}\text{65}}}{\rho_{0\text{.}\text{56}} + \rho_{1\text{.}\text{65}}}$**.**

NDSI values greater than approximately 0.4 are representative of various
snow-covered conditions with pure snow having the highest NDSI values.
The NDSI tends to decrease as other features (such as soil and
vegetation) are mixed in with the snow. ![](media/image17.wmf)Figure 8.
Plot of the spectral signatures for four features in the visible, NIR
and SWIR.

## Reflectance at 1.25 μm

Some moderately bright surface features (such as aged or shadowed snow)
may fail the NDSI test. Many of these features can be eliminated from
consideration as cloud by comparing their reflectance at 1.25 μm to an
empirically defined threshold. Most surface features have reflectance
values less than 0.4 at this wavelength while clouds still display
reflectances greater than 0.4 (see Fig. 8). The 1.25 μm reflectance test
is applied only to potential cloudy pixels that have passed previous
tests.

## Ice Discrimination

To further discriminate ice surfaces from water clouds, pixels that have
reflectance values at 1.37 μm greater than 0.1 are assumed to be ice
surfaces and eliminated from consideration as cloudy. Referring to Fig.
8, it can be seen that for water clouds and bright snow-covered
surfaces, reflectance values at 1.37 μm are quite low, much less than
0.1. Ice surfaces, however, display a significant reflectance signal at
this wavelength

6\. Alogrithm applications

The cloud cover detection process defined in Fig. 6 has been applied to
a set of 20 Hyperion scenes with varying cloud cover and type, surface
characteristics and seasonal collection times. The cloud cover detection
algorithm was applied independently to each pixel in a scene; effects
from adjacent pixels did not influence the computations. The primary
output product was line-by-line statistics of the presence of cloud-free
pixels, water-cloud, and ice-cloud covered pixels. Examples of the
Hyperion scenes that were used in the testing are shown in figure 1. An
RGB rendition of the scene is shown along with the computed cloud mask.
For each of the cases shown in figure 1 and figure 9, the associated
figure depicting the cloud cover uses the following color scheme: blue
-- cloud-free, gray/maroon -- low/mid cloud, orange -- mid/high cloud.

## Kokee Hawaii: {#kokee-hawaii .unnumbered}

This scene was collected on May 22, 2002 at 2056 UTC over the island of
Kauai, HI. The scene is characterized by partly cloudy conditions with
cumulus clouds present over land and water (Fig. 1). Clear regions are
also visible. The algorithm does well detecting clouds over the land;
over the water the main cloud region is masked but some areas of thin
cloud cover may not be identified. The routine seems to miss a small
amount of cloud cover over land, mostly cloud edges, which would support
a slight reduction in the threshold value for the reflectance test.

Cheyenne Wyoming:

This scene was collected on March 5, 2002 at 1720 UTC near Cheyenne, WY.
The scene is characterized by partly cloudy conditions with high thin
clouds overlying snow-covered hilly terrain (Fig. 9). The algorithm
accurately identifies the bright snow-covered terrain as a surface
feature with the possible exception of some areas near the edge of the
high clouds. These areas seem to be shadowed either by the high clouds
or self shadowed due to terrain variations and the moderate sun angle
(36 degrees above the horizon)

7\. Summary

A validation for performing on-board cloud cover assessment and a
technique for estimating the cloud amount in a hyperspectral scene have
been described. The key objectives were to determine what performance
was needed to do cloud assessment on-board an existing satellites due to
limitations in performance of the present flight computers. The cloud
assessment algorithm was designed to perform cloud cover detection
onboard the EO-1 satellite, which has never been accomplished before.
The technique required calibrated Level 1B radiances, which are
converted to reflectance values and processed through the cloud cover
routine to produce a cloud mask for the observed image. The routine was
tested on numerous Hyperion images collected over a wide range of
surface and atmospheric conditions. Onboard testing of the algorithm was
completed March 22, 2003. Key targeted future functionality is to use
this cloud assessment to make alternate scene selection, i.e. if the
cloud cover estimate is greater than desired for a particular scene,
then a decision can be made to collect a different scene on the next
orbital pass. This avoids the process of collecting, storing,
transmitting to ground, and processing the scene only to find out that
the scene is obscured by clouds and not usable.

![](media/image18.jpeg){width="1.4333333333333333in"
height="3.5368055555555555in"}
![](media/image19.png){width="1.4395833333333334in"
height="3.545138888888889in"} Fig 9. Hyperion image collected near
Cheyenne, WY displaying partly cloudy conditions with high thin clouds
over snow covered hilly terrain.

8\. REferences

1.  Ackerman, S.A., K.I. Strabala, W.P. Menzel, R.A. Frey, C.C. Moeller,
    and L.E. Gumley, "Discriminating clear sky from clouds with MODIS,"
    *J. Geophy. Res.,* **103**, pp. 32141-32157, 1998.

2.  Pearlman, J., S. Carman, C. Segal, P. Jarecke, and P. Barry,
    "Overview of the Hyperion Imaging Spectrometer for the NASA EO-1
    Mission," *Proceedings of IGARRS 2001,* Sydney, Australia, 2001.

3.  Berk, A, L.S. Bernstein, G.P. Anderson, P.K. Acharya, D.C.
    Robertson, J.H. Chetwynd, and S.M. Adler-Golden, "MODTRAN Cloud and
    Multiple Scattering Upgrades with Application to AVIRIS," *Remote
    Sens. Environ.,* **65**, pp. 367-375, 1998.

4.  Gao, B.-C and Y.J. Kaufman, "Correction of Thin Cirrus Effects in
    AVIRIS Images Using the Sensitive 1.375-μm Cirrus Detecting
    Channel*," Summaries of the Fifth Annual JPL Earth Science
    Workshop*, JPL Publication 95-4*,* pp. 59-62, Pasadena CA, 1995.

5.  Gao, B.-C, Y.J. Kaufman, W. Han, and W.J. Wiscombe, "Removal of Thin
    Cirrus Path Radiances in the 0.4 -- 1.0-μm Spectral Region Using the
    1.375-μm Strong Water Vapor Absorption Channel," *Summaries of the
    Seventh JPL Airborne Earth Science Workshop*, JPL Publication 97-21,
    pp. 121-130, Pasadena CA, 1998.

6.  Tucker, C.J., "Red and Photographic Infrared Linear Combinations for
    Monitoring Vegetation," *Remote Sens. Environ.*, **8**, pp. 127-150,
    1979.

9\. Team members

PI: Dan Mandl/GSFC

Co-I: Jerry Miller/GSFC

Tom Brakke/GSFC

Michael Griffin/MIT-LL

Hsaio-hua Burke/MIT-LL

Carolyn Upham/MIT-LL

Kris Farrar/MIT-LL

Stuart Frye/GSFC-Mitretek

Seth Shulman/GSFC-CSC

Robert Bote/GSFC-Honeywell

Joe Howard/GSFC-Honeywell

Jerry Hengemihle/GSFC-Microtel

Bruce Trout/GSFC-Microtel

Scott Walling/GSFC-Microtel

Nick Hengemihle/GSFC-Microtel

Lawrence Ong/GSFC-SSAI

Larry Alexander/GSFC-Compaq