irrad {photobiology} | R Documentation |
Irradiance
Description
This function returns the irradiance for a given waveband of a light source spectrum.
Usage
irrad(
spct,
w.band,
unit.out,
quantity,
time.unit,
scale.factor,
wb.trim,
use.cached.mult,
use.hinges,
allow.scaled,
...
)
## Default S3 method:
irrad(
spct,
w.band,
unit.out,
quantity,
time.unit,
scale.factor,
wb.trim,
use.cached.mult,
use.hinges,
allow.scaled,
...
)
## S3 method for class 'source_spct'
irrad(
spct,
w.band = NULL,
unit.out = getOption("photobiology.radiation.unit", default = "energy"),
quantity = "total",
time.unit = NULL,
scale.factor = 1,
wb.trim = getOption("photobiology.waveband.trim", default = TRUE),
use.cached.mult = getOption("photobiology.use.cached.mult", default = FALSE),
use.hinges = NULL,
allow.scaled = !quantity %in% c("average", "mean", "total"),
naming = "default",
return.tb = FALSE,
...
)
## S3 method for class 'source_mspct'
irrad(
spct,
w.band = NULL,
unit.out = getOption("photobiology.radiation.unit", default = "energy"),
quantity = "total",
time.unit = NULL,
scale.factor = 1,
wb.trim = getOption("photobiology.waveband.trim", default = TRUE),
use.cached.mult = getOption("photobiology.use.cached.mult", default = FALSE),
use.hinges = NULL,
allow.scaled = !quantity %in% c("average", "mean", "total"),
naming = "default",
...,
attr2tb = NULL,
idx = "spct.idx",
.parallel = FALSE,
.paropts = NULL
)
Arguments
spct |
an R object. |
w.band |
waveband or list of waveband objects The waveband(s) determine the region(s) of the spectrum that are summarized. |
unit.out |
character Allowed values |
quantity |
character string One of "total", "average" or "mean", "contribution", "contribution.pc", "relative" or "relative.pc". |
time.unit |
character or lubridate::duration object. |
scale.factor |
numeric vector of length 1, or length equal to that of
|
wb.trim |
logical if |
use.cached.mult |
logical 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. If NULL, default is chosen based on data. |
allow.scaled |
logical indicating whether scaled or normalized spectra as argument to spct are flagged as an error. |
... |
other arguments (possibly ignored) |
naming |
character one of |
return.tb |
logical Flag forcing a tibble to be always returned, even
for a single spectrum as argumnet to |
attr2tb |
character vector, see |
idx |
character Name of the column with the names of the members of the collection of spectra. |
.parallel |
if TRUE, apply function in parallel, using parallel backend provided by foreach. |
.paropts |
a list of additional options passed into the foreach function when parallel computation is enabled. This is important if (for example) your code relies on external data or packages: use the .export and .packages arguments to supply them so that all cluster nodes have the correct environment set up for computing. |
Value
A named numeric
vector in the case of a _spct
object
containing a single spectrum and return.tb = FALSE
. The vector has
one member one value for each waveband
passed to parameter
w.band
. In all other cases a tibble
, containing one column
for each waveband
object, an index column with the names of the
spectra, and optionally additional columns with metadata values retrieved
from the attributes of the member spectra.
If naming = "long"
the names generated reflect both quantity and
waveband, if naming = "short"
, names are based only on the wavebands,
and if naming = "none"
the returned vector has no names.
By default values are only integrated, but depending on the argument passed
to parameter quantity
they can be re-expressed as relative fractions
or percentages. In the case of vector output, names
attribute is set
to the name of the corresponding waveband unless a named list is supplied
in which case the names of the list members are used. The time.unit
attribute is copied from the spectrum object to the output. Units are as
follows: If time.unit is second, [W m-2 nm-1] -> [mol s-1 m-2] or [W m-2
nm-1] -> [W m-2] If time.unit is day, [J d-1 m-2 nm-1] -> [mol d-1 m-2] or
[J d-1 m-2 nm-1] -> [J m-2]
Methods (by class)
-
irrad(default)
: Default for generic function -
irrad(source_spct)
: Calculates irradiance from asource_spct
object. -
irrad(source_mspct)
: Calculates irradiance from asource_mspct
object.
Note
Formal parameter allow.scaled
is used internally for calculation
of ratios, as rescaling and normalization do not invalidate the calculation
of ratios.
The last two parameters control speed optimizations. The defaults
should be suitable in most cases. 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 irradiance functions:
e_fluence()
,
e_irrad()
,
fluence()
,
q_fluence()
,
q_irrad()
Examples
irrad(sun.spct, waveband(c(400,700)))
irrad(sun.spct, waveband(c(400,700)), "energy")
irrad(sun.spct, waveband(c(400,700)), "photon")
irrad(sun.spct, split_bands(c(400,700), length.out = 3))
irrad(sun.spct, split_bands(c(400,700), length.out = 3), quantity = "total")
irrad(sun.spct, split_bands(c(400,700), length.out = 3), quantity = "average")
irrad(sun.spct, split_bands(c(400,700), length.out = 3), quantity = "relative")
irrad(sun.spct, split_bands(c(400,700), length.out = 3), quantity = "relative.pc")
irrad(sun.spct, split_bands(c(400,700), length.out = 3), quantity = "contribution")
irrad(sun.spct, split_bands(c(400,700), length.out = 3), quantity = "contribution.pc")