Learn R Programming

solaR (version 0.46)

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 for the extra-atmospheric daily irradiation incident on a horizontalsurface

G0d

A Meteo object from readG0dm, readBD, or a zoo object containing daily global irradiation (Wh/m<U+00B2>) on a horizontal surface. See below for corr = 'none'.

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 example, the FdKtPage is selected with corr = 'Page' and the FdKtCPR with corr = 'CPR'.

If corr = 'user' the use of a correlation defined by a function f is possible.

If corr = 'none' the G0d object should include information about global, diffuse and direct daily irradiation with columns named G0d, D0d and B0d, respectively.

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:

Fd

numeric, the diffuse fraction

Ktd

numeric, the clearness index

G0d

numeric, the global irradiation on a horizontal surface (Wh/m<U+00B2>)

D0d

numeric, the diffuse irradiation on a horizontal surface (Wh/m<U+00B2>)

B0d

numeric, the direct irradiation on a horizontal surface (Wh/m<U+00B2>)

References

  • Perpi<U+00F1><U+00E1>n, O, Energ<U+00ED>a Solar Fotovoltaica, 2015. (https://oscarperpinan.github.io/esf/)

  • Perpi<U+00F1><U+00E1>n, O. (2012), "solaR: Solar Radiation and Photovoltaic Systems with R", Journal of Statistical Software, 50(9), 1-32, 10.18637/jss.v050.i09

See Also

fCompI

Examples

Run this code
# NOT RUN {
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