Implementing the Brutsaert-Strickler formulation for actual areal evapotranspiration
# S3 method for BrutsaertStrickler
ET(data, constants, ts="daily", solar="sunshine hours", alpha=0.23, …)
A list of data which contains the following items (climate variables) required by Brutsaert-Strickler formulation: Tmax, Tmin, RHmax, RHmin, Rs or n or Cd, u2 or uz
A list named constants
consists of constants required for the calculation of Brutsaert-Strickler 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.
The following constants are also required when argument solar
has value of sunshine hours
:
as - fraction of extraterrestrial radiation reaching earth on sunless days,
bs - difference between fracion of extraterrestrial radiation reaching full-sun days and that on sunless days.
Must be either daily
, monthly
or annual
, which indicates the disired time step that the output ET estimates should be on.
Default is daily
.
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
.
Any numeric value between 0 and 1 (dimensionless), albedo of the evaporative surface representing the portion of the incident radiation that is reflected back at the surface. Default is 0.23 for surface covered with short reference crop.
Dummy for generic function, no need to define.
The function prints a calculation summary to the screen containing 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
)
- 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.
The function also generates a list containing the following components, which is saved into a csv
file named as ET_BrutsaertStrickler.csv in the working directory:
Daily aggregated estimations of Brutsaert-Strickler actual areal evapotranspiration.
Monthly aggregated estimations of Brutsaert-Strickler actual areal evapotranspiration.
Annually aggregated estimations of Brutsaert-Strickler actual areal evapotranspiration.
Monthly averaged estimations of daily Brutsaert-Strickler actual areal evapotranspiration.
Annually averaged estimations of daily Brutsaert-Strickler actual areal evapotranspiration.
Name of the formulation used which equals to Brutsaert-Strickler
.
Type of the estimation obtained which is Actual Areal Evapotranspiration
.
A message to inform the users about how solar radiation has been calculated by using which data.
The alternative calculation options can be selected through argument solar
, please see Arguments
for details.
User-defined evaporative surface is allowed through argument alpha
, please see Arguments
for details.
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.
# NOT RUN {
# Use processed existing data set and constants from kent Town, Adelaide
data("processeddata")
data("constants")
# Call ET.BrutsaertStrickler under the generic function ET
results <- ET.BrutsaertStrickler(data, constants, ts="daily", solar="sunshine hours", alpha=0.23)
# }
Run the code above in your browser using DataLab