Package 'sirad'

Title: Functions for Calculating Daily Solar Radiation and Evapotranspiration
Description: Calculating daily global solar radiation at horizontal surface using several well-known models (i.e. Angstrom-Prescott, Supit-Van Kappel, Hargreaves, Bristow and Campbell, and Mahmood-Hubbard), and model calibration based on ground-truth data, and (3) model auto-calibration. The FAO Penmann-Monteith equation to calculate evapotranspiration is also included.
Authors: Jedrzej S. Bojanowski
Maintainer: Jedrzej S. Bojanowski <[email protected]>
License: GPL-2
Version: 2.3-3
Built: 2024-11-11 06:15:53 UTC
Source: https://github.com/r-forge/sirad

Help Index


Functions for calculating daily solar radiation and evapotranspiration

Description

Calculates daily solar radiation at horizontal surface using several well-known models (Bristow-Campbell, Hargreaves, Supit-Van Kappel, Mahmood-Hubbard, Angrstrom-Prescott). It also includes functions for model calibration based on groud-truth data as well as a function for auto-calibration. The FAO Penmann-Monteith equation to calculate evapotranspiration is also included.

Details

Package: sirad
Type: Package
Version: 2.3-3
Date: 2016-10-17
License: GPL-2
LazyLoad: yes

Author(s)

Jedrzej S. Bojanowski

Maintainer: Jedrzej S. Bojanowski <[email protected]>

Examples

require(zoo)
data(Metdata)
A <- 0.21
B <- 0.57
sunshine <- Metdata$meteo$SUNSHINE
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
lon <- Metdata$LONGITUDE
plot(zoo(ap(days=days,lat=lat,lon=lon,extraT=NULL, A=A,B=B,SSD=sunshine),order.by=days))

Angstrom-Prescott solar radiation model

Description

Angstrom-Prescott model is used to calculate daily global irradiance for a horizontal surface based on sunshine duration.

Usage

ap(days, lat, lon, extraT=NULL, A=NA, B=NA, SSD)

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

Angstrom-Prescott model 'A' coefficient. If 'NA' then A is derived from the map of interpolated coefficients estimated from Meteosat solar radiation data. See details.

B

Angstrom-Prescott model 'B' coefficient. If 'NA' then B is derived from the map of interpolated coefficients estimated from Meteosat solar radiation data. See details.

SSD

Vector of length n containing sunshine duration [in hours].

Details

Model proposed by Angstrom (1924) and modified by Prescott (1940) assumed linear relationship between: (1) a proportion of bright sunshine hours and astronomical day length and (2) proportion of incoming daily global solar radiation and daily extra-terrestrial radiation. This linear relationship is described by empirical model coefficients: A - intercept, B - slope. Both astronomical day length and daily extra-terrestrial radiation are calculated within this function based on location and time. 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

SSD input can contain NA's, but length of vectors 'SSD' and 'days' has to be the identical.

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.
Angstrom, A., 1924. Solar and terrestrial radiation. Quarterly Journal of the Royal Meteorological Society, 50:121-125.
Prescott, J.A., 1940. Evaporation from a water surface in relation to solar radiation. Transactions of the Royal Society of South Australia, 64:114-118.

See Also

'apcal' to calibrate the model

Examples

require(zoo)
#A <- 0.21
#B <- 0.57
sunshine <- Metdata$meteo$SUNSHINE
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
lon <- Metdata$LONGITUDE
plot(zoo(ap(days,lat,lon, extraT=NULL,A=NA,B=NA,sunshine),order.by=days))

Calibrate Angstrom-Prescott model

Description

Function estimates Angstrom-Prescott model coefficients 'A' and 'B' based on reference data

Usage

apcal(lat, days, rad_mea,extraT=NULL, DL=NULL, SSD)

Arguments

lat

Latitude in decimal degrees.

days

Vector of class 'Date' of length n.

rad_mea

Vector of length n containing reference (e.g. measured) solar radiation [MJm-2].

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

DL

Optional. Vector of length n of day length [h]. If 'NULL' then it is calculated by the function. Providing day length speeds up the computation

