METRIC (Mapping EvapoTranspiration at high Resolution with Internalized Calibration)

The METRIC model can produce maps of actual evapotranspiration at high spatial resolution (30 m using Landsat data) for specific areas smaller than several hundred square kilometers in extent.

actual evapotranspirationhigh spatial resolution



Initial contribute: 2019-12-29


Kimberly Research Center, Univ. of Idaho, Kimberly
Univ. of Miyazaki, Japan
Kimberly Research Center, Univ. of Idaho, Kimberly
Is authorship not correct? Feed back


Application-focused categoriesNatural-perspectiveLand regions

Detailed Description

English {{currentDetailLanguage}} English

Quoted from: 

One of the most cited models to estimate land surface evapotranspiration from satellite-based energy balance is the Mapping EvapoTranspiration at high Resolution with Internalized Calibration (METRIC). This model was developed by Allen et al., (2007) based on the well-known SEBAL model (Bastiaanssen, 1998). It has been widely applied in many countries arround the world to estimate crops evapotranspiration (ET) at field scales and over large areas using satellite images. The model it has been apply in different vegetation and crops types such us, wheat, corn, soybean and alfalfa with good results (3 - 20% of error) and also in recent years over sparce woody canopies such us vineyards, and olive orchards, in both plain and mountainous terrain. Thus, ET is estimated as a residual of the surface energy equation:

where LELE is latent energy consumed by ET (Wm2W⋅m−2); RnRn is net radiation (Wm2W⋅m−2); GG is sensible heat flux conducted into the ground (Wm2W⋅m−2); and HH = sensible heat flux convected to the air (Wm2W⋅m−2).


We estimate RnRnGG and HH for each pixel into a Landsat satellite scene, supported by one weather station. Then we estimate LELE fluxes using previous equation, and after that the instantaneous evapotranspiration values as:


where ETinstETinst is the instantaneous ET at the satellite flyby (mmh1mm⋅h−1); 3600 is the convert factor from seconds to hours; ρwρw is density of water = 1000 kgm3kg⋅m−3; and λλ is the water latent heat of vaporization (Jkg1J⋅kg−1).

Finally the daily ET is computed pixel by pixel (30 x 30 m) as:



To begin this procedure, first load water package:


Base data preparation

