Description Usage Arguments Value Note Author(s) References Examples
Compute the daily apparent movement of the Sun from the Earth. This movement is mainly described (for the simulation of photovoltaic systems) by the declination angle, the sunrise angle and the daily extra-atmospheric irradiation.
1 | fSolD(lat, BTd, method = 'michalsky')
|
lat |
Latitude (degrees) of the point of the Earth where calculations are needed. It is positive for locations above the Equator. |
BTd |
Daily temporal base, a |
method |
|
A zoo
object with these components:
decl |
Declination angle (radians) for each day of year in |
eo |
Factor of correction due the eccentricity of orbit of the Earth around the Sun. |
ws |
Sunrise angle (in radians) for each day of year. Due to the convention which considers that the solar hour angle is negative before midday, this angle is negative. |
Bo0d |
Extra-atmospheric daily irradiation (watt-hour per squared meter) incident on a horizontal surface |
EoT |
Equation of Time. |
The latitude is stored as the attribute lat
of the result,
and thus it is accessible with attr(object, 'lat')
.
Oscar Perpiñán Lamigueiro.
Cooper, P.I., Solar Energy, 12, 3 (1969). "The Absorption of Solar Radiation in Solar Stills"
Spencer, Search 2 (5), 172, https://www.mail-archive.com/sundial@uni-koeln.de/msg01050.html
Michalsky, J., 1988: The Astronomical Almanac's algorithm for approximate solar position (1950-2050), Solar Energy 40, 227-235
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | BTd <- fBTd(mode = 'serie')
lat <- 37.2
fSolD(lat, BTd[100])
fSolD(lat, BTd[100], method = 'strous')
fSolD(lat, BTd[100], method = 'spencer')
fSolD(lat, BTd[100], method = 'cooper')
lat <- -37.2
fSolD(lat, BTd[283])
#Solar angles along the year
SolD <- fSolD(lat, BTd = fBTd())
library(lattice)
xyplot(SolD)
#Calculation of the daylength for several latitudes
library(latticeExtra)
Lats <- c(-60, -40, -20, 0, 20, 40, 60)
NomLats <- ifelse(Lats > 0, paste(Lats,'N', sep = ''),
paste(abs(Lats), 'S', sep = ''))
NomLats[Lats == 0] <- '0'
mat <- matrix(nrow = 365, ncol = length(Lats))
colnames(mat) <- NomLats
WsZ <- zoo(mat, fBTd(mode = 'serie'))
for (i in seq_along(Lats)){
SolDaux <- fSolD(lat = Lats[i], BTd = fBTd(mode = 'serie'));
WsZ[,i] <- r2h(2*abs(SolDaux$ws))}
p = xyplot(WsZ, superpose = TRUE,
ylab = expression(omega[s] (h)), auto.key = FALSE)
plab <- p+glayer(panel.text(x[1], y[1], NomLats[group.number], pos = 2))
print(plab)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.