Learn R Programming

sirad (version 2.3-3)

ha: Hargreaves solar radiation model

Description

'ha()' calculates daily solar radiation based on daily temperature range using Hargreaves model.

Usage

ha(days, lat, lon, extraT=NULL, A=NA, B=NA, Tmax, Tmin)

Arguments

days
Vector of class 'Date' of length n.
lat
Latitude in decimal degrees.
lon
Longitude in decimal degrees.
extraT
Optional. Vector of length n of extraterrestrial solar radiation [MJm-2]. If 'NULL' then it is calculated by the function. Providing extraterrestrial solar radiation speeds up the computation
A
Hargreaves model coefficient 'A'. If 'NA' then A is derived from the map of interpolated coefficients estimated from Meteosat solar radiation data. See details.
B
Hargreaves model coefficient 'B'. If 'NA' then B is derived from the map of interpolated coefficients estimated from Meteosat solar radiation data. See details.
Tmax
Vector of length n containing daily maximum temperature [C].
Tmin
Vector of length n containing daily minumum temperature [C].

Value

Vector of length n of daily solar radiation [MJm-2].

Details

Hargreaves proposed a method for estimating solar radiation from air temperature measurements. Model coefficients A and B (if not provided) are derived from interpolated Meteosat-based coefficients from Bojanowski et al. 2013.

References

Bojanowski, J.S., Vrieling, A., Skidmore, A.K., 2013. Calibration of solar radiation models for Europe using Meteosat Second Generation and weather station data. Agricultural and Forest Meteorology 176:1-9.

Hargreaves, G.H., Samini, Z.A.. 1892. Estimating potential evapotranspiration. J. Irrig. Darin. Eng., ASCE 108 (3), 225-230.

See Also

'hacal' to calibrate model using reference data, 'bc' to use Bristow-Campbell model to calculate solar radiation based on temperature range.

Examples

Run this code
require(zoo)
data(Metdata)
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
lon <- Metdata$LONGITUDE
plot(zoo(ha(days, lat, lon, extraT=NULL, A=NA, B=NA, Tmax=tmax, Tmin=tmin),order.by=days))

Run the code above in your browser using DataLab