Learn R Programming

spphpr (version 1.0.0)

predADP: Prediction Function of the Accumulated Developmental Progress Method

Description

Predicts the occurrence times using the accumulated developmental progress (ADP) method based on observed or predicted mean daily air temperatures (Wagner et al., 1984; Shi et al., 2017a, 2017b).

Usage

predADP(S, expr, theta, Year2, DOY, Temp, DOY.ul = 120)

Value

Year

the years with climate data

Time.pred

the predicted occurence times (day-of-year) in different years

Arguments

S

the starting date for thermal accumulation (in day-of-year)

expr

a user-defined model that is used in the accumulated developmental progress (ADP) method

theta

a vector saves the numerical values of the parameters in expr

Year2

the vector of the years recording the climate data for predicting the occurrence times

DOY

the vector of the dates (in day-of-year) for which climate data exist

Temp

the mean daily air temperature data (in \({}^{\circ}\)C) corresponding to DOY

DOY.ul

the upper limit of DOY used to predict the occurrence time

Author

Peijian Shi pjshi@njfu.edu.cn, Zhenghong Chen chenzh64@126.com, Brady K. Quinn Brady.Quinn@dfo-mpo.gc.ca.

Details

Organisms exhibiting phenological events in early spring often experience several cold days during their development. In this case, Arrhenius' equation (Shi et al., 2017a, 2017b, and references therein) has been recommended to describe the effect of the absolute temperature (\(T\) in Kelvin [K]) on the developmental rate (\(r\)): $$r = \mathrm{exp}\left(B - \frac{E_{a}}{R\,T}\right),$$ where \(E_{a}\) represents the activation free energy (in kcal \(\cdot\) mol\({}^{-1}\)); \(R\) is the universal gas constant (= 1.987 cal \(\cdot\) mol\({}^{-1}\) \(\cdot\) K\({}^{-1}\)); \(B\) is a constant. To maintain consistency between the units used for \(E_{a}\) and \(R\), we need to re-assign \(R\) to be 1.987\(\times {10}^{-3}\), making its unit 1.987\(\times {10}^{-3}\) kcal \(\cdot\) mol\({}^{-1}\) \(\cdot\) K\({}^{-1}\) in the above formula.

\(\qquad\)In the accumulated developmental progress (ADP) method, when the annual accumulated developmental progress (AADP) reaches 100%, the phenological event is predicted to occur for each year. Let \(\mathrm{AADP}_{i}\) denote the AADP of the \(i\)th year, which equals

$$\mathrm{AADP}_{i} = \sum_{j=S}^{E_{i}}r_{ij},$$

where \(E_{i}\) represents the ending date (in day-of-year), i.e., the occurrence time of a pariticular phenological event in the \(i\)th year. If the temperature-dependent developmental rate follows Arrhenius' equation, the AADP of the \(i\)th year is equal to

$$\mathrm{AADP}_{i} = \sum_{j=S}^{E_{i}}\mathrm{exp}\left(B - \frac{E_{a}}{R\,T_{ij}}\right),$$

where \(T_{ij}\) represents the mean daily temperature of the \(j\)th day of the \(i\)th year (in K). In theory, \(\mathrm{AADP}_{i} = 100\%\), i.e., the AADP values of different years are a constant 100%. However, in practice, there is a certain deviation of \(\mathrm{AADP}_{i}\) from 100%. The following approach is used to determine the predicted occurrence time. When \(\sum_{j=S}^{F}r_{ij} = 100\%\) (where \(F \geq S\)), it follows that \(F\) is the predicted occurrence time; when \(\sum_{j=S}^{F}r_{ij} < 100\%\) and \(\sum_{j=S}^{F+1}r_{ij} > 100\%\), the trapezoid method (Ring and Harris, 1983) is used to determine the predicted occurrence time.

\(\qquad\)The argument of expr can be any an arbitrary user-defined temperature-dependent developmental rate function, e.g., a function named myfun, but it needs to take the form of myfun <- function(P, x){...}, where P is the vector of the model parameter(s), and x is the vector of the predictor variable, i.e., the temperature variable.

References

Ring, D.R., Harris, M.K. (1983) Predicting pecan nut casebearer (Lepidoptera: Pyralidae) activity at College Station, Texas. Environmental Entomology 12, 482\(-\)486. tools:::Rd_expr_doi("10.1093/ee/12.2.482")

Shi, P., Chen, Z., Reddy, G.V.P., Hui, C., Huang, J., Xiao, M. (2017a) Timing of cherry tree blooming: Contrasting effects of rising winter low temperatures and early spring temperatures. Agricultural and Forest Meteorology 240\(-\)241, 78\(-\)89. tools:::Rd_expr_doi("10.1016/j.agrformet.2017.04.001")

Shi, P., Fan, M., Reddy, G.V.P. (2017b) Comparison of thermal performance equations in describing temperature-dependent developmental rates of insects: (III) Phenological applications. Annals of the Entomological Society of America 110, 558\(-\)564. tools:::Rd_expr_doi("10.1093/aesa/sax063")

Wagner, T.L., Wu, H.-I., Sharpe, P.J.H., Shcoolfield, R.M., Coulson, R.N. (1984) Modelling insect development rates: a literature review and application of a biophysical model. Annals of the Entomological Society of America 77, 208\(-\)225. tools:::Rd_expr_doi("10.1093/aesa/77.2.208")

See Also

ADP

Examples

Run this code

data(apricotFFD)
data(BJDAT)
X1 <- apricotFFD
X2 <- BJDAT
Year1.val  <- X1$Year
Time.val   <- X1$Time
Year2.val  <- X2$Year
DOY.val    <- X2$DOY
Temp.val   <- X2$MDT
DOY.ul.val <- 120
S.val      <- 47

# Defines a re-parameterized Arrhenius' equation
Arrhenius.eqn <- function(P, x){
  B  <- P[1]
  Ea <- P[2]
  R  <- 1.987 * 10^(-3)
  x  <- x + 273.15
  10^12*exp(B-Ea/(R*x))
}

P0 <- c(-4.3787, 15.0431)
T2 <- seq(-10, 20, len = 2000)
r2 <- Arrhenius.eqn(P = P0, x = T2)

dev.new()
par1 <- par(family="serif")
par2 <- par(mar=c(5, 5, 2, 2))
par3 <- par(mgp=c(3, 1, 0))
plot( T2, r2, cex.lab = 1.5, cex.axis = 1.5, pch = 1, cex = 1.5, col = 2, type = "l", 
      xlab = expression(paste("Temperature (", degree, "C)", sep = "")), 
      ylab = expression(paste("Developmental rate (", {day}^{"-1"}, ")", sep="")) ) 
par(par1)
par(par2)
par(par3)

res6 <- predADP( S = S.val, expr = Arrhenius.eqn, theta = P0, Year2 = Year2.val, 
                 DOY = DOY.val, Temp = Temp.val, DOY.ul = DOY.ul.val )
res6

ind5 <- res6$Year %in% intersect(res6$Year, Year1.val)
ind6  <- Year1.val %in% intersect(res6$Year, Year1.val)
RMSE3 <- sqrt( sum((Time.val[ind6]-res6$Time.pred[ind5])^2) / length(Time.val[ind6]) ) 
RMSE3 

Run the code above in your browser using DataLab