photobiology (version 0.9.25)

sun_angles: Solar angles

Description

This function returns the solar angles for a given time and location.

Usage

sun_angles(time = lubridate::now(tzone = "UTC"),
  tz = lubridate::tz(time), geocode = data.frame(lon = 0, lat = 51.5,
  address = "Greenwich"), use.refraction = FALSE)

sun_angles_fast(time, tz, geocode, use.refraction)

sun_elevation(time = lubridate::now(), tz = lubridate::tz(time), geocode = data.frame(lon = 0, lat = 51.5, address = "Greenwich"), use.refraction = FALSE)

sun_zenith_angle(time = lubridate::now(), tz = lubridate::tz(time), geocode = data.frame(lon = 0, lat = 51.5, address = "Greenwich"), use.refraction = FALSE)

sun_azimuth(time = lubridate::now(), tz = lubridate::tz(time), geocode = data.frame(lon = 0, lat = 51.5, address = "Greenwich"), use.refraction = FALSE)

Arguments

time

A "vector" of POSIXct Time, with any valid time zone (TZ) is allowed, default is current time.

tz

character string indicating time zone to be used in output.

geocode

data frame with variables lon and lat as numeric values (degrees), nrow > 1, allowed.

use.refraction

logical Flag indicating whether to correct for fraction in the atmosphere.

Value

A data.frame with variables time (in same TZ as input), TZ, solartime, longitude, latitude, address, azimuth, and elevation. If a data frame with multiple rows is passed to geocode and a vector of times longer than one is passed to time, sun position for all combinations of locations and times are returned are returned by sun_angles. In contrast, convenience functions returning a vector, require that either a single time instant or a single location are supplied---i.e. only one of these two arguments can be vectorized in a given call.

See Also

Other astronomy related functions: day_night, format.solar_time, is.solar_time, print.solar_time, solar_time

Examples

Run this code
# NOT RUN {
library(lubridate)
sun_angles()
sun_azimuth()
sun_elevation()
sun_zenith_angle()
sun_angles(ymd_hms("2014-09-23 12:00:00"))
sun_angles(ymd_hms("2014-09-23 12:00:00"),
           geocode = data.frame(lat=60, lon=0))
sun_angles(ymd_hms("2014-09-23 12:00:00") + minutes((0:6) * 10))

# }

Run the code above in your browser using DataLab