Implementing the Jensen-Haise formulation for estimating potential evapotranspiration.
# S3 method for JensenHaise
ET(data, constants, ts="daily", solar="sunshine hours",
message="yes", AdditionalStats="yes", save.csv="yes", …)
A list of data which contains the following items (climate variables) required by Jensen-Haise formulation: Tmax, Tmin, Rs or n or Cd Tmax, Tmin (degree Celcius), Rs (Megajoules per sqm) or n (hour) or Cd (okta)
A list named constants
consists of constants required for the calculation of Jensen-Haise 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.
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
.
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
- 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.
"yes" or "no" indicating whether monthly averaged and annual averaged ET should be calculated.
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.
The function also generates a list containing the following components:
Daily aggregated estimations of Jensen-Haise potential evapotranspiration.
Monthly aggregated estimations of Jensen-Haise potential evapotranspiration.
Annually aggregated estimations of Jensen-Haise potential evapotranspiration.
Monthly averaged estimations of daily Jensen-Haise potential evapotranspiration.
Annually averaged estimations of daily Jensen-Haise potential evapotranspiration.
Name of the formulation used which equals to Jensen-Haise
.
Type of the estimation obtained which is Potential Evapotranspiration
.
This formulation provides a single calculation method with no alternatives available.
Jensen, M.E.Haise, H.R. 1963, Estimating evapotranspiration from solar radiation. Proceedings of the American Society of Civil Engineers, Journal of the Irrigation and Drainage Division, vol. 89, pp. 15-41.
Prudhomme, C.Williamson, J. 2013, Derivation of RCM-driven potential evapotranspiration for hydrological climate change impact analysis in Great Britain: a comparison of methods and associated uncertainty in future projections. Hydrol. Earth Syst. Sci., vol. 17, no. 4, pp. 1365-1377.
Xu, C.Y.Singh, V.P. 2000, Evaluation and generalization of radiation-based methods for calculating evaporation., Hydrological Processes, vol. 14, no. 2, pp. 339-349.
# NOT RUN {
# Use processed existing data set and constants from kent Town, Adelaide
data("processeddata")
data("constants")
# Call ET.JensenHaise under the generic function ET
results <- ET.JensenHaise(data, constants, ts="daily", solar="sunshine hours",
message="yes",AdditionalStats="yes", save.csv="yes")
# }
Run the code above in your browser using DataLab