Global radiation
Bigleaf.calc_sun_position_MOD
Bigleaf.calc_sun_position_hor
Bigleaf.extraterrestrial_radiation
Bigleaf.potential_radiation
Bigleaf.potential_radiation
— Functionpotential_radiation(datetime, lat, long)
potential_radiation(doy, hour, lat, long; timezone,year)
Compute potential radiation for given geolocation and time.
Because potential radiation does not change across years (for a given location and daytime and day of year), time can be specified alternatively by doy and hour.
Arguments
- datetime: UTC timestamp.
- lat: Latitude (decimal degrees)
- long: Longitude (decimal degrees)
- doy: day of year (integer starting from 1)
- hour: hour within the day (0.0 .. 24.0 float)
optional
- timezone: Timezone for doy and hour, defaults to "GMT+x" nearest to given longitude.
- year: specific year for doy and hour
...
: other keyword arguments passed toextraterrestrial_radiation
such asconstants
andFT
Value
vector of potential radiation (W m-2)
Examples
# assume hours in the GMT+x that is closest to given longitude
potrad = potential_radiation(160, 10.5, 51.0, 11.5)
Bigleaf.extraterrestrial_radiation
— Functionextraterrestrial_radiation(doy::Number; ...)
extraterrestrial_radiation(datetime::TimeType; ...)
Compute the extraterrestrial solar radiation with the eccentricity correction. Computation follows Lanini, 2010 (Master thesis, Bern University).
Arguments
- doy: integer with day of year (DoY) starting at 1
optional
constants=
BigleafConstants
()
: Dictionary with entries- solar_constant
year
=2030: year to create timestamps. Due to precession results slightly change across decades.FT=typeof(constants.solar_constant)
: Specif Float type of the return value
Value
extraterrestrial radiation (W_m-2) of type FT
.
Examples
ex_rad = extraterrestrial_radiation(1)
≈(ex_rad, 1414, atol = 1)
Bigleaf.calc_sun_position_hor
— Functioncalc_sun_position_hor(datetime, lat, long)
Compute the Sun position at given time and observer coordinates in horizontal coordinates.
Arguments:
datetime
: time: Either aZonedDateTime
, orDateTime
assumed in UTClat
,long
: latitude and longitude in degree
Value
NamedTuple
: sun position with entries of the same type as lat
and long
altitude
: angle above the horizon [rad].azimuth
: angle ange the horizon plane eastwards of north [rad]hourangle
: [rad] as output by AstroLib.eq2hor Seems to represent time [day/2pi] after solar noon. Value at local timezone noon provides (local time - solar time).
Bigleaf.calc_sun_position_MOD
— Functioncalc_sun_position_MOD(JD::Number)
Compute the Sun position at the Julian Day JD
.
Results are represented in the Mean Equinox of Date (MOD), i.e. accounting for precession but not for nutation and smaller perturbation of the polar axes, in spherical ecliptic and equatorial coordinates. The algorithm was adapted from [Vallado 2013, p. 277-279].
Arguments:
JD
: time given as Julian Day .
Value
NamedTuple
: sun position where
- Ecliptic coordinates (1:3)
- λ: Ecliptic longitude of the Sun [rad].
- β: Ecliptic latitude of the Sun [rad] is assumed 0.
- r: Distance of the Sun from Earth [m].
- Equatorial coordinate (4:5)
- α: ascention [rad]
- δ: declination [rad]
- ϵ: Obliquity of the ecliptic [rad].
References
- Vallado, D. A (2013). Fundamentals of Astrodynamics and Applications. Microcosm Press, Hawthorne, CA.