Learn R Programming

satellite (version 1.0.5)

calcTOAIrradRadRef: 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 Satellite
calcTOAIrradRadRef(x, normalize = TRUE, esd)

# S4 method for numeric calcTOAIrradRadRef(x, ref_max, normalize = TRUE, esd)

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).

Arguments

x

A Satellite object or the maximum radiance of satellite band(s) as numeric object.

normalize

Logical; if TRUE, ESun is normalized to mean earth-sun distance.

esd

Earth-sun distance (AU, can be estimated using calcEarthSunDist). If x is a Satellite object and esd is not supplied and necessary for normalization, it is tried to take it from the metadata, otherwise it is estimated by the day of the year using calcEarthSunDist.

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.

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

Run this code
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"))
                   

Run the code above in your browser using DataLab