Learn R Programming

solaR (version 0.37)

C_fCompD: Components of daily global solar irradiation on a horizontal surface

Description

Extract the diffuse and direct components from the daily global irradiation on a horizontal surface by means of regressions between the clearness index and the diffuse fraction parameters.

Usage

fCompD(sol, G0d, corr = "CPR",f)

Arguments

sol
A Sol object from calcSol or a zoo object from fSolD. Both of them include a component named Bo0d, which stands
G0d
A Meteo object from readG0dm, readBD, readSIAR, or a zoo object containing da
corr
A character, the correlation between the the fraction of diffuse irradiation and the clearness index to be used.

With this version several options are available, as described in corrFdKt. For

f
A function defininig a correlation between the fraction of diffuse irradiation and the clearness index. It is only neccessary when corr='user'

Value

  • A zoo object which includes:
  • Fdnumeric, the diffuse fraction
  • Ktdnumeric, the clearness index
  • G0dnumeric, the global irradiation on a horizontal surface (Wh/m²)
  • D0dnumeric, the diffuse irradiation on a horizontal surface (Wh/m²)
  • B0dnumeric, the direct irradiation on a horizontal surface (Wh/m²)

encoding

UTF-8

References

  • Perpiñán, O, Energía Solar Fotovoltaica, 2012. (http://procomun.wordpress.com/documentos/libroesf/)
  • Perpiñán, O. (2012), "solaR: Solar Radiation and Photovoltaic Systems with R", Journal of Statistical Software, 50(9), 1-32,http://www.jstatsoft.org/v50/i09/

See Also

fCompI

Examples

Run this code
lat=37.2;
BTd=fBTd(mode='serie')

SolD<-fSolD(lat, BTd[100])

G0d=zoo(5000, index(SolD))
fCompD(SolD, G0d, corr = "Page")
fCompD(SolD, G0d, corr = "CPR")

#define a function fKtd with the correlation of CPR
fKTd=function(x){(0.99*(x<=0.17))+
                 (x>0.17)*(1.188-2.272*x+9.473*x^2-21.856*x^3+14.648*x^4)}
#The same as with corr="CPR"
fCompD(SolD,G0d, corr="user",f=fKTd)

lat=-37.2;
SolDs<-fSolD(lat, BTd[283])
G0d=zoo(5000, index(SolDs))
fCompD(SolDs, G0d, corr = "CPR")

lat=37.2;
G0dm=c(2.766,3.491,4.494,5.912,6.989,7.742,7.919,7.027,5.369,3.562,2.814,2.179)*1000;
Rad=readG0dm(G0dm, lat=lat)
solD<-fSolD(lat,fBTd(mode='prom'))
fCompD(solD, Rad, corr = 'Page')

Run the code above in your browser using DataLab