Landsat Algorithms

Landsat collection structure

The USGS has moved to using a collection-based strategy for producing
Landsat scenes. On May 1st, 2017, they stopped producing old-style
(pre-Collection) scenes and now are only producing Collection 1 versions.

Real Time (RT) - Data that hasn't yet been evaluated (it takes as much as a month).

In order to allow access to both the validated T1 data and the newest
real-time data together, we've sorted the scenes into 3 collections (per each
satellite) as follows:

ID

Description

LANDSAT/LC08/C01/T1_RT

Landsat 8, Collection 1, Tier 1 + Real Time

LANDSAT/LC08/C01/T1

Landsat 8, Collection 1, Tier 1 only

LANDSAT/LC08/C01/T2

Landsat 8, Collection 1, Tier 2 only

Newly acquired scenes are added to the T1_RT collection daily. Once an RT
scene gets reprocessed and categorized as either T1 or T2, it will be removed
from the T1_RT collection and the new version will be added to the appropriate
collection(s). If your work is sensitive to removals or potentially
mis-registered scenes, you might want to stick to the T1 collection, but in
general, it's very uncommon that any misregistration is large enough to notice
on newly acquired scenes.

Each of these collections contains the raw data (i.e., scaled, at-sensor
radiance). In addition, for each collection that contains T1 data, we are also
providing a TOA collection containing the top-of-atmosphere reflectance. (e.g.:
LANDSAT/LC08/C01/T1_RT_TOA).

Finally, because pre-Collection 1 scenes are no longer being produced, we
will not be able to update the "old-style" Landsat collections (e.g.:
LANDSAT/LC8_L1T). We plan to keep these collections for a while even after
we've obtained all of the C1 data, but they will eventually be phased out.

At-sensor radiance and TOA reflectance

The ‘raw’ scenes in Earth Engine contain imagery with digital numbers (DNs) that
represent scaled radiance. The conversion of DNs to at-sensor radiance is a
linear transformation using coefficients stored in scene metadata
(Chander et
al. 2009). The ee.Algorithms.Landsat.calibratedRadiance() method
performs this conversion. Conversion to TOA (or at-sensor) reflectance is a
linear transformation that accounts for solar elevation and seasonally variable Earth-Sun
distance. The TOA conversion is handled by the ee.Algorithms.Landsat.TOA()
method. The TOA method converts thermal bands to brightness temperature. See
Chander et
al. (2009) (or this
USGS site for Landsat 8) for more information about computing TOA reflectance or
brightness temperature. The following example shows conversion from raw data to
radiance and TOA reflectance for a Landsat 8 image:

Simple cloud score

For scoring Landsat pixels by their relative cloudiness, Earth Engine provides a
rudimentary cloud scoring algorithm in the
ee.Algorithms.Landsat.simpleCloudScore() method. (For details on the
implementation, see
this
Code Editor sample script). The following example uses the cloud scoring
algorithm to mask clouds in a Landsat 8 image:

If you run this example in the Code Editor, try toggling the visibility of the TOA
layers to compare the difference between the masked and unmasked imagery. (See
this section of the Code Editor docs for
instructions on how to do that). Observe that the input to simpleCloudScore()
is a single Landsat TOA scene. Also note that simpleCloudScore() adds a
band called ‘cloud’ to the input image. The cloud band contains the
cloud score from 0 (not cloudy) to 100 (most cloudy). The previous example uses an
arbitrary threshold (20) on the cloud score to mask cloudy pixels. To apply this
algorithm to an Earth Engine mosaic of Landsat scenes, set the SENSOR_ID
property:

SENSOR_ID is a property of individual images. When Earth Engine makes a
mosaic of many images, it has to throw out individual image metadata, including the
SENSOR_ID property. To cloud score a mosaic, Earth Engine looks for that
property and can't find it, resulting in an error. Set the property manually to avoid
that. The sensor IDs of Landsat 5, 7 and 8 are 'TM', 'ETM+' and 'OLI_TIRS', respectively.

Simple composite

For creating simple cloud-free Landsat composites, Earth Engine provides the
ee.Algorithms.Landsat.simpleComposite() method. This method selects a
subset of scenes at each location, converts to TOA reflectance, applies the simple
cloud score and takes the median of the least cloudy pixels. This example creates a
simple composite using default parameters and compares it to a composite using custom
parameters for the cloud score threshold and the percentile:

Note that the input to the simple composite is a collection of raw imagery. Also note
that by default, reflective band output is reflectance scaled to 8-bits and thermal band
output is Kelvin minus 100, to fit in the 8-bit range. You can change this behavior by
setting the asFloat parameter to true, to get un-scaled, un-shifted float
output.