photobiologyWavebands 0.5.1

PAR, or photosynthetically active radiation, as defined by McCree (1972) and used almost universaly in plant sciences is a biological spectral weighting function or BSWF that for spectral irradiance in photon based units takes one of two values for the weights: 0 or 1. So for computations of PAR photon irradiance (or PPFD) it is equivalent to integration over a range of wavelengths without application of a weighting function.

However, PAR, as defined by McCree, has a BSWF with weights that vary with wavelength when used to computed PAR (energy) irradiance, a quantity currently almost never used. Anyway the definition of the PAR()  waveband constructor in previous versions of the package was conceptually wrong, and has now been fixed. If anybody happened to compute PAR energy irradiance with earlier versions of the package, the results obtained were  not weighted. This non-weighted quantity has been in the old literature occasionally also called PAR, but is a “PAR” quantity based on a different defintion than McCree’s. In the new version the result from the same computation is weighted, and differs from the one computed using earlier versions to an extent that depends on the shape of the spectrum.

In the update, I not only corrected this bug, but added code implementing several additional ways of computing “PAR-like” quantities, both of historical interest and recently proposed and under debate. I also expanded the documentation explaining the differences among defintions and adding references to the scientific literature.

The names of functions CIE() and ICNIRP() have a clear meaning only within a very specialized community, as they refer to acronyms fro the names of organizations that have published many different standards related to radiation and its effects. New constructors erythema() and uv_health_hazard() by default construct identical waveband objects as CIE() and ICNIRP(), respectively. (The old names remain available.)

The main changes from version 0.5.0 the previous CRAN release, are:

  • PAR() was previously defined as a wavelength range, which is correct only for computations of photon irradiance. For computation of energy irradiance the correct approach is to use a weighting function based on the energy per photon. This now
    fixed. The previous behaviour of PAR() can now be obtained with the new function PhR() by passing an argument to parameter std. This change affects only computations of energy irradiance, and although not code breaking, returned values will vary slightly.
  • PAR() gains definitions of historical interest as well as the recently proposed extended photosynthetically active radiation, ePAR.
  • Plant_bands() now accepts "Sellaro" and "sensoryBroad" as argument for std.
  • Blue() and Green now accept "broad" as argument for std, corresponding to very broad ranges of wavelengths as frequently used in plant sciences.
  • Update UVI() so that it optionally returns integer values as recommended by WWO for communication of UVI to the general public. Default behaviour remains unchanged.
  • Add erythema() as substitute of CIE(), and UV_health_hazard() as substitute for ICNIRP(). The new functions have a std parameter and by default have the same behaviour as the functions they substitute. CIE() and ICNIRP() are deprecated but maintained to ensure backwards compatibility.
  • Updates to documentation.

Package documentation web site at:

NOTE: Version 0.5.1 is on its way to CRAN.

Please raise issues concerning bugs or enhancements to this package through Bitbucket at


Share with

About Pedro J. Aphalo

I am a senior university lecturer in physiological plant ecology and principal investigator at the Faculty of Biological and Environmental Sciences of the University of Helsinki.

Leave a Reply