Learn R Programming

solaR (version 0.23)

A3_calcGef: 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',
        prev,
        prom=list(),
        mapa=list(),
        bd=list(),
        bdI=list(),
        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 'fixed', 'two' or 'horiz'. When modeTrk='fixed' the surface is fixed (inclination and azimuth angles are constant). The performance of a two-axis tracker is calculated with <
modeRad, prom, mapa, bd, bdI
Information about the source data of the global irradiation. See calcG0 for details.
prev
A G0 object (or something that can be coerced to a G0 object). It is used when modeRad='prev'.
sample, keep.night
See calcSol for details.
sunGeometry
character, method for the sun geometry calculations. See calcSol, fSolD and fSolI.
corr, f
See calcG0 for details.
beta
numeric, inclination angle of the surface (degrees). It is only needed when modeTrk='fixed'.
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 positive to the West. It is only needed when modeTrk='fixed'. Its default value is alfa=0
iS
integer, degree of dirtiness. Its value must be included in the set (1,2,3,4). iS=1 corresponds to a clean surface while iS=4 is the selection for a dirty surface. Its default value is 2.
alb
numeric, albedo reflection coefficient. Its default value is 0.2
modeShd, struct, distances
See calcShd for details.
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.

encoding

UTF-8

References

Perpiñán, O, Energía Solar Fotovoltaica, 2011. (http://procomun.wordpress.com/documentos/libroesf/)

See Also

calcG0, fTheta, fInclin, calcShd.

Examples

Run this code
###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=37.2, modeRad='prom', prom=list(G0dm=G0dm, Ta=Ta))
print(gef)
xyplot(gef)

##Two-axis surface, no limitation angle.

gef2<-calcGef(lat=37.2, modeRad='prom', prom=list(G0dm=G0dm, Ta=Ta), modeTrk='two')
print(gef2)
xyplot(gef2)

###Irradiation data from mapa.es/siar

##Fixed surface

gefMapa<-calcGef(lat=41,
             modeRad='mapa',
             mapa=list(prov=28,est=3,
               start='01/01/2009', end='31/12/2009'),
             keep.night=FALSE)
print(gefMapa)
xyplot(gefMapa)
##Two-axis tracker, using the previous result.
##'gefMapa' is internally coerced to a 'G0' object.

gefMapa2<-calcGef(lat=41, modeRad='prev', prev=gefMapa, modeTrk='two')
print(gefMapa2)
xyplot(gefMapa2)

###Shadows between two-axis trackers, again using the gefMapa result.

struct=list(W=23.11, L=9.8, Nrow=2, Ncol=8)
distances=data.frame(Lew=40, Lns=30, H=0)

gefShd<-calcGef(lat=41, modeRad='prev',
                prev=gefMapa, modeTrk='two',
                modeShd=c('area', 'prom'),
                struct=struct, distances=distances)
print(gefShd)
##The Gef0, Bef0 and Def0 values are the same as those contained in the
##                gefMapa2 object

Run the code above in your browser using DataLab