Reference evapotranspiration using the Blaney-Criddle method. This is general theoretical method used when no measured data on pan evaporation is available locally.
ETo(object, ..., Kc = 1)
# S3 method for default
ETo(object, tmin, ..., Kc = 1, lat = NULL, month = NULL)
# S3 method for data.frame
ETo(object, day.one, ..., Kc = 1)
# S3 method for array
ETo(object, day.one, ..., Kc = 1, lat = NULL, p = 0.27)
# S3 method for sf
ETo(object, day.one, ..., Kc = 1, as.sf = TRUE)
a numeric vector with the maximum temperature,
or a data.frame with geographical coordinates (lonlat),
or an object of class sf
with geometry 'POINT' or 'POLYGON',
or an array
with two dimensions containing the
maximum and minimum temperature, in that order. See details
additional arguments passed to methods. See details
a numeric value for the crop factor for water requirement
a numeric vector with the minimum temperature
a vector for the latitude (in Decimal degrees), used to compute
mean daily percentage of annual daytime hours based on the latitude and month.
This is extracted automatically in the sf
method. See details
an integer for the reference month of daylight percentage
a vector of class Date
or any other object that can be
coerced to Date
(e.g. integer, character YYYY-MM-DD) for the starting
day to capture the climate data
optional if lat is given, a numeric for the mean daily percentage of annual daytime hours (p = 0.27 by default)
logical, to return an object of class 'sf'
The evapotranspiration in mm/day
When lat is provided, it is combined with the month provided in
day.one to call for the system data daylight
to find
the correct value for p which represents the daily percentage
of daytime hours in the given month and latitude. Otherwise p is set
to 0.27 as default.
The array
method assumes that object contains climate data available
in your R section; this requires an array with two dimensions, 1st dimension
contains the day temperature and 2nd dimension the night temperature,
see help("temp_dat", package = "climatrends") for an example on input structure.
The data.frame
method and the sf
method assumes that the climate data
will be fetched from a remote (cloud) source that be adjusted using the argument
data.from.
Additional arguments:
last.day
: an object (optional to span) of class Date
or
any other object that can be coerced to Date
(e.g. integer, character
YYYY-MM-DD) for the last day of the time series
span
: an integer (optional to last.day) or a vector with
integers (optional if last.day is given) for the length of
the time series to be captured
data.from
: character for the source of climate data. Current remote data
is: 'nasapower'
pars
: character vector for the temperature data to be fetched. If
data.from
is 'nasapower'. The temperature can be adjusted to 2 m, the default,
c("T2M_MAX", "T2M_MIN") or 10 m c("T10M_MAX", "T10M_MIN")
days.before
: optional, an integer for the number of days before
day.one to be included in the timespan.
Brouwer C. & Heibloem M. (1986). Irrigation water management: Irrigation water needs. Food and Agriculture Organization of The United Nations, Rome, Italy. https://www.fao.org/3/S2022E/s2022e00.htm
Other temperature functions:
GDD()
,
crop_sensitive()
,
temperature()
# the default method
set.seed(78)
tmax <- runif(50, 37, 47)
set.seed(79)
tmin <- runif(50, 31, 34)
ETo(tmax, tmin, lat = 22, month = 10)
#> ETo
#> <dbl>
#> 1: 6.52
###############################################
# the array method
data("temp_dat", package = "climatrends")
ETo(temp_dat,
day.one = "2013-10-28",
span = 10,
Kc = 0.92)
#> ETo
#> <dbl>
#> 1: 4.37
#> 2: 4.51
#> 3: 4.29
#> 4: 3.63
#> 5: 4.17
#> 6: 3.89
#> 7: 4.17
#> 8: 4.04
#> 9: 4.06
#> 10: 3.79