SSD

Vector of length n containing sunshine duration [in hours].

Details

Function estimates Angstrom-Prescott model coefficients 'A' and 'B' based on reference (e.g. measured) solar radiation data. It performs a linear regression in which 'rad_mea' is dependent variable and a proporsion of 'SSD' and astronomical day length is an independent variable.

Value

Vector containing:

APa

Angstom-Prescott 'A' coefficient

APb

Angstom-Prescott 'B' coefficient

APr2

Coefficient of determination of performed linear regression

Author(s)

Jedrzej S. Bojanowski

References

Angstrom, A., 1924. Solar and terrestrial radiation. Quarterly Journal of the Royal Meteorological Society, 50:121-125.
Prescott, J.A., 1940. Evaporation from a water surface in relation to solar radiation. Transactions of the Royal Society of South Australia, 64:114-118.

See Also

'ap' to use Angstrom-Prescott model

Examples

## Calibrate the model based on measured data
data(Metdata)
sunshine <- Metdata$meteo$SUNSHINE
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
rad_mea <- Metdata$meteo$RAD_MEA
apcal(lat=lat,days=days,rad_mea,extraT=NULL,DL=NULL,SSD=sunshine)

Bristow-Campbell model

Description

'bc' calculates daily solar radiation based on daily temperature range using Bristow-Campbell model.

Usage

bc(days, lat, BCb,extraT=NULL, Tmax, Tmin, BCc = 2, tal)

Arguments

days

Vector of class 'Date' of length n.

lat

Latitude in decimal degrees.

BCb

Bristow-Campbell model coefficient 'B'.

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

Tmax

Vector of length n containing daily maximum temperature [C].

Tmin

Vector of length n containing daily minumum temperature [C].

BCc

Bristow-Campbell model coefficient 'C' usually equaled to 2.

tal

Clear sky transmissivity.

Details

Bristow and Campbell proposed a method for estimating solar radiation from air temperature measurements. They developed an empirical relationship to express the daily total atmospheric transmittance as a function of daily range in air temperature.

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

Bristow, K.L., Campbell, G.S. 1984. On the relationship between incoming solar radiation and daily maximum and minimum temperature. Agriculture and Forest Meteorology, 31:159-166.

See Also

'bccal' to calibrate model using reference data, 'bcauto' to perform auto-calibration, and 'ha' to use Hargreaves model to calculate solar radiation based on temperature range.

Examples

require(zoo)
data(Metdata)
B <- 0.11
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
plot(zoo(bc(days, lat, BCb=B,extraT=NULL, tmax, tmin, BCc=2, tal=0.76),order.by=days))

Auto-calibrate Bristow-Campbell model

Description

Function estimates Bristow-Campbell model coefficient 'B' based on auto-calibration procedure

Usage

bcauto(lat,lon,days,extraT=NULL,Tmax,Tmin,tal,BCc=2,
BCb_guess=0.13,epsilon=0.5,perce=NA,dcoast=NA)

Arguments

lat

Latitude in decimal degrees.

lon

Longitude in decimal degrees.

days

Vector of class 'Date' of length n.

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

Tmax

Vector of length n containing daily maximum temperature [C].

Tmin

Vector of length n containing daily minumum temperature [C].

tal

Clear sky transmissivity.

BCc

Bristow-Campbell model coefficient 'C' usually equaled to 2.

BCb_guess

Assumption of Bristow-Campbell coefficient. Default set to 0.13.

epsilon

A value of which potential radiation is decreased. See "details".

perce

Percent of clear days. In 'NA' then perce is estimated based on the Cloud Fraction Cover map.

dcoast

Distance to the coast [km].

Details

