Package 'MeTo'

Title: Meteorological Tools
Description: Meteorological Tools following the FAO56 irrigation paper of Allen et al. (1998) [1]. Functions for calculating: reference evapotranspiration (ETref), extraterrestrial radiation (Ra), net radiation (Rn), saturation vapor pressure (satVP), global radiation (Rs), soil heat flux (G), daylight hours, and more. [1] 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).
Authors: Ullrich Dettmann [aut, cre], R. Grima [aut]
Maintainer: Ullrich Dettmann <[email protected]>
License: GPL (>= 2)
Version: 0.1.1
Built: 2025-02-12 05:41:22 UTC
Source: https://github.com/cran/MeTo

Help Index


Adjust wind speed data

Description

Adjust wind speed data to 2 meter height.

Usage

adj_u2(u, uz)

Arguments

u

measured wind speed at uz above ground surface [m/s]

uz

height of windspeed measurement above ground surface [m]

Note

eq. 47 of reference

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

adj_u2(3.2, uz = 10)

Constants

Description

Constants required for calculations.

Usage

constDefaults

Format

GSC: solar constant (0.0820 [MJ/(m2 min)])

sigma: Stefan-Boltzmann constant (4.903 10^-9 [MJ/(K4 m2 day)])

a1: constant lapse rate moist air (0.0065 [K/m]) (e.g. in estP)

R: specific gas constant (287 [J/(kg K)]) (e.g. in estP)

g: gravitational acceleration (9.807 [m/s2]) (e.g. in estP)

eps: ratio molecular weight of water vapour/dry air (0.622) (e.g. in psyc_cons)

lambda: latent heat of vaporization (2.45 [MJ/kg]) (e.g. in psyc_cons)

cp: specific heat at constant pressure (1.013 10-3 [MJ/(kg degreeC)]) (e.g. in psyc_cons)


Control default values

Description

Default values for control. If necessary modify with control = list() in function call.

Usage

controlDefaults

Format

albedo: 0.23 [-] for hypothetical grass and alfalfa reference crops used in the FAO-56 PM equations (e.g. in ETref, Rn or estG)

Po: atmospheric pressure at sea level (101.3 [kPa])

z0: elevation at reference level (0 [m]) (e.g. in ETref or estP)

Tko: reference temperature [degreeC] at elevation z0. Often assumed to be 20 degreeC (e.g. in ETref or estP)

uz: height of windspeed measurement above ground surface (2 [m]) (e.g. in ETref or adj_u2)

Lz:
longitude of the centre of the local time zone (degrees west of Greenwich)
- 0 for Greenwich
- 345 for Germany
- 330 for Cairo (Egypt)
- 255 for Bangkok (Thailand)
- 75, 90, 105 and 120 for Eastern, Central, Rocky Mountain and Pacific time zones (United States)
Lz is only needed if calculation period is shorter 1 day.

as: regression constant, expressing fraction of extraterrestrial radiation reaching earth on overcast days (default = 0.25) (e.g. in ETref, Rn or estRs)

bs: as + bs fraction of extraterrestrial radiation reaching earth on clear days (default = 0.5) (e.g. in ETref, Rn or estRs)

est.ratio.Rs.Rso:
Rs/Rso is used to represent cloud cover. For hourly or shorter periods during the nighttime, the ratio Rs/Rso is set equal to the Rs/Rso calculated for a time period occurring 2-3 hours before sunset. If single values during nighttime are calculated Rs/Rso ratio 2-3 hours before sunset can not be calculated and an approximation is needed. Following Allen (1999) one can assume Rs/Rso = 0.4 to 0.6 during nighttime periods in humid and subhumid climates and Rs/Rso = 0.7 to 0.8 in arid and semiarid climates. A value of Rs/Rso = 0.3 presumes total cloud cover.

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).


Slope of the saturation vapor pressure curve

Description

Slope of the saturation vapor pressure curve [kPa/degreeC].

Usage

deltaVP(Tmean = NULL, Tmax = NULL, Tmin = NULL)

Arguments

Tmean

Mean Temperature [degreeC] (mean daily, mean hourly, etc. air temperature)

Tmax

maximum temperature during 24-hour period [degreeC] (if Tmean is missing)

Tmin

minimum temperature during 24-hour period [degreeC] (if Tmean is missing)

Details

valid for daily, hourly and shorter periods

Value

