This vignette presents the procedure to estimate the Land Surface Energy Balance (LSEB) using lansat imagery and The water package. There are two version of this vignette: simple and advanced version. In the first one the procedure is simpler but most of the parameters are selected automatically by the package. In the second aproach, the procedure is longer because the user has more control on all input parameters and coefficent. Both vignettes follow the METRIC model methodology (Allen et la., 2007) in order to estimate the LSEB using landasat 7 and 8 satellite images.
Also, on the simple procedure we are going to assume flat terrain, but in the advanced procedure we are going to use a digital elevation model (DEM). However, is possible to use a digital elevation model in the simple procedure, changing the parameter flat
to FALSE
and providing a DEM.
where \(LE\) is latent energy consumed by ET (\(W \cdot m^{-2}\)); \(Rn\) is net radiation (\(W \cdot m^{-2}\)); \(G\) is sensible heat flux conducted into the ground (\(W \cdot m^{-2}\)); and \(H\) = sensible heat flux convected to the air (\(W \cdot m^{-2}\)).
We estimate \(Rn\), \(G\) and \(H\) for each pixel into a Landsat satellite scene, supported by one weather station. Then we estimate \(LE\) fluxes using previous equation, and after that the instantaneous evapotranspiration values as:
\begin{equation} ET_{inst} = 3600 \cdot \frac{LE}{\lambda \rho_w} \end{equation}where \(ET_{inst}\) is the instantaneous ET at the satellite flyby (\(mm \cdot h^{-1}\)); 3600 is the convert factor from seconds to hours; \(\rho_w\) is density of water = 1000 \(kg\cdot m^{-3}\); and \(\lambda\) is the water latent heat of vaporization (\(J\cdot kg^{-1}\)).
Finally the daily ET is computed pixel by pixel (30 x 30 m) as: \begin{equation} ET_{24} = \frac{ET_{inst}}{ET_r} ET_{r\_24} \label{eq:et24} \end{equation}To begin this procedure, first load water package:
library(water)
To calculate METRIC crops Evapotranspiration using water package, and the simple procedure we’re going to use three sources:
First, we create the AOI as a polygon using bottomright and topleft points:
aoi <- createAoi(topleft = c(273110, -3914450),
bottomright = c( 288050, -3926650), EPSG = 32619)
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,
MTL = MTLfile)
We can visualize our weather station data as:
print(WeatherStation)
## Weather Station at lat: -35.42 long: -35.42 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
## Min. :14.65
## 1st Qu.:17.74
## Median :21.15
## Mean :22.46
## 3rd Qu.:27.36
## Max. :32.53
##
## Conditions at satellite flyby:
## datetime radiation wind RH ea temp
## 47 2013-02-15 11:30:40 752.92 1.1 68.86 1.89 22.59
plot(WeatherStation, alldata=FALSE)
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[[c(1:5,7)]]
B6 <- L7_Talca[[6]]
plot(image.DN)
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:
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,
sat="L7", thermalband=B6)
## pixel X Y Ts LAI type
## 1 15446 273330 -3915390 326.0008 0.06 hot
## 2 145470 274710 -3923220 310.0151 4.50 cold
Now we can plot the results using:
plot(Energy.Balance)
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)
And finally, we can estimate daily crop ET pixel by pixel:
ET.24 <- ET24h(Rn=Energy.Balance$NetRadiation, G=Energy.Balance$SoilHeat,
H=Energy.Balance$SensibleHeat,
Ts=Energy.Balance$surfaceTemperature,
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. http://doi.org/10.1016/S0022-1694(98)00253-4