split_irradiance {photobiology} | R Documentation |
Energy or photon irradiance for split spectrum regions
Description
This function returns the energy or photon irradiance for a series of contiguous wavebands from a radiation spectrum. The returned values can be either absolute or relative to their sum.
Usage
split_irradiance(
w.length,
s.irrad,
cut.w.length = range(w.length),
unit.out = getOption("photobiology.base.unit", default = "energy"),
unit.in = "energy",
scale = "absolute",
check.spectrum = TRUE,
use.cached.mult = FALSE,
use.hinges = getOption("photobiology.use.hinges", default = NULL)
)
Arguments
w.length |
numeric Vector of wavelengths [ |
s.irrad |
numeric vector of spectral irradiances in
[ |
cut.w.length |
numeric Vector of wavelengths [ |
unit.out , unit.in |
character Allowed values |
scale |
a character A string indicating the scale used for the returned
values ( |
check.spectrum |
logical Flag indicating whether to sanity check input data,
default is |
use.cached.mult |
logical Flag indicating whether multiplier values should be cached between calls. |
use.hinges |
logical Flag indicating whether to insert "hinges" into the spectral data before integration so as to reduce interpolation errors at the boundaries of the wavebands. |
Value
A numeric vector of irradiances with no change in scale factor if
scale == "absolute"
, [W\,m^{-2}
] or
[mol\,s^{-1}\,sm^{-2}
] depending on the argument passed
to unit.out
or relative values (as fraction of one if scale ==
"relative"
or percentages if scale == "percent"
of photons or
energy depending on the argument passed to unit.out
.
Note
The last three parameters control speed optimizations. The defaults
should be suitable in most cases. If you set check.spectrum=FALSE
then you should call check_spectrum
at least once for your
spectrum before using any of the other functions. If you will use
repeatedly the same SWFs on many spectra measured at exactly the same
wavelengths you may obtain some speed up by setting
use.cached.mult=TRUE
. However, be aware that you are responsible for
ensuring that the wavelengths are the same in each call, as the only test
done is for the length of the w.length
vector.
Examples
with(sun.data,
split_irradiance(w.length, s.e.irrad,
cut.w.length = c(300, 400, 500, 600, 700),
unit.out = "photon"))