split_energy_irradiance {photobiology} | R Documentation |
Energy irradiance for split spectrum regions
Description
This function returns the energy irradiance for a series of contiguous wavebands from a radiation-source spectrum. The returned values can be either absolute or relative to their sum.
Usage
split_energy_irradiance(
w.length,
s.irrad,
cut.w.length = range(w.length),
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 (nm). |
s.irrad |
numeric vector of spectral (energy or photon) irradiance values (W m-2 nm-1) or (mol s-1 m-2 nm-1). |
cut.w.length |
numeric vector of wavelengths (nm). |
unit.in |
character string with allowed values "energy", and "photon", or its alias "quantum". |
scale |
character string indicating the scale used for the returned values ("absolute", "relative", "percent"). |
check.spectrum |
logical indicating whether to sanity check input data, default is TRUE. |
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: [W m-2 nm-1] -> [W m-2] or [mol s-1 m-2] -> [W m-2] or relative values (fraction of one) if scale = "relative" or scale = "percent".
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.
See Also
Other low-level functions operating on numeric vectors.:
as_energy()
,
as_quantum_mol()
,
calc_multipliers()
,
div_spectra()
,
energy_irradiance()
,
energy_ratio()
,
insert_hinges()
,
integrate_xy()
,
interpolate_spectrum()
,
irradiance()
,
l_insert_hinges()
,
oper_spectra()
,
photon_irradiance()
,
photon_ratio()
,
photons_energy_ratio()
,
prod_spectra()
,
s_e_irrad2rgb()
,
split_photon_irradiance()
,
subt_spectra()
,
sum_spectra()
,
trim_tails()
,
v_insert_hinges()
,
v_replace_hinges()
Examples
with(sun.data,
split_energy_irradiance(w.length, s.e.irrad,
cut.w.length = c(300, 400, 500, 600, 700)))