slope of the saturation vapor pressure curve [kPa/degreeC]

Note

eq. 13 of reference

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

deltaVP(Tmax = 34.8, Tmin = 25.6)
deltaVP(Tmean = 30.2)

Dayligth hours (N)

Description

Dayligth hours in dependence to latitude.

Usage

dlh(x, lat.rad = NULL, lat.deg = NULL)

Arguments

x

date-time object or day of the year

lat.rad

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

lat.deg

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

Details

x:

must be provided as number (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

Note

eq. 34 of reference

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

dlh(x = 105, lat.deg = 13.73)
dlh(x = 105, lat.rad = 0.283)
dlh(x = as.Date('2018-04-15'), lat.deg = 13.73)

Inverse relative distance Earth-Sun

Description

Calculate inverse relative distance Earth-Sun for daily and shorther periods.

Usage

dr(x)

Arguments

x

date-time object or Day of the year

Details

x:

must be provided as number (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

Note

eq. 23 of reference

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).


Saturation Vapor Pressure

Description

Mean saturation vapour pressure [kPa] for short time intervals less than a day. Calculated with air temperature.

Usage

e0(Temp)

Arguments

Temp

Temperature [degreeC]

Value

saturation vapour pressure at air temperature [kPa/degreeC])

Note

eq. 11 of the reference

for day, week, decade or month, the mean saturation vapour pressure should be computed with satVP

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).

See Also

satVP, VP


Estimate soil heat flux (G)

Description

Estimate soil heat flux (G) for periods shorter than a day.

Usage

estG(
  x,
  Rs,
  Tmean,
  Rhmean,
  lat.rad = NULL,
  lat.deg = NULL,
  long.deg = NULL,
  elev = 1,
  tl,
  control = list(albedo = 0.23, Lz = 345, est.ratio.Rs.Rso = NA)
)

Arguments

x

date-time object (see details)

Rs

incoming solar radiation [MJ/(m2 time)]

Tmean

Mean air temperature [degreeC]

Rhmean

Mean air humidity [percent]

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 of the measurement site (degrees east of Greenwich)

elev

station elevation above sea level [m]

tl

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

control

list for control parameters and empirical factors defined in controlDefaults and constDefaults (see Details)

Details

during daylight periods G is estimated to be Rn x 0.1 During nighttime G = Rn x 0.5. Day is defined for extraterrestrial radiation > 0.

x:

must be provided as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

control:

albedo:
default 0.23 for the hypothetical grass and alfalfa reference crops used in
the FAO-56 PM equations

Lz:
longitude of the centre of the local time zone (degrees west of Greenwich)
- 0 for Greenwich
- 345 for Germany
- 330 for Cairo (Egypt)
- 255 for Bangkok (Thailand)
- 75, 90, 105 and 120 for Eastern, Central, Rocky Mountain and Pacific time zones (United States)
Lz is only needed if calculation period is shorter 1 day.

est.ratio.Rs.Rso:
Rs/Rso is used to represent cloud cover. For hourly periods during the nighttime, the ratio Rs/Rso is set equal to the Rs/Rso calculated for a time period occurring 2-3 hours before sunset. If single values during nighttime are calculated Rs/Rso ration 2-3 hours before sunset can not be calculated and an approximation is needed. Following Allen (1999) one can assume Rs/Rso = 0.4 to 0.6 during nighttime periods in humid and subhumid climates and Rs/Rso = 0.7 to 0.8 in arid and semiarid climates. A value of Rs/Rso = 0.3 presumes total cloud cover.

Note

eq. 45 and 46 of reference

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

estG(x = as.POSIXct(c('2018-10-01 14:30', '2018-10-01 15:00')), Tmean = 38, Rhmean = 52, Rs = 2.450,
     elev = 8, lat.deg = 16.21, long.deg = 343.75, control = list(Lz = 15))

estG(x = as.POSIXct('2018-10-01 02:30'), Tmean = 28, Rhmean = 90, tl = 1, Rs = 0, elev = 8,
     lat.deg = 16.2, long.deg = 343.75, control = list(Lz = 15, est.ratio.Rs.Rso = 0.8))

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

Estimate atmospheric pressure (P)

Description

Values for atmospheric pressure as a function of altitude.

Usage

estP(elev, control = list(Tko = 20))

Arguments

elev

elevation [m]

control

