calcTOAIrradRadRef {satellite} | R Documentation |
Compute top of atmosphere solar irradiance using radiation vs. reflection
Description
Compute extraterrestrial solar irradiance (ESun) using the actual maximum radiation and reflection values within each band.
Usage
## S4 method for signature 'Satellite'
calcTOAIrradRadRef(x, normalize = TRUE, esd)
## S4 method for signature 'numeric'
calcTOAIrradRadRef(x, ref_max, normalize = TRUE, esd)
Arguments
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). |
Details
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
.
Value
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).
See Also
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.
Examples
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"))