Skip to main content

Earth Engine based GEESEBAL Model

Project description

<img src=”https://github.com/et-brasil/EESEBAL/blob/master/Images/geeSEBAL_logo_update_cut.png?raw=true” width=”140”>

## Estimating Evapotranspiration using SEBAL model in Google Earth Engine platform.

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

Image Collections IDs |
:——————–: |
LANDSAT/LC08/C01/T1_SR |
LANDSAT/LE07/C01/T1_SR |
LANDSAT/LT05/C01/T1_SR |
LANDSAT/LT04/C01/T1_SR |
LANDSAT/LC08/C02/T1_L2 |
LANDSAT/LE07/C02/T1_L2 |
LANDSAT/LT05/C02/T1_L2 |
LANDSAT/LT04/C02/T1_L2 |

## Input Collections

The following Earth Engine image collection are use in geeSEBAL:

## 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](https://user-images.githubusercontent.com/45111381/127649854-db066c12-8eb4-497c-8a4b-bed1791117d2.jpg)

## 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 1 SR Input Image

  • Select Image.from_landsat_c1_sr() method to instantiate the class for a Landsat Collection 1 SR image. Image must have the following bands and properties:

SPACECRAFT_ID | Band Names |
————- | —————————————– |
LANDSAT_4 | B1, B2, B3, B4, B5, B7, B6, pixel_qa |
LANDSAT_5 | B1, B2, B3, B4, B5, B7, B6, pixel_qa |
LANDSAT_7 | B1, B2, B3, B4, B5, B7, B6, pixel_qa |
LANDSAT_8 | B1, B2, B3, B4, B5, B6, B7, B10, pixel_qa |
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) |
SOLAR_ZENITH_ANGLE - Solar zenith angle in degrees |

#### 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 |
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) |
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/C01/T1_SR/LC08_044033_20170801’) model_obj = geesebal.from_landsat_c1_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.](https://github.com/et-brasil/openet-geesebal/blob/main/examples “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.](https://doi.org/10.1016/j.isprsjprs.2021.05.018)

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.2.2.tar.gz (48.6 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: openet_geesebal-0.2.2.tar.gz
  • Upload date:
  • Size: 48.6 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.2.2.tar.gz
Algorithm Hash digest
SHA256 3e421862afa4fcdeeb9954b92f267cdd50fe82701622557551de62708b895761
MD5 9128c1c6d1a4b0f6d9dd8a503cd3b87a
BLAKE2b-256 06c50adddba8fa07a50d53184c0c8adee3183d44f819f467f344a4362d35006e

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