Learn R Programming

Evapotranspiration (version 1.16)

ET.PenmanMonteith: Penman-Monteith Formulation

Description

Implementing the Penman-Monteith formulation (including the method for FAO-56 hypothetical short grass and the method for ASCE-EWRI Standardised crop) for estimating reference crop evapotranspiration

Usage

# S3 method for PenmanMonteith
ET(data, constants, ts="daily", solar="sunshine hours",
wind="yes", crop="short", message="yes", AdditionalStats="yes", save.csv="no", …)

Arguments

data

A list which contains the following items (climate variables) required by Penman-Monteith formulation: Tmax, Tmin, RHmax, RHmin, Rs or n or Cd, u2 or uz

constants

A list named constants consists of constants required for the calculation of Penman-Monteith formulation which must contain the following items: Elev - ground elevation above mean sea level in m, lambda - latent heat of vaporisation = 2.45 MJ.kg^-1, lat_rad - latitude in radians, Gsc - solar constant = 0.0820 MJ.m^-2.min^-1, z - height of wind instrument in m, sigma - Stefan-Boltzmann constant = 4.903*10^-9 MJ.K^-4.m^-2.day^-1. G - soil heat flux in MJ.m^-2.day^-1, = 0 when using daily time step. The following constants are also required when argument solar has value of sunshine hours: as - only for when cloud data is used for calculating radiation i.e. solar = "cloud" - fraction of extraterrestrial radiation reaching earth on sunless days, bs - only for when cloud data is used for calculating radiation i.e. solar = "cloud" - difference between fracion of extraterrestrial radiation reaching full-sun days and that on sunless days.

ts

Must be either daily, monthly or annual, which indicates the disired time step that the output ET estimates should be on. Default is daily.

solar

Must be either data, sunshine hours, cloud or monthly precipitation: data indicates that solar radiation data is to be used directly for calculating evapotranspiration; sunshine hours indicates that solar radiation is to be calculated using the real data of sunshine hours; cloud sunshine hours is to be estimated from cloud data; monthly precipitation indicates that solar radiation is to be calculated directly from monthly precipitation. Default is sunshine hours.

wind

Must be either yes or no. yes indicates that the calculation will use real data of wind speed; no indicates that the alternative calculation without using wind data will be used in Penman formulation (Valiantzas 2006, Equation33). Default is yes.

crop

Must be either short or tall. short indicates that the method for FAO-56 hypothetical short grass will be applied (Allen et al., 1998, Equation 6); tall indicates that the method for ASCE-EWRI Standardised crop will be applied (ASCE, 2005, Equation 1, Table 1). Default is short.

message

Must be either yes or no, indicating whether message should be printed for calculation summary including the following elements: - ET model name and ET quantity estimated - Evaporative surface with values of albedo, surface resistance, crop height and roughness height - Option for calculating solar radiation (i.e. the value of argument solar) - If actual wind data has been used for calculation (i.e. the value of argument wind) - Time step of the output ET estimates (i.e. the value of argument ts) - Units of the output ET estimates - Time duration of the ET estimation - Number of ET estimates obtained in the entire time-series - Basic statistics of the estimated ET time-series including mean, max and min values.

AdditionalStats

"yes" or "no" indicating whether monthly averaged and annual averaged ET should be calculated.

save.csv

Must be either yes or no, indicating whether a .csv of ET estimates should be saved to working directory.

Dummy for generic function, no need to define.

Value

The function generates a list containing the following components:

ET.Daily

Daily aggregated estimations of Penman-Monteith rerference crop evapotranspiration.

ET.Monthly

Monthly aggregated estimations of Penman-Monteith rerference crop evapotranspiration.

ET.Annual

Annually aggregated estimations of Penman-Monteith rerference crop evapotranspiration.

ET.MonthlyAve

Monthly averaged estimations of daily Penman-Monteith rerference crop evapotranspiration.

ET.AnnualAve

Annually averaged estimations of daily Penman-Monteith rerference crop evapotranspiration.

ET_formulation

Name of the formulation used which equals to either Penman-Monteith FAO56 or Penman-Monteith ASCE-EWRI Standardised.

ET_type

A character string containing the type of the estimation obtained which is Reference Crop Evapotranspiration.

message1

A message to inform the users about how solar radiation has been calculated by using which data.

message2

A message to inform the users about if actual wind data has been used in the calculations or alternative calculations has been performed without wind data.

Details

The alternative calculation options can be selected through arguments solar and wind, please see Arguments for details. User-defined evaporative surface is allowed through arguments crop, please see Arguments for details.

References

McMahon, T., Peel, M., Lowe, L., Srikanthan, R. & McVicar, T. 2012. Estimating actual, potential, reference crop and pan evaporation using standard meteorological data: a pragmatic synthesis. Hydrology and Earth System Sciences Discussions, 9, 11829-11910.

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, 6541.

Allen, R. G. 2005. The ASCE standardized reference evapotranspiration equation. Amer Society of Civil Engineers.

See Also

ET,processeddata,defaultconstants,constants

Examples

Run this code
# NOT RUN {
# Use processed existing data set and constants from kent Town, Adelaide
data("processeddata")
data("constants")

# Call ET.PenmanMonteith under the generic function ET
results <- ET.PenmanMonteith(processeddata, constants, ts="daily", solar="sunshine hours",
wind="yes", crop = "short", message="yes", AdditionalStats="yes", save.csv="no")
# }

Run the code above in your browser using DataLab