The auto-calibration method bases on the assumption that on the clear-sky days model should not overpredict potential values. To define those clear-sky days, we estimate daily solar radiation using Bristow and Campbell model with default values of B = 0.13 and tal = 0.72 and we select those days for which estimated daily solar radiation is the closest to the potential values (extraterrestrial*tal). The number of clear-sky days is estimated based on the mean Cloud Fraction Cover map. Next, based on selected clear-sky days, we perform a non-linear least squares regression to derive B coefficient treating potential values decreased by 'epsilon' as a reference solar radiation values. The analysis of auto-calibration results showed clear correlation between optimal 'epsilon' and distance to the coast. We proposed simplified method in which 'epsilon' is equal to 0.1 MJm-2 or to 0.5 MJm-2 when distance to the coast is smaller or bigger than 15 km respectively.

Value

BCb

Bristow-Campbell 'B' coefficient

Author(s)

Jedrzej S. Bojanowski

References

Bojanowski, J.S., Donatelli, M., Skidmore, A.K., Vrieling, A., 2013. An auto-calibration procedure for empirical solar radiation models Environmental Modelling and Software 49, 118-128.

See Also

'bc' to use Bristow-Campbell model, and 'bccal' to perform calibration based on reference data.

Examples

data(Metdata)
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
lon <- Metdata$LONGITUDE
rad_mea <- Metdata$meteo$RAD_MEA
dcoast <- Metdata$DCOAST

bcauto(lat,lon,days,extraT=NULL,tmax,tmin,perce=NA,dcoast)

Calibrate Bristow-Campbell model

Description

Function estimates Bristow-Campbell model coefficient 'B' based on reference data

Usage

bccal(lat, days, rad_mea,extraT=NULL,BCc=2,Tmax, Tmin, tal)

Arguments

lat

Latitude in decimal degrees.

days

Vector of class 'Date' of length n.

rad_mea

Vector of length n containing reference (e.g. measured) solar radiation [MJm-2].

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

BCc

Bristow-Campbell model coefficient 'C' usually equaled to 2.

Tmax

Vector of length n containing daily maximum temperature [C].

Tmin

Vector of length n containing daily minumum temperature [C].

tal

Clear sky transmissivity.

Details

Function estimates Bristow-Campbell model coefficient 'B' based on reference (e.g. measured) solar radiation data. It performs a non-linear least squeres regression.

Value

BCb

Bristow-Campbell 'B' coefficient

Author(s)

Jedrzej S. Bojanowski

References

Bristow, K.L., and G.S. Campbell. 1984. On the relationship between incoming solar radiation and daily maximum and minimum temperature. Agriculture and Forest Meteorology, 31:159-166.

See Also

'bc', and 'bcauto' to perform auto-calibration

Examples

data(Metdata)
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
rad_mea <- Metdata$meteo$RAD_MEA
bccal(lat,days,rad_mea,extraT=NULL,BCc=2,tmax,tmin, tal=0.76)

Estimate clear sky transmissivity

Description

Function estimates a clear sky transmissivity based on reference data (e.g. measured)

Usage

cst(RefRad, days, lat, extraT=NULL, perce = 3, sepYear = FALSE, stat='median')

Arguments

RefRad

Vector of length n of reference solar radiation data [MJm-2]

days

Vector of class 'Date' of length n.

lat

Latitude in radians

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

perce

Percent of days to be chosen as clear days

sepYear

Logical value. If 'TRUE' percent of days given by 'perce' of every single year are taken for calculation. If 'FALSE' percent of days given by 'perce' of all years are taken for calculation

stat

Method used to estimate final value of the clear sky transmissivity from the values derived from selected clear-sky days. Default is 'median' which is more conservative, while alternative 'max' is sensitive to outliers. If 'max' is used the value of 'perce' is not important. If 'stat' is numeric then (instead of 'median' or 'max') 'quantile' is used. 'Stat' is sent as quantile's 'probs' parameter. See ?quantile for details

Value

Numeric. Clear sky transmissivity.

Author(s)

Jedrzej S. Bojanowski

See Also

cstRead

Examples

data(Metdata)
ref <- Metdata$meteo$RAD_MEA
i <- dayOfYear(Metdata$meteo$DAY)
latr <- radians(Metdata$LATITUDE)
cst(ref,i,latr)

Read values of clear sky transmissivity

Description

Read values of clear sky transmissivity map for a given locations (in lat/lon)

