Irradiance

Share:

Description

This function returns the irradiance for a given waveband of a light source spectrum.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
irrad(spct, w.band, unit.out, quantity, time.unit, wb.trim, use.cached.mult,
  use.hinges, allow.scaled, ...)

## Default S3 method:
irrad(spct, w.band, unit.out, quantity, time.unit, 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,
  wb.trim = getOption("photobiology.waveband.trim", default = TRUE),
  use.cached.mult = getOption("photobiology.use.cached.mult", default =
  FALSE), use.hinges = getOption("photobiology.use.hinges"),
  allow.scaled = !quantity %in% c("average", "mean", "total"), ...)

## S3 method for class 'source_mspct'
irrad(spct, w.band = NULL,
  unit.out = getOption("photobiology.radiation.unit", default = "energy"),
  quantity = "total", time.unit = NULL,
  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"), ..., idx = !is.null(names(spct)))

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 string with allowed values "energy", and "photon", or its alias "quantum"

quantity

character string One of "total", "average" or "mean", "contribution", "contribution.pc", "relative" or "relative.pc"

time.unit

character or lubridate::duration

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 indicating whether to use hinges to reduce interpolation errors

allow.scaled

logical indicating whether scaled or normalized spectra as argument to spct are flagged as an error

...

other arguments (possibly ignored)

idx

logical whether to add a column with the names of the elements of spct

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

  • default: Default for generic function

  • source_spct: Calculates irradiance from a source_spct object.

  • source_mspct: Calculates irradiance from a source_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 mosts 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, energy_irradiance, fluence, irradiance, photon_irradiance, q_fluence, q_irrad

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
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")

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.