## ----include=FALSE, echo=FALSE------------------------------------------------
knitr::opts_chunk$set(fig.width=8, fig.height=4)
## ----printing-spectra, eval=TRUE, include=FALSE-------------------------------
# library(tibble)
options(tibble.print_max = 6, tibble.print_min = 4)
## ----pkg-load, eval=TRUE, message = FALSE-------------------------------------
library(photobiology)
library(lubridate)
# if installed, we use 'lutz' to lookup time zones from geocodes
eval_lutz <- requireNamespace("lutz", quietly = TRUE)
if (eval_lutz) {library(lutz)}
## -----------------------------------------------------------------------------
my.geocode <- data.frame(lat = 60.16, lon = 24.93, address = "Helsinki")
## -----------------------------------------------------------------------------
sun_angles(time = ymd_hms("2017-06-20 08:00:00", tz = "EET"), geocode = my.geocode)
## -----------------------------------------------------------------------------
sun_angles()
## -----------------------------------------------------------------------------
sun_angles(time = ymd_hms("2014-01-01 0:0:0", tz = "EET") + hours(c(0, 6, 12)),
geocode = my.geocode)
## -----------------------------------------------------------------------------
my.times <- ymd_hms("2014-01-01 0:0:0", tz = "EET") + hours(c(0, 6, 12))
sun_angles(time = my.times, geocode = my.geocode)
## -----------------------------------------------------------------------------
two.geocodes <- data.frame(lat = c(60.16, 65.02),
lon = c(24.93, 25.47),
address = c("Helsinki", "Oulu"))
sun_angles(time = my.times, geocode = two.geocodes)
## -----------------------------------------------------------------------------
sun_angles(time = getWhenMeasured(sun.spct), geocode = getWhereMeasured(sun.spct))
## -----------------------------------------------------------------------------
sun_elevation(time = my.times, geocode = my.geocode)
## -----------------------------------------------------------------------------
sun_zenith_angle(time = my.times, geocode = my.geocode)
## -----------------------------------------------------------------------------
sun_azimuth(time = my.times, geocode = my.geocode)
## -----------------------------------------------------------------------------
dates <- ymd("2015-03-01", tz = "EET") + months(0:5)
dates
## -----------------------------------------------------------------------------
sunrise_time(now("UTC"), geocode = my.geocode)
sunrise_time(now("EET"), geocode = my.geocode)
sunrise_time(now("Europe/Helsinki"), geocode = my.geocode)
## -----------------------------------------------------------------------------
sunrise_time(geocode = my.geocode)
sunrise_time(date = now("UTC"), geocode = my.geocode)
sunrise_time(date = now("UTC"), tz = "UTC", geocode = my.geocode)
sunrise_time(date = now("EET"), geocode = my.geocode)
sunrise_time(date = now("EET"), tz = "EET", geocode = my.geocode)
sunrise_time(today("EET"), tz = "EET", geocode = my.geocode)
## -----------------------------------------------------------------------------
noon_time(now("UTC"), geocode = my.geocode)
noon_time(now("EET"), geocode = my.geocode)
## -----------------------------------------------------------------------------
sunset_time(now("UTC"), geocode = my.geocode)
sunset_time(now("EET"), geocode = my.geocode)
## -----------------------------------------------------------------------------
day_length(dates, geocode = my.geocode)
night_length(dates, geocode = my.geocode)
## -----------------------------------------------------------------------------
sunrise_time(dates, geocode = data.frame(lat = 60, lon = 25))
noon_time(dates, geocode = data.frame(lat = 60, lon = 25))
## -----------------------------------------------------------------------------
sunrise_time(dates, geocode = data.frame(lat = -60, lon = 25))
noon_time(dates, geocode = data.frame(lat = -60, lon = 25))
## -----------------------------------------------------------------------------
sunrise_time(ymd("2017-03-21", tz = "EET"),
tz = "EET",
geocode = my.geocode,
twilight = "civil")
sunrise_time(ymd("2017-03-21", tz = "EET"),
tz = "EET",
geocode = my.geocode,
twilight = -10)
sunrise_time(ymd("2017-03-21", tz = "EET"),
tz = "EET",
geocode = my.geocode,
twilight = +12)
## -----------------------------------------------------------------------------
sunrise_time(ymd("2017-03-21", tz = "EET"),
tz = "EET",
geocode = my.geocode)
sunrise_time(ymd("2017-03-21", tz = "EET"),
tz = "EET",
geocode = my.geocode,
unit.out = "hours")
## -----------------------------------------------------------------------------
day_length(dates, geocode = my.geocode, unit.out = "days")
night_length(dates, geocode = my.geocode, unit.out = "days")
## -----------------------------------------------------------------------------
day_night(dates[1:3],
geocode = my.geocode)
## -----------------------------------------------------------------------------
day_night(dates[1:3],
geocode = my.geocode,
unit.out = "days")
## -----------------------------------------------------------------------------
day_night(dates[1:3],
geocode = my.geocode,
unit.out = "datetime")
## -----------------------------------------------------------------------------
day_night(dates[1:3],
geocode = two.geocodes)
## -----------------------------------------------------------------------------
Paris.geo <- data.frame(lon = 2.352222, lat = 48.85661, address = "Paris")
Paris.time <- ymd_hms("2016-09-30 06:00:00", tz = "UTC")
solar_time(Paris.time, geocode = Paris.geo)
solar_time(Paris.time, geocode = Paris.geo, unit.out = "datetime")
## -----------------------------------------------------------------------------
my.solar.t <- solar_time(Paris.time, geocode = Paris.geo)
is.solar_time(my.solar.t)
is.numeric(my.solar.t)
## -----------------------------------------------------------------------------
my.solar.d <- solar_time(Paris.time, geocode = Paris.geo, unit.out = "datetime")
is.solar_date(my.solar.d)
is.timepoint(my.solar.d)
## -----------------------------------------------------------------------------
times <- now(tzone = "UTC") + hours(0:6)
times
as_tod(times)
as_tod(times, unit.out = "minutes")
## -----------------------------------------------------------------------------
relative_AM(33)
## -----------------------------------------------------------------------------
relative_AM(c(80, 60, 40, 20))
## -----------------------------------------------------------------------------
water_vp_sat(c(0, 10, 20, 30))
## -----------------------------------------------------------------------------
water_vp2mvc(water_vp_sat(20), 20)
## -----------------------------------------------------------------------------
water_RH2vp(50, 20)
## -----------------------------------------------------------------------------
water_vp2RH(500, 40)
## -----------------------------------------------------------------------------
water_dp(3000)
## -----------------------------------------------------------------------------
r_net <- net_irradiance(temperature = 20, # C
sw.down.irradiance = 800, # W / m2
water.vp = 1500) # Pa
r_net # W / m2
## -----------------------------------------------------------------------------
ET_ref(temperature = 20, # C
water.vp = 1500, # Pa
wind.speed = 4, # m / s
net.irradiance = r_net
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.