Usage

cstRead(lat,lon)

Arguments

lat

Latitude in decimal degrees.

lon

Longitude in decimal degrees.

Value

Clear sky transmissivity

Author(s)

Jedrzej S. Bojanowski

See Also

'cst'

Examples

cstRead(50,16)

Convert 'Date' to number of day in a year

Description

Function gives a day number of the year (julian day of the year) based on the date in class 'Date'.

Usage

dayOfYear(dat)

Arguments

dat

Date in class 'Date'.

Value

Numeric number of day in a year.

Author(s)

Jedrzej S. Bojanowski

Examples

dayOfYear(as.Date("2009-01-11"))

Convert radians to degrees

Description

Converts radians to degrees

Usage

degrees(radians)

Arguments

radians

numeric

Value

Degrees.

Author(s)

Jedrzej S. Bojanowski

See Also

'radians'

Examples

degrees(0.95)

Slope of saturation vapour pressure curve

Description

'deltaVP' estimates the slope of saturation vapour pressure curve

Usage

deltaVP(Tmax,Tmin)

Arguments

Tmax

Vector of length n containing daily maximum temperature [C].

Tmin

Vector of length n containing daily minumum temperature [C].

Value

Slope of saturation vapour pressure curve [kPaC-1]

Author(s)

Jedrzej S. Bojanowski

References

Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. Irrigation and Drainage Paper 56, Food and Agriculture Organization of the United Nations, Rome, pp. 300.

Examples

deltaVP(Tmax=17,Tmin=16)

Mean saturation vapour pressure

Description

'es' calculates mean saturation vapour pressure based on air temperature.

Usage

es(Tmax,Tmin)

Arguments

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 mean saturation vapour pressure [kPa]

Author(s)

Jedrzej S. Bojanowski

References

Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. Irrigation and Drainage Paper 56, Food and Agriculture Organization of the United Nations, Rome, pp. 300.

Examples

es(Tmax=25.1,Tmin=19.1)

FAO Penman-Monteith evapotranspiration equation

Description

'et0' estimates evapotranspiration based on FAO Penman-Monteith equation

Usage

et0(Tmax,Tmin, vap_pres,sol_rad,tal,z,uz,meah=10,extraT=NA,days=NA,lat=NA)

Arguments

Tmax

Vector of length n containing daily maximum temperature [C].

Tmin

Vector of length n containing daily minumum temperature [C].

vap_pres

Vector of length n of mean daily vapour pressure [kPa].

sol_rad

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

tal

Clear sky transmissivity [0-1].

z

Altitude above the sea level [m].

uz

Wind speed measured at heith 'meah' [ms-1].

meah

The height (above the ground level) of the wind speed measurement [m].

extraT

Optional. Vector of length n of extraterrestrial solar radiation [MJm-2d-1]. If 'NA' then it is calculated by the function. Providing extraterrestrial solar radiation speeds up the computation.

days

Required only if extraT=NA. Vector of class 'Date' of length n.

lat

Required only if extraT=NA. Latitude in decimal degrees.

Value

Vector of length n of daily reference evapotranspiration. [mmd-1]

Author(s)

Jedrzej S. Bojanowski

References

Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. Irrigation and Drainage Paper 56, Food and Agriculture Organization of the United Nations, Rome, pp. 300.

Examples

data(Metdata)
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
vpres <- Metdata$meteo$VAP_PRES
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
rad_mea <- Metdata$meteo$RAD_MEA
z <- Metdata$ALTITUDE
wind <-  Metdata$meteo$WIND_10

tal <- cst(rad_mea,dayOfYear(Metdata$meteo$DAY),radians(Metdata$LATITUDE)) 

et0(Tmax=tmax,Tmin=tmin, vap_pres=vpres,sol_rad=rad_mea,tal=tal,z=Metdata$ALTITUDE,
uz=wind,meah=10,extraT=NA,days=days,lat=lat)

Calculate extraterrestrial solar radiation

Description

'extrat' calculates hourly and daily extraterrestrial solar radiation for a given time and location.

