Learn R Programming

MeTo (version 0.1.1)

ETref: FAO-56 Penman-Monteith grass reference evapotranspiration

Description

FAO Penman-Monteith equations to compute grass reference evapotranspiration from weather data for daily, monthly, hourly or shorter periods.

Usage

ETref(
  x,
  Tmax = NULL,
  Tmin = NULL,
  Rhmax = NULL,
  Rhmin = NULL,
  Tmean = NULL,
  Rhmean = NULL,
  u = NULL,
  Rs = NULL,
  n = NULL,
  P = NULL,
  elev,
  lat.rad = NULL,
  lat.deg = NULL,
  long.deg = NULL,
  tl,
  G = NULL,
  actVP = NULL,
  control = list()
)

Arguments

x

date-time object or day of the year (must be date-time object if calculation period is shorter than a day)

Tmax

maximum temperature [degreeC] during 24-hour period (for daily values)

Tmin

minimum temperature [degreeC] during 24-hour period (for daily values)

Rhmax

maximum of air humidity [percent] during 24-hour period (for daily values)

Rhmin

minimum of air humidity [percent] during 24-hour period(for daily values)

Tmean

mean air temperature [degreeC]. For periods shorter 1 day.

Rhmean

mean relative air humidity [percent]. For periods shorter 1 day or if Rhmax and Rhmin are missing.

u

wind speed [m/s] at 2 meter height. If measurement height is not 2 m, define height with control <- list(uz = 2)

Rs

solar radiation [MJ/(m2 time)]

n

actual hours of sunshine. Used to calculate Rs if Rs messurements are not available (see estRs).

P

air pressure [kPa]. Estimated with estP if missing.

elev

station elevation above sea level [m]

lat.rad

latitude [rad]. Use either lat.rad or lat.deg. Latitude is positive for the northern hemisphere and negative for the southern hemisphere

lat.deg

latitude [degree]. Use either lat.deg or lat.rad. Latitude is positive for the northern hemisphere and negative for the southern hemisphere

long.deg

longitude [degree] east of Greenwich (for periods < 1 day)

tl

length of calculation period [hour] (1 for hourly, 0.5 for 30-minute and 24 for daily period). Only needed if x is date-time object with length of 1.

G

soil heat flux (Assumed to be 0 for daily calculations) (for calculation periods shorter than a day estimated with estG if missing)

actVP

Actual vapor pressure [kPa]. If Rhmax, Rhmin and Rhmean are NULL

control

list for control parameters and empirical factors (see details, controlDefaults and constDefaults)

Value

grass reference evapotranspiration [mm]

Details

References

Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. (1998). Crop evapotranspiration-Guidelines for computing crop water requirements-FAO Irrigation and drainage paper 56. FAO, Rome, 300(9).

Examples

Run this code
# NOT RUN {
# --------------------------------------------
#  Daily Evapotranspiration
# --------------------------------------------

ETref(x = 187, Rs = 22.07, elev = 100, lat.deg = 50.8, Tmax = 21.5, Tmin = 12.3,
      Rhmax = 84, Rhmin = 63,
      u = 2.78, control = list(uz = 10), P = 100.1)

# Calculation with sunshine hour (n) instead of
# global radiation (Rs) (Rs ist estimated from n with estRs):

ETref(x = 187, n = 9.25, elev = 100, lat.deg = 50.8, Tmax = 21.5, Tmin = 12.3,
     Rhmax = 84, Rhmin = 63,
     u = 2.78, control = list(uz = 10), P = 100.1)

# --------------------------------------------
#  Hourly Evapotranspiration
# --------------------------------------------

ETref(x = as.POSIXct(c('2018-10-01 14:30', '2018-10-01 15:30')),
      Tmean = c(38, 37.8), Rhmean = c(52, 52.3), u = c(3.3, 3.2), Rs = c(2.450, 2.5), elev = 8,
      lat.deg = 16.22, long.deg = 343.75, G = c(0.175, 0.178) , P = c(101.21, 101.21) ,
      control = list(Lz = 15))

# If only one time step is calculated tl must be provided (1 for hourly, 0.5 for 30 minute periods):

ETref(x = as.POSIXct('2018-10-01 14:30'), tl = 1,
      Tmean = 38, Rhmean = 52, u = 3.3, Rs = 2.450, elev = 8,
      lat.deg = 16.22, long.deg = 343.75, G = 0.1749218, P = 101.2056,
      control = list(Lz = 15))

# Calculation with missing soil heat flux (G) and atmospheric pressure (P) (G is estimated with estG
# and P with estP)

ETref(x = as.POSIXct('2018-10-01 14:30'), tl = 1,
      Tmean = 38, Rhmean = 52, u = 3.3, Rs = 2.450, elev = 8,
      lat.deg = 16.22, long.deg = 343.75,
      control = list(Lz = 15))
# --------------------------------------------
# }

Run the code above in your browser using DataLab