To calculate METRIC crops Evapotranspiration using water package, and the simple procedure we’re going to use three sources:

  • A raw Landsat 7-8 satellite image (original .TIF data from glovis USGS).
  • A Weather Station data (.CSV file).
  • A polygon with our Area-of-interest (AOI) Spatial-Polygon object (if we won`t estimate corp ET for the entire landsat scene).

First, we create the AOI as a polygon using bottomright and topleft points:

aoi <- createAoi(topleft = c(272955, 6085705), 
                 bottomright = c( 288195, 6073195), EPSG = 32719)

Then, we load the weather station data. For that we are going to use the function called read.WSdata. This function converts our .csv file into a waterWeatherStation object. Then, if we provide a Landsat metadata file (.MTL file) we will be able to calculate the time-specific weather conditions at the time of satellite overpass.

csvfile <- system.file("extdata", "apples.csv", package="water")
MTLfile <- system.file("extdata", "L7.MTL.txt", package="water")
WeatherStation <- read.WSdata(WSdata = csvfile, date.format = "%d/%m/%Y", 
                              lat=-35.42222, long= -71.38639, elev=201, height= 2.2,
                              columns=c("date" = 1, "time" = 2, "radiation" = 3,
                              "wind" = 4, "RH" = 6, "temp" = 7, "rain" = 8), 
                              MTL = MTLfile)
## Warning in read.WSdata(WSdata = csvfile, date.format = "%d/%m/%Y", lat =
## -35.42222, : As tz = "", assuming the weather station time zone is America/
## Argentina/Buenos_Aires

We can visualize our weather station data as:

## Weather Station @ lat: -35.42 long: -71.39 elev: 201 
## Summary:
##    radiation           wind              RH              ea        
##  Min.   :  0.00   Min.   : 0.000   Min.   :17.39   Min.   :0.7455  
##  1st Qu.:  0.00   1st Qu.: 0.205   1st Qu.:40.65   1st Qu.:1.2288  
##  Median : 49.82   Median : 1.585   Median :64.83   Median :1.6472  
##  Mean   :310.13   Mean   : 3.071   Mean   :60.78   Mean   :1.5156  
##  3rd Qu.:719.29   3rd Qu.: 3.655   3rd Qu.:82.34   3rd Qu.:1.7741  
##  Max.   :998.29   Max.   :14.460   Max.   :94.04   Max.   :1.9672  
##       temp            rain  
##  Min.   :14.65   Min.   :0  
##  1st Qu.:17.74   1st Qu.:0  
##  Median :21.15   Median :0  
##  Mean   :22.46   Mean   :0  
##  3rd Qu.:27.36   3rd Qu.:0  
##  Max.   :32.53   Max.   :0  
##  Conditions at satellite flyby:
##               datetime radiation wind    RH   ea  temp rain       date
## 47 2013-02-15 11:30:40    752.92  1.1 68.86 1.89 22.59    0 2013-02-15
plot(WeatherStation, hourly=TRUE)

After that, we need to load the Landast satellite image. Usually, using water we can use the function called loadImage to load a Landsat image from .TIF files were downloaded directly from Earth Explorer. In this vignette we are going to use some Landsat 7 as example data which, by the way comes with water package as a demo.

image.DN <- L7_Talca

Surface Energy Balance estimation

We are going to use the function called METRIC.EB to estimate the land surface energy balance. This function has many parameters to choose from the different METRIC model equations. e.g., you can change:

  • coefficients used to estimate broadband albedo.
  • Model to estimate Leaf Area Index (LAI) from satellite data.
  • Model to estimate momentum roughness lenght (Zom)
  • Automatic method to select anchors pixels
  • ETr coefficient and momentum roughness lenght for the weather station

When we run METRIC.EB, the energy balance and the surface temperature (Ts) used are assigned to Energy.Balance object. Also the function prints the position and some other data from the anchors pixels, and finally plots the values of the aerodinamic resistance during the iterative process. Here is a parameter verbose to control how much information we want to see in the output.

Energy.Balance <- METRIC.EB(image.DN = image.DN, plain=TRUE, 
                            WeatherStation = WeatherStation, 
                            ETp.coef = 1.2, MTL=MTLfile, n = 5,
                            sat="L7", thermalband=image.DN$thermal.low)
##    pixel      X       Y       Ts  LAI NDVI type
## 1 110205 287250 6079210 327.1150 0.07 0.23  hot
## 2  49291 273390 6082780 307.5172 4.08  0.8 cold

Now we can plot the results using:


Daily Crop Evapotranspiration (ET_24) estimation

To estimate the daily crop evapotranspiration from the Landsat scene we need the daily reference ET (ETr) for our weather station, so we can calculate the daily ETr with:

ET_WS <- dailyET(WeatherStation = WeatherStation, MTL = MTLfile)

And finally, we can estimate daily crop ET pixel by pixel:

ET.24 <- ET24h(Rn=Energy.Balance$EB$NetRadiation, G=Energy.Balance$EB$SoilHeat, 
               WeatherStation = WeatherStation, ETr.daily=ET_WS)


Allen, R. G., Tasumi, M., & Trezza, R. (2007). Satellite-based energy balance for mapping evapotranspiration with internalized calibration (METRIC)-Model. Journal of Irrigation and Drainage Engineering, 133, 380.

Bastiaanssen, W. G. M., Menenti, M., Feddes, R. a., & Holtslag, A. a. M. (1998). A remote sensing surface energy balance algorithm for land (SEBAL). 1. Formulation. Journal of Hydrology, 212-213, 198–212.



Richard G. Allen, Masahiro Tasumi, Ricardo Trezza (2019). METRIC (Mapping EvapoTranspiration at high Resolution with Internalized Calibration), Model Item, OpenGMS,


Initial contribute : 2019-12-29



Kimberly Research Center, Univ. of Idaho, Kimberly
Univ. of Miyazaki, Japan
Kimberly Research Center, Univ. of Idaho, Kimberly
Is authorship not correct? Feed back

QR Code


{{'; ')}}



Drop the file here, orclick to upload.
Select From My Space
+ add


Cancel Submit
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Localizations}} + {{htmlJSON.Add}}
{{ item.label }} {{ item.value }}
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
名称 别名 {{tag}} +
系列名 版本号 目的 修改内容 创建/修改日期 作者
摘要 详细描述
{{tag}} + 添加关键字
* 时间参考系
* 空间参考系类型 * 空间参考系名称

起始日期 终止日期 进展 开发者
* 是否开源 * 访问方式 * 使用方式 开源协议 * 传输方式 * 获取地址 * 发布日期 * 发布者

编号 目的 修改内容 创建/修改日期 作者

时间分辨率 时间尺度 时间步长 时间范围 空间维度 格网类型 空间分辨率 空间尺度 空间范围
{{tag}} +
* 类型

* 名称 * 描述
示例描述 * 名称 * 类型 * 值/链接 上传

{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
Title Author Date Journal Volume(Issue) Pages Links Doi Operation
{{htmlJSON.Cancel}} {{htmlJSON.Submit}}
{{htmlJSON.Add}} {{htmlJSON.Cancel}}


Authors:  {{articleUploading.authors[0]}}, {{articleUploading.authors[1]}}, {{articleUploading.authors[2]}}, et al.

Journal:   {{articleUploading.journal}}

Date:   {{}}

Page range:   {{articleUploading.pageRange}}

Link:   {{}}

DOI:   {{articleUploading.doi}}

Yes, this is it Cancel

The article {{articleUploading.title}} has been uploaded yet.

{{htmlJSON.Cancel}} {{htmlJSON.Confirm}}