Hargreaves solar radiation model

Share:

Description

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

Usage

1
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].

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.

Value

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

Note

'Tmax', 'Tmin' can contain NA's, but length of vectors 'Tmax', 'Tmin' and 'days' has to be the same.

Author(s)

Jedrzej S. Bojanowski

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

1
2
3
4
5
6
7
8
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))