Learn R Programming

airGR (version 1.7.6)

PE_Oudin: Computation of series of potential evapotranspiration at the daily or hourly time steps with Oudin's formula

Description

Function which computes PE using the formula from Oudin et al. (2005). PE can be computed at the daily time step from hourly or daily temperature and at the hourly time step with hourly or daily temperature through a disaggregation of daily PE . See details.

Usage

PE_Oudin(JD, Temp, Lat, LatUnit =  c("rad", "deg"),
         TimeStepIn = "daily", TimeStepOut = "daily",
         RunFortran = FALSE)

Value

[numeric] time series of daily potential evapotranspiration [mm/time step]

Arguments

JD

[numeric] time series of Julian day of the year [-]; see details

Temp

[numeric] time series of daily (or hourly) mean air temperature [°C]

Lat

[numeric] latitude of measurement for the temperature series [radians or degrees]. Atomic vector, except if RunFortran = TRUE, it can be a vector of the same length as Temp

LatUnit

[character] latitude unit (default = "rad" or "deg")

TimeStepIn

[character] time step of inputs (e.g. "daily" or "hourly", default = "daily")

TimeStepOut

[character] time step of outputs (e.g. "daily" or "hourly", default = "daily")

RunFortran

[boolean] to run the code in the Fortran mode or in the R mode (default)

Author

Laurent Coron, Ludovic Oudin, Olivier Delaigue, Guillaume Thirel, François Bourgin

Details

To calculate basin-wide Oudin potential evapotranspiration, it is advised, when possible, to use either station temperature or gridded temperature data to calculate PE and then average these PE values at the basin scale.

In the JD argument, the Julian day of the year of the 1st of January is equal to 1 and the 31st of December to 365 (366 in leap years). If the Julian day of the year is computed on an object of the POSIXlt class, the user has to add 1 to the returned value (e.g. as.POSIXlt("2016-12-31")$yday + 1).

When hourly temperature is provided, all the values of the same day have to be set to the same Julian day of the year (e.g. as.POSIXlt("2016-12-31 00:00:00")$yday + 1 and as.POSIXlt("2016-12-31 00:01:00")$yday + 1). Each single day must be provided 24 identical Julian day values (one for each hour).

Four cases are possible:

  • TimeStepIn = "daily" and TimeStepOut = "daily": this is the classical application of the Oudin et al. (2005) formula

  • TimeStepIn = "daily" and TimeStepOut = "hourly": the daily temperature is used inside the PE_Oudin function to calculate daily PE, which is then disaggregated at the hourly time step with use of a sinusoidal function (see Lobligeois, 2014, p. 78)

  • TimeStepIn = "hourly" and TimeStepOut = "daily": the hourly temperature is aggregated at the daily time step and the daily PE is calculated normally within PE_Oudin

  • TimeStepIn = "hourly" and TimeStepOut = "hourly": the hourly temperature is aggregated at the daily time step, the daily PE is then calculated normally within PE_Oudin, which is finally disaggregated at the hourly time step with use of a sinusoidal function (see Lobligeois, 2014, p. 78)

The use of the PEdaily_Oudin corresponds to the first case of the use of PE_Oudin.

References

Oudin, L., Hervieu, F., Michel, C., Perrin, C., Andréassian, V., Anctil, F. and Loumagne, C. (2005). Which potential evapotranspiration input for a lumped rainfall-runoff model? Part 2 - Towards a simple and efficient potential evapotranspiration model for rainfall-runoff modelling. Journal of Hydrology, 303(1-4), 290-306, tools:::Rd_expr_doi("10.1016/j.jhydrol.2004.08.026").

Lobligeois, F. (2014). Mieux connaitre la distribution spatiale des pluies améliore-t-il la modélisation des crues ? Diagnostic sur 181 bassins versants français. PhD thesis (in French), AgroParisTech - Irstea Antony, Paris, France.

Examples

Run this code
library(airGR)
data(L0123001)
PotEvap <- PE_Oudin(JD = as.POSIXlt(BasinObs$DatesR)$yday + 1,
                    Temp = BasinObs$T,
                    Lat = 0.8, LatUnit = "rad")

Run the code above in your browser using DataLab