Usage

extrat(i, lat)

Arguments

i

day number in the year (julian day)

lat

latitude in radians

Details

Solar radiation outside of the earth's atmosphere is called extraterrestrial solar radiation. It can be calculated based on solar geometry.

Value

List of 3 elements:

ExtraTerrestrialSolarRadiationDaily

daily sum of extraterrestrial radiation [MJm-2]

TerrestrialSolarRadiationHourly

vector of length 24 of hourly sums of extraterrestrial radiation [MJm-2]

DayLength

day length in hours

Author(s)

Jedrzej S. Bojanowski

Examples

## extraterrestrial radiation and daylength for 1 January and latitude 55 degrees
extrat(dayOfYear("2011-01-01"), radians(55))

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

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

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))

Calibrate Hargreaves model

Description

Function estimates Hargreaves model coefficients 'A' and 'B' based on reference data

Usage

hacal(lat, days, rad_mea, extraT=NULL,tmax, tmin)

Arguments

lat

Latitude in decimal degrees.

days

Vector of class 'Date' of length n.

rad_mea

Vector of length n containing reference (e.g. measured) solar radiation [MJm-2].

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

tmax

Vector of length n containing daily maximum temperature [C].

tmin

Vector of length n containing daily minumum temperature [C].

Details

Function estimates Hargreaves model coefficients 'A' and 'B' based on reference (e.g. measured) solar radiation data. It performs a linear regression.

Value

Vector of length 3 containing:

Ha

Hargreaves 'A' coefficient

Hb

Hargreaves 'B' coefficient

Hr2

Coefficient of determination of performed linear regression

Author(s)

Jedrzej S. Bojanowski

References

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

See Also

'ha'

Examples

data(Metdata)
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
rad_mea <- Metdata$meteo$RAD_MEA
hacal(lat=lat,days=days,rad_mea,extraT=NULL,tmax=tmax, tmin=tmin)

Auto-calibrate Hargreaves model

Description

Function estimates Hargreaves model coefficients 'A' and 'B' based on autocalibration procedure

Usage

hauto(lat, lon, days,extraT = NULL, Tmax, Tmin, tal,
Ha_guess = 0.16, Hb_guess = 0.1, epsilon=0.5, perce = NA)

Arguments

lat

Latitude in decimal degrees.

lon

Longitude in decimal degrees.

days

Vector of class 'Date' of length n.

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

Tmax

Vector of length n containing daily maximum temperature [C].

Tmin

Vector of length n containing daily minumum temperature [C].

tal

Clear sky transmissivity.

Ha_guess

Assumption of Hargreaves Ha coefficient. Default set to 0.16.

Hb_guess

Assumption of Hargreaves Hb coefficient. Default set to 0.1.

epsilon

A value of which potential radiation is decreased. See "details".

perce

Percent of clear days. Default set to 1.

Details

The auto-calibration method bases on the assumption that on the clear-sky days model should not overpredict potential values. To define those clear-sky days, we estimate daily solar radiation using Hargreaves model with default values of A = 0.16, B = 0.1 and tal = 0.72 and we select those days for which estimated daily solar radiation is the closest to the potential values (extra-terrestrial*tal). The number of clear-sky days is estimated based on the mean Cloud Fraction Cover map. Next, based on selected clear-sky days, we perform a non-linear least squares regression to derive A and B coefficients treating potential values decreased by 'epsilon' as a reference solar radiation values. The analysis of auto-calibration results showed clear correlation between optimal 'epsilon' and distance to the coast. We proposed simplified method in which 'epsilon' is equal to 0.1 MJm-2 or to 0.5 MJm-2 when distance to the coast is smaller or bigger than 15 km respectively.

Value

Vector of length 3 containing:

Ha

Hargreaves 'A' coefficient

Hb

Hargreaves 'B' coefficient

Hr2

Coefficient of determination of performed linear regression

Author(s)

Jedrzej S. Bojanowski

References

