REddyProc package included several utility functions that were somewhat out of the package scope. These functions are removed from package.
This vignette shows how to replace them by functions from the bigleaf package.
if (!require("bigleaf", quietly = TRUE)) stop(
"bigleaf package must be installed to create this vignette.")
library(REddyProc)Vapour pressure deficit (VPD) was computed with REddyProc in \(hPa\) from relative humidity in \(\%\) and air temperature in \(^{\circ}C\).
VPD0 <- fCalcVPDfromRHandTair(DEGebExample$rH, DEGebExample$Tair)bigleaf package computes VPD in \(kPa\) and requires relative humidity as fraction .
VPD.hPa <- rH.to.VPD(DEGebExample$rH/100, DEGebExample$Tair)*10Saturation vapor pressure (SVP) or eSat in \(hPa\) was computed from air temperature.
Tair <- seq(10,25,by = 5)eSat0 <- fCalcSVPfromTair(Tair)is replaced by Esat.slope which uses \(kPa\) as pressure unit:
(eSat <- Esat.slope(Tair)$Esat * 10)## [1] 12.26030 17.01672 23.32596 31.60057
Actual vapor pressure (AVP) or e in \(hPa\) was also computed from Vapor mole fraction (VMF) in \(mol/mol\) and pressure in \(hPa\).
VMF <- seq(0.01,0.03,by = 0.005)
press.in.hPa <- 1000 e0 <- fCalcAVPfromVMFandPress(VMF, press.in.hPa)There is no replacement function, as this is just the multiplication of the two arguments.
(e <- VMF * press.in.hPa)## [1] 10 15 20 25 30
Relative humidity (rH) in \(\%\) was computed from AVP in \(hPa\) and temperature.
e.in.hPa <- seq(0,30,by = 5)
Tair <- 25 (rH0 <- fCalcRHfromAVPandTair(e.in.hPa, Tair))Again this is replaced by a function using pressure units \(kPa\) and relative humidity as fraction.
(rH <- e.to.rH(e.in.hPa/10, Tair)*100)## [1] 0.0000 15.8225 31.6450 47.4675 63.2900 79.1125 94.9350
LE <- seq(300,500,by = 50)
Tair <- 25ET0 <- fCalcETfromLE(LE, Tair)The corresponding bigleaf function LE.to.ET returns a value in kg/m2/s. This needs to be converted to mmol/m2/s as returned by the former fCalcETfromLE.
ETkg <- LE.to.ET(LE, Tair)
(ETmmol <- kg.to.mol(ETkg)*1000)## [1] 6.819916 7.956569 9.093222 10.229874 11.366527
Photon flux density (PPFD) of visible light can be computed from energy in incoming radiation
Rg <- 200bigleaf function Rg.to.PPFD combines the two former REddyProc functions fConvertVisibleWm2toPhotons and fConvertGlobalToVisible.
PPFDVis0 <- fConvertGlobalToVisible(fConvertVisibleWm2toPhotons(Rg))(PPFDVis <- Rg.to.PPFD(Rg))## [1] 460
The PPFD of light including non-visible parts, i.e. former fConvertVisibleWm2toPhotons, is obtained by setting argument frac_PAR to 1.
(PPFDAll <- Rg.to.PPFD(Rg, frac_PAR = 1))## [1] 920
Potential radiation (\(W m^{-2}\)) depends on time and geo-location.
doy <- 160
hour <- seq(6,18,by = 0.2)
latDeg <- 39.94
longDeg <- -5.77
timezone <- +1Formerly, REddyProc provided:
(potRad0 <- fCalcPotRadiation(doy, hour, latDeg, longDeg, timezone))This is replaced by bigleaf:
head(potRad <- potential.radiation(doy, hour, latDeg, longDeg, timezone))## [1] 1.722378 48.072563 95.193985 142.957488 191.232157 239.885672
Extraterrestrial solar radiation was formerly computed by REddyProc by:
(extRad0 <- fCalcExtRadiation(doy))This is replaced by bigleaf:
(extRad <- extraterrestrial.radiation(doy))## [1] 1324.598
Required computation of sun position (computeSunPosition) and difference between apparent local time time and time zone time (computeSolarToLocalTimeDifference) have been moved to package solartime.