list for control parameters and empirical factors defined in controlDefaults and constDefaults (see Details)

Details

Control variables:

Tko: reference temperature [degreeC] at elevation z0. Often assumed to be 20 degreeC

z0: elevation at reference level [m]

a1: constant lapse rate moist air (0.0065 [K/m])

g: gravitational acceleration (9.807 [m/s2])

R: specific gas constant (287 [J/(kg K)])

Value

atmospheric pressure [kPa]

Note

eq. 3-2 of Reference

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

estP(elev = 25, control = list(Tko = 20))

Estimate solar radiation (Rs)

Description

Rs is calculated from relative sunshine duration and extraterrestrial radiation with the Angstrom formula.

Usage

estRs(
  x,
  n,
  lat.rad = NULL,
  lat.deg = NULL,
  tl,
  control = list(as = 0.25, bs = 0.5)
)

Arguments

x

date-time object or Day of the year

n

actual duration of sunshine [hour]

lat.rad

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

lat.deg

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

tl

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

control

list for control parameters and empirical factors defined in controlDefaults and constDefaults (see Details)

Details

control:

as: regression constant, expressing fraction of extraterrestrial radiation reaching earth on overcast days (n = 0) (default = 0.25)

bs: as + bs fraction of extraterrestrial radiation reaching earth on clear days (n = N) (default = 0.5)

x:

must be provided as.numeric (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

Value

solar or shortwave radiation (Rs) [MJ/(m2 day)]

Note

eq. 35 of reference

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

estRs(x = 135, n = 7, lat.rad = NULL, lat.deg = -22.9)

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)

Details

x:

