Learn R Programming

solaR (version 0.37)

A2_calcG0: Irradiation and irradiance on the horizontal plane.

Description

This function obtains the global, diffuse and direct irradiation and irradiance on the horizontal plane from the values of daily and intradaily global irradiation on the horizontal plane. It makes use of the functions calcSol, fCompD, fCompI, fBTd and readBD (or equivalent).

Besides, if information about maximum and minimum temperatures values are available it obtains a series of temperature values with fTemp.

Usage

calcG0(lat, modeRad='prom', dataRad, prom, mapa, bd,
bdI, sample='hour', keep.night=TRUE, sunGeometry='michalsky',
corr, f)

Arguments

lat
numeric, latitude (degrees) of the point of the Earth where calculations are needed. It is positive for locations above the Equator.
modeRad
A character string, describes the kind of source data of the global irradiation and ambient temperature.

It can be modeRad='prom' for monthly mean calculations. With this option, a set of 12 values inside dataRad mus

dataRad
  • IfmodeRad='prom'ormodeRad='aguiar', a numeric with 12 values or a named list whose components will be processed withreadG0dm.
If modeRad='bd'

Value

  • A G0 object.

encoding

UTF-8

item

  • prom, mapa, bd, bdI
  • sample
  • keep.night
  • sunGeometry
  • corr
  • f

code

corr='user'

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/
  • Aguiar, Collares-Pereira and Conde, "Simple procedure for generating sequences of daily radiation values using a library of Markov transition matrices", Solar Energy, Volume 40, Issue 3, 1988, Pages 269–279

See Also

calcSol, fCompD, fCompI, readG0dm, readBD, readBDi, readSIAR, corrFdKt.

Examples

Run this code
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)

g0 <- calcG0(lat=37.2, modeRad='prom', dataRad=list(G0dm=G0dm, Ta=Ta))
print(g0)
xyplot(g0)

## Aguiar et al.

g0 <- calcG0(lat=37.2, modeRad='aguiar', dataRad=G0dm)
print(g0)
xyplot(g0)

##Now the G0I component of g0 is used as
##the bdI argument to calcG0 in order to
##test the intradaily correlations of fd-kt

BDi=as.zooI(g0)
BDi$Ta=25 ##Information about temperature must be contained in BDi

g02 <- calcG0(lat=37.2,
            modeRad='bdI',
            dataRad=list(lat=37.2, file=BDi),
            corr='none')

print(g02)

g03 <- calcG0(lat=37.2,
            modeRad='bdI',
            dataRad=list(lat=37.2, file=BDi),
            corr='BRL')
print(g03)

xyplot(fd~kt, data=g03, pch=19, alpha=0.3)

##NREL-MIDC
##La Ola, Lanai
##Latitude: 20.76685o North
##Longitude: 156.92291o West
##Elevation: 381 meters AMSL
##Time Zone: -10.0

NRELurl <- 'http://goo.gl/fFEBN'

dat <- read.table(NRELurl, header=TRUE, sep=',')
names(dat) <- c('date', 'hour', 'G0', 'B', 'D0', 'Ta')

##B is direct normal. We need direct horizontal.
dat$B0 <- dat$G0-dat$D0

##http://www.nrel.gov/midc/la_ola_lanai/instruments.html:
##The datalogger program runs using Greenwich Mean Time (GMT),
##data is converted to Hawaiin Standard Time (HST) after data collection
idxLocal <- with(dat, as.POSIXct(paste(date, hour), format='%m/%d/%Y %H:%M', tz='HST'))
idx <- local2Solar(idxLocal, lon=-156.9339)

NRELMeteo <- zoo(dat[,c('G0', 'D0', 'B0', 'Ta')], idx)

lat=20.77

g0 <- calcG0(lat=lat, modeRad='bdI', dataRad=NRELMeteo, corr='none')
xyplot(g0)
xyplot(as.zooI(g0), superpose=TRUE)

g02 <- calcG0(lat=lat, modeRad='bdI', dataRad=NRELMeteo, corr='BRL')
xyplot(g02)
xyplot(as.zooI(g02), superpose=TRUE)
xyplot(fd~kt, data=g02, pch=19, cex=0.5, alpha=0.5)

g03 <- calcG0(lat=lat, modeRad='bdI', dataRad=NRELMeteo, corr='CLIMEDh')
xyplot(g03)
xyplot(as.zooI(g03), superpose=TRUE)
xyplot(fd~kt, data=g03, pch=19, cex=0.5, alpha=0.5)

Run the code above in your browser using DataLab