Hargreaves, G.H., Samani, Z.A. 1892. Estimating potential evapotranspiration. J. Irrig. Darin. Eng., ASCE 108 (3), 225-230. Bojanowski, J.S., Donatelli, M., Skidmore, A.K., Vrieling, A., 2013. An auto-calibration procedure for empirical solar radiation models Environmental Modelling and Software 49, 118-128.

See Also

'hacal'

Examples

data(Metdata)
Tmax <- Metdata$meteo$TEMP_MAX
Tmin <- Metdata$meteo$TEMP_MIN
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
lon <- Metdata$LONGITUDE
hauto(lat,lon,days,extraT=NULL,Tmax,Tmin,tal=0.76)

Weather data

Description

This dataset contains two years of daily data of sunshine hours, solar radiation, minimum temperature, maximum temperature, cloud coverage, vapour pressure, and wind speed.

Usage

data(Metdata)

Format

NAME chr Name
LATITUDE numeric Latitude (decimal degree)
LONGITUDE numeric Longitude (decimal degree)
DCOAST numeric Distance to the coast (km)
ALTITUDE numeric Altitude above the sea level (m)
DAY Date Date
SUNSHINE numeric Sunshine (hours)
RAD_MEA numeric Solar radiation (MJm-2)
TEMP_MIN numeric Minimum temperature (degrees C)
TEMP_MAX numeric Maximum temperature (degrees C)
CLOUD_DAYTIME_TOTAL numeric Cloud coverage (octas)
VAP_PRES numeric Vapour pressure (kPa)
WIND_10 numeric Wind speed at 10 m height (ms-1)

Examples

data(Metdata)
str(Metdata)

Mahmood-Hubbard solar radiation model

Description

'mh()' calculates daily solar radiation based on daily temperature range using Mahmood-Hubbard model.

Usage

mh(days, lat, Tmax, Tmin)

Arguments

days

Vector of class 'Date' of length n.

lat

Latitude in decimal degrees.

Tmax

Vector of length n containing daily maximum temperature [C].

Tmin

Vector of length n containing daily minumum temperature [C].

Details

Mahmood and Hubbard proposed a method for estimating solar radiation from air temperature measurements without a need of calibraing empirical coefficients.

Value

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

Author(s)

Jedrzej S. Bojanowski

References

Mahmood, R., and K.G. Hubbard. 2002. Effect of time of temperature observation and estimation of daily solar radiation for the Northern Great Plains, USA. Agron. J., 94:723-733.

See Also

'bc' and 'ha' to calculate solar radiation based on temperature range using different models.

Examples

require(zoo)
data(Metdata)
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
plot(zoo(mh(days=days, lat=lat, Tmax=tmax, Tmin=tmin),order.by=days))

Model performance statistics.

Description

Function estimates several statistics comparing modelled and reference (measured) values.

Usage

modeval(calculated,measured,
stat=c("N","pearson","MBE","RMBE","MAE","RMAE","RMSE","RRMSE","R2","slope",
"intercept","EF","SD","CRM","MPE","AC","ACu","ACs"),minlength=4)

Arguments

calculated

Vector of length n of the calculated (modelled) values.

measured

Vector of length n of the reference (measured) values.

stat

Statistics which are going to be calculated. By default all possible.

minlength

Minimum number of non-NA data pairs. If below this value, the NA's are produced.

Details

The two input vectors can include NA's. Only non-NA calculated-mesured pairs are used. See 'na.omit' for details.

Value

List of 13 statistics:

N

number of observations

person

Pearson's Correlation Coefficient

MBE

Mean (Bias) Error

RMBE

Relative Mean (Bias) Error

MAE

Mean Absolute Error

RMAE

Relative Mean Absolute Error

RMSE

Root Mean Square Error

RRMSE

Relative Root Mean Square Error

R2

Coefficient of determination from linear model

slope

Slope from linear model

intercept

Intercept from linear model

EF

Modelling Efficiency

SD

Standard deviation of differences

CRM

Coefficient of Residual Mass

MPE

Mean Percentage Error

AC

Agreement Coefficient

ACu

Unsystematic Agreement Coefficient

ACs

Systematic Agreement Coefficient

