Compute top of atmosphere solar irradiance using radiation vs. reflection
Compute extraterrestrial solar irradiance (ESun) using the actual maximum radiation and reflection values within each band.
## S4 method for signature 'Satellite' calcTOAIrradRadRef(x, normalize = TRUE, esd) ## S4 method for signature 'numeric' calcTOAIrradRadRef(x, ref_max, normalize = TRUE, esd)
x |
A Satellite object or the maximum radiance of satellite band(s) as numeric object. |
normalize |
Logical; if |
esd |
Earth-sun distance (AU, can be estimated using
|
ref_max |
Maximum reflextance of satellite band(s). |
The actual solar irradiance is computed using the following formula taken from the GRASS GIS i.landsat.toar module
ESun = (pi d^2) RADIANCE_MAXIMUM / REFLECTANCE_MAXIMUM
where d is the earth-sun distance (in AU) and RADIANCE_MAXIMUM and REFLECTANCE_MAXIMUM are the maximum radiance and reflection values of the respective band. All these parameters are taken from the scene's metadata file if a Satellite object is passed to the function.
By default, the resulting actual ESun will be normalized to a mean earth-sun
distance to be compatible with other default results from
calcTOAIrradTable
or calcTOAIrradModel
.
If x is a Satellite object, a Satellite object with ESun information added to the metadata; if x is numeric, a vector containing ESun for the respective band(s).
calcTOAIrradTable
for tabulated solar irradiance
values from the literature or calcTOAIrradModel
for the
computation of the solar irradiance based on look-up tables for the sensor's
relative spectral response and solar irradiation spectral data.
See calcEarthSunDist
for calculating the earth-sun
distance based on the day of the year which is called by this function if
ESun should be corrected for actual earth-sun distance.
path <- system.file("extdata", package = "satellite") files <- list.files(path, pattern = glob2rx("LC08*.TIF"), full.names = TRUE) sat <- satellite(files) sat <- calcTOAIrradModel(sat) getSatESUN(sat) calcTOAIrradRadRef(x = getSatRadMax(sat, getSatBCDESolar(sat)), ref_max = getSatRefMax(sat, getSatBCDESolar(sat)), normalize = FALSE, esd = calcEarthSunDist("2015-01-01"))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.