Calculate the local time at the target location, as well as sunrise, sunset and solar noon times, and create several temporal masks.
timezone is provided it will be used. Otherwise, the
MazamaSpatialUtils package will be used to determine the timezone from
The returned dataframe will have as many rows as the length of the incoming
time vector and will contain the following columns:
localStdTime_UTC – UTC representation of local standard time
daylightSavings – logical mask = TRUE if daylight savings is in effect
localTime – local clock time
sunrise – time of sunrise on each localTime day
sunset – time of sunset on each localTime day
solarnoon – time of solar noon on each localTime day
day – logical mask = TRUE between sunrise and sunset
morning – logical mask = TRUE between sunrise and solarnoon
afternoon – logical mask = TRUE between solarnoon and sunset
night – logical mask = opposite of day
POSIXct vector with specified timezone,
Longitude of the location of interest.
Latitude of the location of interest.
Olson timezone at the location of interest.
While the lubridate package makes it easy to work in local timezones, there is no easy way in R to work in "Local Standard Time" (LST) as is often required when working with air qualitiy data. EPA regulations mandate that daily averages be calculated based on LST.
localStdTime_UTC column in the returned dataframe is primarily for
internal use and provides an important tool for creating LST daily averages
and LST axis labeling.
A dataframe with times and masks.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
carmel <- monitor_subset(Carmel_Valley, tlim = c(20160801,20160810)) # Create timeInfo object for this monitor ti <- timeInfo( carmel$data$datetime, carmel$meta$longitude, carmel$meta$latitude, carmel$meta$timezone ) # Subset the data based on day/night masks data_day <- carmel$data[ti$day,] data_night <- carmel$data[ti$night,] # Build two monitor objects carmel_day <- list(meta = carmel$meta, data = data_day) carmel_night <- list(meta = carmel$meta, data = data_night) # Plot them monitor_timeseriesPlot(carmel_day, shadedNight = TRUE, pch = 8, col = 'goldenrod') monitor_timeseriesPlot(carmel_night, pch = 16, col = 'darkblue', add = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.