Skip to main content

Earth Engine implementation of the GEESEBAL model

Project description

OpenET - geeSEBAL

Estimating Evapotranspiration using SEBAL model in Google Earth Engine platform.

  • The Google Earth Engine Surface Energy Balance for Land (geeSEBAL) solves the energy balance equation (LE + H = Rn - G) to estimate Daily Evapotranspiration (ET) by using Landsat images (L4, L5, L7, L8, and L9) and meteorological data (air temperature, relative humidity, global radiation and wind speed).

Input Collections

  • The following Earth Engine image collection are use in geeSEBAL:
Image Collections IDs
LANDSAT/LC09/C02/T1_L2
LANDSAT/LC08/C02/T1_L2
LANDSAT/LE07/C02/T1_L2
LANDSAT/LT05/C02/T1_L2
LANDSAT/LT04/C02/T1_L2

Model Description

  • Surface Energy Balance Algorithm for Land (SEBAL) was developed and validated by Bastiaanssen (Bastiaanssen et al., 1998a, 1998b) to estimate evapotranspiration (ET) from energy balance equation (Rn – G = LE + H), where LE, Rn, G and H are Latent Heat Flux, Net Radiation, Soil Heat Flux and Sensible Heat Flux, respectively. SEBAL estimates LE as a residual of others energy fluxes (LE = Rn - LE - G).
  • SEBAL algorithm has an internal calibration, assuming a linear relationship between dT and LST across domain area, where dT is designed as a vertical air temperature (Ta) floating over the land surface, considering two extreme conditions. At the hot and dry extreme condition, LE is zero and H is equal to the available energy, whereas at the cold and wet extreme condition, H is zero and LE is equal to the available energy.
  • Workflow of geeSEBAL, demonstrating remote sensing and global meteorological inputs, as well as data processing to estimate daily evapotranspiration.

fluxogram_openet_geesebal

Model Design

Image()

  • Compute Daily ET or ET fraction for a single input image.
  • Allow to obtain ET image collections by mapping over Landsat collections.

Landsat Collection 2 Input Image

  • Select Image.from_landsat_c2_sr() method to instantiate the class for a Landsat Collection 2 SR image. Image must have the following bands and properties:
SPACECRAFT_ID Band Names
LANDSAT_4 SR_B1, SR_B2, SR_B3, SR_B4, SR_B5, SR_B7, ST_B6, QA_PIXEL
LANDSAT_5 SR_B1, SR_B2, SR_B3, SR_B4, SR_B5, SR_B7, ST_B6, QA_PIXEL
LANDSAT_7 SR_B1, SR_B2, SR_B3, SR_B4, SR_B5, SR_B7, ST_B6, QA_PIXEL
LANDSAT_8 SR_B1, SR_B2, SR_B3, SR_B4, SR_B5, SR_B6, SR_B7, ST_B10, QA_PIXEL
LANDSAT_9 SR_B1, SR_B2, SR_B3, SR_B4, SR_B5, SR_B6, SR_B7, ST_B10, QA_PIXEL
PROPERTIES
system: index - Landsat scene ID (ex: LC08_044033_20170801)
system: time_start - Time start of the image in epoch time
SPACECRAFT_ID - Landsat Satellite (LANDSAT_4, LANDSAT_5, LANDSAT_7, LANDSAT_8, LANDSAT_9)
SUN_ELEVATION - Solar elevation angle in degrees

Model Output

The general outputs of the geeSEBAL are ndvi (normalized difference vegetation index), lst (land surface temperature), et_fraction and et. They can be selected as example below:

Example

import openet.geesebal as geesebal

ls_img = ee.Image('LANDSAT/LC08/C02/T1_L2/LC08_044033_20170801')
model_obj = geesebal.from_landsat_c2_sr(ls_img)

ndvi = model_obj.ndvi
lst = model_obj.lst
et_fraction = model.et_fraction
et = model_obj.et

Examples Notebooks

Examples of how to use geeSEBAL model are detailed in examples folder:

geeSEBAL examples.

Installation

pip install openet-geesebal

Depedencies

References

[2021] Laipelt, L., Kayser, R. H. B., Fleischmann A., Ruhoff, A., Bastiaanssen, W., Erickson, T., Melton, F. Long-term monitoring of evapotranspiration using the SEBAL algorithm and Google Earth Engine cloud computing.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openet_geesebal-0.3.1.tar.gz (51.8 kB view details)

Uploaded Source

File details

Details for the file openet_geesebal-0.3.1.tar.gz.

File metadata

  • Download URL: openet_geesebal-0.3.1.tar.gz
  • Upload date:
  • Size: 51.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.16

File hashes

Hashes for openet_geesebal-0.3.1.tar.gz
Algorithm Hash digest
SHA256 0808c9fcdd80c63180bd2c369654dc743fb02f07772cab164c874caf7154fd29
MD5 f4b0b425a9c58bb3622aa03c485bb19a
BLAKE2b-256 7bca2321053844789d9ac27cfd04c16f2e9cee4b01e6691f0b4527d7efea21e1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page