| C_local2Solar {solaR} | R Documentation |
Local time, mean solar time and UTC time zone.
Description
The function local2Solar converts the time zone of a POSIXct object to
the mean solar time and set its time zone to UTC as a synonym of mean
solar time. It includes two corrections:
the difference of longitudes between the location and the time zone, and
the daylight saving time.
The function CBIND combines several objects (zoo,
data.frame or matrix) preserving
the index of the first of them or asigning a new one with the
index argument.
The function lonHH calculates the longitude (radians) of a time zone.
Usage
local2Solar(x, lon = NULL)
CBIND(..., index = NULL)
lonHH(tz)
Arguments
x |
a |
lon |
A numeric value of the longitude (degrees) of the
location. If |
... |
A set of |
index |
A |
tz |
A character, a time zone as documented in https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. |
Details
Since the result of local2Solar is the mean solar time, the
Equation of Time correction is not calculated with this function. The
fSolI function includes this correction if desired.
If the index argument of CBIND is NULL (default)
the first object of ... must be a zoo object.
Value
The function local2Solar produces a POSIXct object
with its time zone set to UTC.
The function CBIND produces a zoo object.
The function lonHH gives a numeric value.
Note
It is important to note that the solaR package sets the system
time zone to UTC with Sys.setenv(TZ = 'UTC').
Every zoo object created by the package will have an index with this
time zone and will be supposed to be mean solar time.
Author(s)
Oscar Perpiñán Lamigueiro.
References
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
Examples
t.local <- as.POSIXct("2006-01-08 10:07:52", tz = 'Europe/Madrid')
##The local time zone and the location have the same longitude (15 degrees)
local2Solar(t.local)
##But Madrid is at lon = -3
local2Solar(t.local, lon = -3)
##Daylight saving time
t.local.dst <- as.POSIXct("2006-07-08 10:07:52", tz = 'Europe/Madrid')
local2Solar(t.local.dst)
local2Solar(t.local.dst, lon = -3)
## Not run:
##Extracted from an example of calcG0
##NREL-MIDC
##La Ola, Lanai
##Latitude: 20.76685o North
##Longitude: 156.92291o West
##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'))
head(idxLocal)
idx <- local2Solar(idxLocal, lon = -156.9339)
head(idx)
## End(Not run)