fluence {photobiology} | R Documentation |
Fluence
Description
Energy or photon fluence for one or more wavebands of a light source spectrum and a duration of exposure.
Usage
fluence(
spct,
w.band,
unit.out,
exposure.time,
scale.factor,
wb.trim,
use.cached.mult,
use.hinges,
allow.scaled,
...
)
## Default S3 method:
fluence(
spct,
w.band,
unit.out,
exposure.time,
scale.factor,
wb.trim,
use.cached.mult,
use.hinges,
allow.scaled,
...
)
## S3 method for class 'source_spct'
fluence(
spct,
w.band = NULL,
unit.out = getOption("photobiology.radiation.unit", default = "energy"),
exposure.time,
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 = FALSE,
naming = "default",
...
)
## S3 method for class 'source_mspct'
fluence(
spct,
w.band = NULL,
unit.out = getOption("photobiology.radiation.unit", default = "energy"),
exposure.time,
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 = FALSE,
naming = "default",
...,
attr2tb = NULL,
idx = "spct.idx",
.parallel = FALSE,
.paropts = NULL
)
Arguments
spct |
an R object. |
w.band |
a list of |
unit.out |
character string with allowed values "energy", and "photon", or its alias "quantum". |
exposure.time |
lubridate::duration object. |
scale.factor |
numeric vector of length 1, or length equal to that of
|
wb.trim |
logical if TRUE wavebands crossing spectral data boundaries are trimmed, if FALSE, they are discarded. |
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. |
allow.scaled |
logical indicating whether scaled or normalized spectra as argument to spct are flagged as an error. |
... |
other arguments (possibly used by derived methods). |
naming |
character one of "long", "default", "short" or "none". Used to select the type of names to assign to returned value. |
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
One numeric value for each waveband with no change in scale factor, with name attribute set to the name of each waveband unless a named list is supplied in which case the names of the list elements 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] If time.unit is day, [J d-1 m-2 nm-1] -> [mol d-1 m-2]
Methods (by class)
-
fluence(default)
: Default for generic function -
fluence(source_spct)
: Calculate photon fluence from asource_spct
object and the duration of the exposure -
fluence(source_mspct)
: Calculates fluence from asource_mspct
object.
Note
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()
,
irrad()
,
q_fluence()
,
q_irrad()
Examples
library(lubridate)
fluence(sun.spct,
w.band = waveband(c(400,700)),
exposure.time = lubridate::duration(3, "minutes") )