Author(s)

Jedrzej S. Bojanowski

References

Bellocchi, G., Acutis, M., Fila, G., Donatelli, M., 2002. An indicator of solar radiation model performance based on a fuzzy expert system. Agronomy Journal 94, 1222-1233.
Ji, L., Gallo, K., 2006. An Agreement Coefficient for image comparison. Photogrammetric Engineering & Remote Sensing 72(7), 823-833.

Examples

data(Metdata)
B <- 0.11
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
solrad_measured <- Metdata$meteo$RAD_MEA
solrad_BC <- bc(days, lat, extraT=NULL, BCb=B, tmax, tmin, BCc=2, tal=0.76) 

modeval(solrad_BC,solrad_measured)
modeval(solrad_BC,solrad_measured,stat="EF")

Psychrometric constant

Description

'psychC' estimates the psychrometric constant.

Usage

psychC(Tmax,Tmin,z)

Arguments

Tmax

Vector of length n containing daily maximum temperature [C].

Tmin

Vector of length n containing daily minumum temperature [C].

z

Altitude above the sea level [m].

Value

Psychrometric constant [kPaC-1]

Author(s)

Jedrzej S. Bojanowski

References

Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. Irrigation and Drainage Paper 56, Food and Agriculture Organization of the United Nations, Rome, pp. 300.

Examples

psychC(17,16,1800)

Convert degrees to radians

Description

Converts degrees to radians

Usage

radians(degrees)

Arguments

degrees

numeric

Value

Radians.

Author(s)

Jedrzej S. Bojanowski

See Also

'degrees'

Examples

radians(55)

Net longwave radiation

Description

'rnl' computes daily net energy flux emitted by the Earth's surface.

Usage

rnl(Tmax,Tmin,sol_rad,vap_pres,extraT,tal)

Arguments

Tmax

Vector of length n containing daily maximum temperature [C].

Tmin

Vector of length n containing daily minumum temperature [C].

sol_rad

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

vap_pres

Vector of length n of mean daily vapour pressure [kPa].

extraT

Vector of length n of extraterrestrial solar radiation [MJm-2d-1].

tal

Clear sky transmissivity.

Details

According to the Stefan-Boltzmann law, the longwave energy emission is proportional to the absolute temperature of the surface raised to the fourth power. This longwave energy is corrected by two factors: humidity ('ea') and cloudiness (estimated based on relation of actual and potential solar radiation. See Allen et al. (1998) for details.

Value

Vector of length n of daily net longwave radiation. [MJm-2d-1]

Author(s)

Jedrzej S. Bojanowski

References

Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. Irrigation and Drainage Paper 56, Food and Agriculture Organization of the United Nations, Rome, pp. 300.

See Also

See 'ea', 'extrat' and 'cst' to calculate necessary input data.

Examples

rnl(Tmax=25.1,Tmin=19.1,sol_rad=14.5,vap_pres=2.1,extraT=23.5,tal=0.8)

Net shortwave radiation

Description

'rns' computes daily the net shortwave radiation. resulting from the balance between incoming and reflected solar radiation.

Usage

rns(sol_rad,albedo=0.23)

Arguments

sol_rad

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

albedo

Albedo or canopy reflection coefficient, which is 0.23 for the hypothetical grass reference crop [dimensionless].

Details

Daily net shortwave radiation results from the balance between incoming and reflected solar radiation.

Value

Vector of length n of daily net shortwave radiation. [MJm-2d-1]

Author(s)

Jedrzej S. Bojanowski

References

Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. Irrigation and Drainage Paper 56, Food and Agriculture Organization of the United Nations, Rome, pp. 300.

Examples

rns(sol_rad=14.5)

Supit-Van Kappel solar radiation model

Description

'su()' calculates daily solar radiation based on daily cloud coverage and temperature range using Supit-Van Kappel model.

Usage

su(days, lat, lon, extraT=NULL, A=NA, B=NA, C=NA, tmax, tmin, CC)

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

Supit-Van Kappel model coefficient 'A'. If 'NA' then A is derived from the map of interpolated coefficients estimated from Meteosat solar radiation data. See details.

B

Supit-Van Kappel model coefficient 'B'. If 'NA' then B is derived from the map of interpolated coefficients estimated from Meteosat solar radiation data. See details.

C

Supit-Van Kappel model coefficient 'C'. If 'NA' then C 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].