must be provided as.numeric (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

control: (see also controlDefaults and constDefaults)

Lz:
longitude of the centre of the local time zone (degrees west of Greenwich)
- 0 for Greenwich
- 345 for Germany
- 330 for Cairo (Egypt)
- 255 for Bangkok (Thailand)
- 75, 90, 105 and 120 for Eastern, Central, Rocky Mountain and Pacific time zones (United States)
Lz is only needed if calculation period is shorter than 1 day.

uz: height of wind measurements (m)

albedo: default 0.23 for the hypothetical grass and alfalfa reference crops used in the FAO-56 PM equations

as: regression constant, expressing fraction of extraterrestrial radiation reaching earth on overcast days (n = 0) (default = 0.25)

bs: as + bs fraction of extraterrestrial radiation reaching earth on clear days (n = N) (default = 0.5)

Tko: reference temperature [degreeC] at elevation z0. Only needed if atmospheric pressure is missing. Often assumed to be 20 degreeC.

z0: elevation at reference level (fefault = 0 [m])

est.ratio.Rs.Rso:
Rs/Rso is used to represent cloud cover. For hourly or shorter periods during the nighttime, the ratio Rs/Rso is set equal to the Rs/Rso calculated for a time period occurring 2-3 hours before sunset. If single values during nighttime are calculated Rs/Rso ration 2-3 hours before sunset can not be calculated and an approximation is needed. Following Allen (1999) one can assume Rs/Rso = 0.4 to 0.6 during nighttime periods in humid and subhumid climates and Rs/Rso = 0.7 to 0.8 in arid and semiarid climates. A value of Rs/Rso = 0.3 presumes total cloud cover.

Value

grass reference evapotranspiration [mm]

Note

eq. 6 from reference for daily and eq. 53 for hourly or shorter periods

Author(s)

Ullrich Dettmann

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

# --------------------------------------------
#  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))
# --------------------------------------------

Prepare date

Description

Checks if x is date-time object or day of the year (doy) and returns doy.

Usage

prep.date(x)

Arguments

x

date-time object or Day of the year

Value

Day of the year


psychrometric constant

Description

The psychrometric constant [kPa/degreeC]

Usage

psyc_cons(elev, P = NULL, control = list())

Arguments

elev

elevation [m]

P

atmospheric pressure [kPa]

control

list for control parameters and empirical factors defined in controlDefaults and constDefaults (see Details)

Details

control:

Tko: reference temperature [degreeC] at elevation z0. Only needed if atmospheric pressure is missing. Often assumed to be 20 degreeC

elev: station elevation above sea level [m]. Needed if P = NULL for estP

lambda: latent heat of vaporization [MJ/kg]

eps: ratio molecular weight of water vapor/dry air = 0.622

cp: specific heat of moist air = 1.013 x 10-3 [MJ/(kg degreeC)]

Value

psychrometric constant [kPa/degreeC]

Note

eq. 8 of reference

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

psyc_cons(elev = 2, P = 101.3)

Extraterrestrial radiation

Description

Extraterrestrial radiation [MJ/(m2 time)] in dependence to time, latitude and longitude.

Usage

Ra(x, lat.rad = NULL, lat.deg = NULL, long.deg, tl, control = list(Lz = 345))

Arguments

x

date-time object or day of the year (must be date-time object if calculation period is smaller 1 day)

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 of the measurement site (degrees east of Greenwich) (only needed for periods shorter 1 day)

tl

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

control

list for control parameters and empirical factors defined in controlDefaults and constDefaults (see Details)

Details

x:

must be provided as.numeric (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

control:

Lz (for periods < 1 day):
longitude of the centre of the local time zone (degrees west of Greenwich)
- 0 for Greenwich
- 345 for Germany
- 330 for Cairo (Egypt)
- 255 for Bangkok (Thailand)
- 75, 90, 105 and 120 for Eastern, Central, Rocky Mountain and Pacific time zones (United States)

Note

eq. 21 (period = 1 day) and eq. 28 (hourly or shorter) of the reference

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

# --------------------------------------------
#  Daily period
# --------------------------------------------

Ra(x = 105, lat.deg = 13.73)

# --------------------------------------------
#  Hourly period
# --------------------------------------------

Ra(x = as.POSIXct(c('2018-10-01 14:30', '2018-10-01 15:30')),
   lat.deg = 16.21, long.deg = 343.75, control = list(Lz = 15))

Ra(x = as.POSIXct('2018-10-01 14:30'), tl = 1,
   lat.deg = 16.21, long.deg = 343.75, control = list(Lz = 15))

Net radiation (Rn)

Description

Difference between the incoming net shortwave radiation (Rns) and the outgoing net longwave radiation (Rnl).

Usage

Rn(
  x,
  Tmax = NULL,
  Tmin = NULL,
  Rhmax = NULL,
  Rhmin = NULL,
  Rs = NULL,
  n = NULL,
  elev,
  lat.rad = NULL,
  lat.deg = NULL,
  long.deg = NULL,
  Rhmean = NULL,
  actVP = NULL,
  Tmean = NULL,
  tl,
  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

daily maximum of air humidity [percent] (for daily values)

Rhmin

daily minimum of air humidity [percent] (for daily values)

Rs

incoming solar radiation [MJ/(m2 time)]

n

Actual hours of sunshine. Used to calculate Rs 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 of the measurement site (degrees east of Greenwich) (for periods < 1 day)

Rhmean

Mean air humidity [percent] for periods < day or if Rhmax and Rhmin are missing

actVP

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

Tmean

Mean air temperature [degree C] for periods < day

tl

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

control

list for control parameters and empirical factors (see Details)

Details

for daily and hourly calculations

x:

must be provided as.numeric (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

control:

albedo: default 0.23 for the hypothetical grass and alfalfa reference crops used in the FAO-56 PM equations

as: regression constant, expressing fraction of extraterrestrial radiation reaching earth on overcast days (n = 0) (default = 0.25)

bs: as + bs fraction of extraterrestrial radiation reaching earth on clear days (n = N) (default = 0.5)

Value

net radiation

Note

eq. 40 of reference

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).

See Also

Rns, Rnl

Examples

# --------------------------------------------
#  Daily period
# --------------------------------------------

Rn(x = 105, n = 8.5, elev = 2, actVP = 2.85, Tmax = 34.8,
   Tmin = 25.6, lat.deg = 13.73)

Rn(x = 135, elev = 1, Rs = 14.5, Tmax = 25.1, Tmin = 19.1,
   lat.deg = -22.9, actVP = 2.1)

# --------------------------------------------
#  Hourly period
# --------------------------------------------

Rn(x = as.POSIXct(c('2018-10-01 14:30', '2018-10-01 15:30')), Tmean = c(38, 37.8),
   Rhmean = c(52, 52.2), Rs = c(2.450, 2.1), elev = 8, lat.deg = 16.2,
   long.deg = 343.75, control = list(Lz = 15))

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

Net longwave radiation (Rnl)

Description

Net longwave radiation (Rnl).

Usage

Rnl(
  x,
  Tmax = NULL,
  Tmin = NULL,
  Rhmax = NULL,
  Rhmin = NULL,
  Rs = NULL,
  lat.rad = NULL,
  lat.deg = NULL,
  long.deg = NULL,
  elev,
  actVP = NULL,
  tl,
  Tmean = NULL,
  Rhmean = 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

daily maximum of air humidity [percent] (for daily values)

Rhmin

daily minimum of air humidity [percent] (for daily values)

Rs

incoming solar radiation [MJ/(m2 time)]

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

see Rso

elev

station elevation above sea level [m]

actVP

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

tl

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

Tmean

mean temperature [degreeC] during the time period (for periods shorter than a day)

Rhmean

Mean air humidity [percent] (for periods shorter than a day or if Rhmax and Rhmin are missing)

control

list for control parameters and empirical factors (see Details and controlDefaults)

Details

x:

must be provided as.numeric (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

control:

Lz:
longitude of the centre of the local time zone (degrees west of Greenwich)
- 0 for Greenwich
- 345 for Germany
- 330 for Cairo (Egypt)
- 255 for Bangkok (Thailand)
- 75, 90, 105 and 120 for Eastern, Central, Rocky Mountain and Pacific time zones (United States)
Lz is only needed if calculation period is shorter 1 day.

est.ratio.Rs.Rso:
Rs/Rso is used to represent cloud cover. For hourly or shorter periods during the nighttime, the ratio Rs/Rso is set equal to the Rs/Rso calculated for a time period occurring 2-3 hours before sunset. If single values during nighttime are calculated Rs/Rso ration 2-3 hours before sunset can not be calculated and an approximation is needed. Following Allen (1999) one can assume Rs/Rso = 0.4 to 0.6 during nighttime periods in humid and subhumid climates and Rs/Rso = 0.7 to 0.8 in arid and semiarid climates. A value of Rs/Rso = 0.3 presumes total cloud cover.

Value

Rnl net outgoing longwave radiation [MJ(/m2 time)]

Note

eq. 39 of reference

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).


Net solar or net shortwave radiation (Rns)

Description

Net shortwave radiation is the balance between incoming and reflected solar radiation.

Usage

Rns(Rs, control = list(albedo = 0.23))

Arguments

Rs

incoming solar radiation [MJ/(m2 time)]

control

list for control parameters and empirical factors (see Details)

Details

control:

albedo [-]: 0.23 for hypothetical grass and alfalfa reference crops used in the FAO-56 PM equations

valid for daily and shorter periods

Value

Rns net solar or shortwave radiation [MJ/(m2 time)]

Note

eq. 38 of reference

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

Rns(Rs = 22.1)
Rns(Rs = 22.1, control = list(albedo = 0.20))

Clear-sky solar radiation (Rso)

Description

Clear-sky solar radiation for daily and shorter periods.

Usage

Rso(
  x,
  lat.rad = NULL,
  lat.deg = NULL,
  long.deg = NULL,
  elev,
  tl,
  control = list(Lz = 345)
)

Arguments

x

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

lat.rad

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

lat.deg

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

long.deg

longitude of the measurement site (degrees east of Greenwich) (only needed for periods < 1 day)

elev

station elevation above sea level [m]

tl

length of calculation period [hour] (1 for hourly period, 0.5 for a 30-minute period or 24 for daily period).

control

list for control parameters and empirical factors defined in controlDefaults and constDefaults (see Details)

Details

x:

must be provided as.numeric (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt, and Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

control:

Lz:
longitude of the centre of the local time zone (degrees west of Greenhich)
- 0 for Greenwich
- 345 for Germany
- 330 for Cairo (Egypt)
- 255 for Bangkok (Thailand)
- 75, 90, 105 and 120 for Eastern, Central, Rocky Mountain and Pacific time zones (United States)
Lz is only needed if calculation period is shorter 1 day.

for day, hour and shorter periods

References

eq. 37; 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

# --------------------------------------------
#  Daily period
# --------------------------------------------

Rso(x = 135, elev = 1, lat.deg = -22.9)

# --------------------------------------------
#  Hourly period
# --------------------------------------------

Rso(x = as.POSIXct('2018-10-01 12:30'), tl = 1, elev = 8, lat.deg = 16.2,
    long.deg = 343.75, control = list(Lz = 15))

Saturation Vapor Pressure

Description

Saturation vapor pressure [kPa].

Usage

satVP(
  Tmax = NULL,
  Tmin = NULL,
  Tmean = NULL,
  interval = "day",
  print.warning = T
)

Arguments

Tmax

maximum temperature [degreeC] for daily, weekly, monthly periods

Tmin

minimum temperature [degreeC] for daily, weekly, monthly periods

Tmean

mean air temperature [degreeC] for hourly or shorter periods

interval

hour, day, week or month

print.warning

TRUE or FALSE

Details

interval:

hour (eq. 11 of reference)

interval:

day, week or month (eq. 12 of reference or eq. 11 if only Tmean is provided)

Value

Saturation Vapor Pressure [kPa]

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).

See Also

e0, VP

Examples

satVP(Tmax = 24.5, Tmin = 15, interval = 'day')
satVP(Tmax = 24.5, Tmin = 15, interval = 'week')
satVP(Tmax = 24.5, Tmin = 15, interval = 'month')

satVP(Tmax = 24.5, Tmin = 15, interval = 'hour')
satVP(Tmean = 19.75, interval = 'hour')

Solar declination

Description

Calculate solar declination for daily and shorther periods.

Usage

SolarDec(x)

Arguments

x

date or day of the year

Details

x:

must be provided as number (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

Note

eq. 24 of reference

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).


Actual vapor pressure

Description

Calculate actual vapour pressure [kPa] either from psychrometric data or from relative humidity data.

Usage

VP(
  Tmax = NULL,
  Tmin = NULL,
  Rhmax = NULL,
  Rhmin = NULL,
  interval = "day",
  Tmean = NULL,
  Rhmean = NULL,
  Twet = NULL,
  Tdry = NULL,
  apsy = NULL,
  P = NULL
)

Arguments

Tmax

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

Tmin

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

Rhmax

maximum relative humidity [precent] (for daily values)

Rhmin

minimum relative humidity [precent] (for daily values)

interval

hour, day, week or month

Tmean

Mean air temperature [degreeC] (for periods shorter 1 day)

Rhmean

Mean air humidity [percent] (for periods shorter 1 day or if Rhmax and Rhmin are missing)

Twet

wet bulb temperature (for calculation with psychrometric data)

Tdry

dry bulb tamperature (for calculation with psychrometric data)

apsy

coefficient depending on the type of ventilation of the wet bulb [kPa/(degreeC)] (for calculation with psychrometric data)

P

atmospheric pressure [kPa]

Details

x:

must be provided as.numeric (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

interval:

- use hour for periods <= one hour
- for day, week or month the same equations are used

Note

eq. 17 of reference (Determination of actual vapour pressure from relative maximum and minimum humidity)

eq. 15 of reference (Actual vapour pressure derived from psychrometric data) (see psyc_cons)

eq. 19 of reference (used in the absence of RHmax and RHmin)

eq. 54 of reference (for periods shorter than a day)

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).

See Also

e0, satVP

Examples

VP(Tmax = 25, Tmin = 18, Rhmax = 82, Rhmin = 54)
VP(Tmax = 25, Tmin = 18, Rhmean = 68)

Solar time angle

Description

Solar time angle at midpoint of the period (for periods < 1 day).

Usage

w(x, long.deg, control = list(Lz = 345))

Arguments

x

date-time object (e.g, POSIXct, POSIXlt or Date objects).

long.deg

longitude of the measurement site (degrees east of Greenwich) (for periods < 1 day)

control

list for control parameters and empirical factors (see Details)

Details

control:

Lz:
longitude of the centre of the local time zone (degrees west of Greenwich)
- 0 for Greenwich
- 345 for Germany
- 330 for Cairo (Egypt)
- 255 for Bangkok (Thailand)
- 75, 90, 105 and 120 for the Eastern, Central, Rocky Mountain and Pacific time zones (United States)

Note

eq. 31 of reference

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).


Sunset hour angle

Description

Sunset hour angle for given latitude and solar declination (SolarDec).

Usage

ws(x, lat.rad)

Arguments

x

date-time object or day of the year

lat.rad

latitude [rad]

Details

x:

must be provided as number (1-366) or as a common date-time object (e.g, POSIXct, POSIXlt or Date objects). All formats for which is.timepoint from the lubridate package returns TRUE can be used

Value

Sunset hour angle

Note

eq. 25 of reference

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

ws(x = 246, lat.rad = -0.35)