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

1
2
3
4
5
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 (nm)

s.irrad

numeric Corresponding vector of spectral (energy) irradiances (W m-2 nm-1)

cut.w.length

numeric Vector of wavelengths (nm)

unit.out

character Allowed values "energy", and "photon", or its alias "quantum"

unit.in

character Allowed values "energy", and "photon", or its alias "quantum"

scale

a character A string indicating the scale used for the returned values ("absolute", "relative", "percent")

check.spectrum

logical Flag 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 use hinges to reduce interpolation errors

Value

a numeric array of irradiances with no change in scale factor: [W m-2 nm-1] -> [mol s-1 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 mosts 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 split a spectrum into regions functions: split_energy_irradiance, split_photon_irradiance

Examples

1
2
3
4
with(sun.data,
      split_irradiance(w.length, s.e.irrad,
                       cut.w.length = c(300, 400, 500, 600, 700),
                       unit.out = "photon"))

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