CC

Vector of length n containing daily cloud coverage [octas].

Details

Supit and Van Kappel proposed a method for estimating solar radiation from daily cloud coverage and temperature range. Model coefficients A, B and C (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

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

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.
Supit, I. 1994. Global radiation. Publication EUR 15745 EN of the Office for Official Publications of the EU, Luxembourg.
Supit, I., Kappel, R.R. van, 1998. A simple method to estimate global radiation. Solar Energy, 63:147-160.

See Also

'sucal' to calibrate the model.

Examples

require(zoo)
data(Metdata)
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
cc <- Metdata$meteo$CLOUD_DAYTIME_TOTAL
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
lon <- Metdata$LONGITUDE
plot(zoo(su(days=days, lat=lat, lon=lon, extraT=NULL, A=NA, B=NA, 
C=-NA, tmax=tmax, tmin=tmin, CC=cc),order.by=days))

Calibrate Supit-Van Kappel model

Description

Function estimates Supit-Van Kappel model coefficients 'A', 'B' and 'C' based on reference data

Usage

sucal(days, lat, rad_mea, extraT=NULL, tmax, tmin, cc)

Arguments

days

Vector of class 'Date' of length n.

lat

Latitude in decimal degrees.

rad_mea

Vector of length n containing reference (e.g. measured) solar radiation [MJm-2].

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

tmax

Vector of length n containing daily maximum temperature [C].

tmin

Vector of length n containing daily minumum temperature [C].

cc

Vector of length n containing daily cloud coverage [octas].

Details

Function estimates Supit-Van Kappel model coefficients 'A', 'B' and 'C' based on reference (e.g. measured) solar radiation data. It performs a linear regression.

Value

Vector of length 3:

Sa

Supit-Van Kappel 'A' coefficient

Sb

Supit-Van Kappel 'B' coefficient

Sc

Supit-Van Kappel 'C' coefficient

Sr2

Coefficient of determination of performed linear regression

Author(s)

Jedrzej S. Bojanowski

References

Supit, I. 1994. Global radiation. Publication EUR 15745 EN of the Office for Official Publications of the EU, Luxembourg.
Supit, I., Kappel, R.R. van, 1998. A simple method to estimate global radiation. Solar Energy, 63:147-160.

See Also

'su'.

Examples

data(Metdata)
tmax <- Metdata$meteo$TEMP_MAX
tmin <- Metdata$meteo$TEMP_MIN
days <- Metdata$meteo$DAY
lat <- Metdata$LATITUDE
rad_mea <- Metdata$meteo$RAD_MEA
CC <- Metdata$meteo$CLOUD_DAYTIME_TOTAL
sucal(lat=lat,days=days,rad_mea, extraT=NULL,tmax=tmax, tmin=tmin,cc=CC)

Convert wind speed measured at a certain height to the wind speed at 2 meters

Description

'wind2' converts a wind speed measured at a certain height 'z' above the ground level to the wind speed at the standard height (2 meters)

Usage

wind2(uz,meah)

Arguments

uz

Wind speed measured at heith 'z' [ms-1].

meah

The height (above the ground level) of the wind speed measurement [m].

Details

Wind speed is slowest at the surface and increases with height. The measurements taken at different heights avove the ground level must be standardized to 2 meters (default in agrometeorology).

Value

Wind speed at standard 2 meters. [ms-1]

Author(s)

Jedrzej S. Bojanowski

References

Allen, R.G., L.S. Pereira, D. Raes, and M. Smith. 1998. Crop Evapotranspiration: Guidelines for computing crop water requirements. Irrigation and Drainage Paper 56, Food and Agriculture Organization of the United Nations, Rome, pp. 300.

Examples

wind2(uz=5,meah=10)