A3_calcGef {solaR} | R Documentation |
Irradiation and irradiance on the generator plane.
Description
This function obtains the global, diffuse and direct irradiation and
irradiance on the generator plane from the values of daily or intradaily global
irradiation on the horizontal plane. It makes use of the functions
calcG0
, fTheta
,
fInclin
. Besides, it can calculate the shadows effect with
the calcShd
function.
Usage
calcGef(lat,
modeTrk = 'fixed',
modeRad = 'prom',
dataRad,
sample = 'hour',
keep.night = TRUE,
sunGeometry = 'michalsky',
corr, f,
betaLim = 90, beta = abs(lat)-10, alfa = 0,
iS = 2, alb = 0.2, horizBright = TRUE, HCPV = FALSE,
modeShd = '',
struct = list(),
distances = data.frame(),
...)
Arguments
lat |
numeric, latitude (degrees) of the point of the Earth where calculations are needed. It is positive for locations above the Equator. |
modeTrk |
character, to be chosen from |
modeRad , dataRad |
Information about the source data of the
global irradiation. See |
sample , keep.night |
See |
sunGeometry |
|
corr , f |
See |
beta |
numeric, inclination angle of the surface
(degrees). It is only needed when |
betaLim |
numeric, maximum value of the inclination angle for a tracking surface. Its default value is 90 (no limitation)) |
alfa |
numeric, azimuth angle of the surface (degrees). It is
measured from the south ( |
iS |
integer, degree of dirtiness. Its value must be included in
the set (1,2,3,4). |
alb |
numeric, albedo reflection coefficient. Its default value is 0.2 |
modeShd , struct , distances |
See |
horizBright |
logical, if TRUE, the horizon brightness correction proposed by Reind et al. is used. |
HCPV |
logical, if TRUE the diffuse and albedo components of the effective irradiance are set to zero. HCPV is the acronym of High Concentration PV system. |
... |
Value
A Gef
object.
Author(s)
Oscar Perpiñán Lamigueiro.
References
Hay, J. E. and McKay, D. C.: Estimating Solar Irradiance on Inclined Surfaces: A Review and Assessment of Methodologies. Int. J. Solar Energy, (3):pp. 203, 1985.
Martin, N. and Ruiz, J.M.: Calculation of the PV modules angular losses under field conditions by means of an analytical model. Solar Energy Materials & Solar Cells, 70:25–38, 2001.
D. T. Reindl and W. A. Beckman and J. A. Duffie: Evaluation of hourly tilted surface radiation models, Solar Energy, 45:9-17, 1990.
Perpiñán, O, Energía Solar Fotovoltaica, 2015. (https://oscarperpinan.github.io/esf/)
Perpiñán, O. (2012), "solaR: Solar Radiation and Photovoltaic Systems with R", Journal of Statistical Software, 50(9), 1-32, doi: 10.18637/jss.v050.i09
See Also
calcG0
,
fTheta
,
fInclin
,
calcShd
.
Examples
lat <- 37.2
###12 Average days.
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;
Ta = c(10, 14.1, 15.6, 17.2, 19.3, 21.2, 28.4, 29.9, 24.3, 18.2, 17.2,
15.2)
##Fixed surface, default values of inclination and azimuth.
gef <- calcGef(lat = lat, modeRad = 'prom', dataRad = list(G0dm = G0dm, Ta = Ta))
print(gef)
xyplot(gef)
##Two-axis surface, no limitation angle.
gef2 <- calcGef(lat = lat, modeRad = 'prom',
dataRad = list(G0dm = G0dm, Ta = Ta),
modeTrk = 'two')
print(gef2)
xyplot(gef2)
struct = list(W = 23.11, L = 9.8, Nrow = 2, Ncol = 8)
distances = data.frame(Lew = 40, Lns = 30, H = 0)
gefShd <- calcGef(lat = lat, modeRad = 'prom',
dataRad = list(G0dm = G0dm, Ta = Ta),
modeTrk = 'two',
modeShd = c('area', 'prom'),
struct = struct, distances = distances)
print(gefShd)
## Not run:
##Fixed surface using Aguiar method
gefAguiar <- calcGef(lat = lat, modeRad = 'aguiar', dataRad = G0dm)
##Two-axis tracker, using the previous result.
##'gefAguiar' is internally coerced to a 'G0' object.
gefAguiar2 <- calcGef(lat = lat, modeRad = 'prev', dataRad = gefAguiar, modeTrk = 'two')
print(gefAguiar2)
xyplot(gefAguiar2)
###Shadows between two-axis trackers, again using the gefAguiar result.
struct = list(W = 23.11, L = 9.8, Nrow = 2, Ncol = 8)
distances = data.frame(Lew = 40, Lns = 30, H = 0)
gefShdAguiar <- calcGef(lat = lat, modeRad = 'prev',
dataRad = gefAguiar, modeTrk = 'two',
modeShd = c('area', 'prom'),
struct = struct, distances = distances)
print(gefShdAguiar)
## End(Not run)