predADP: Prediction Function of the Accumulated Developmental Progress...

View source: R/predADP.R

predADPR Documentation

Prediction Function of the Accumulated Developmental Progress Method Using Mean Daily Temperatures

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, b).

Usage

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

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

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, b, 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.

\qquadIn 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 ith 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 ith year. If the temperature-dependent developmental rate follows Arrhenius' equation, the AADP of the ith 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 jth day of the ith 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.

\qquadThe 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.

Value

Year

the years with climate data

Time.pred

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

Note

The entire mean daily temperature data set for the spring of each year should be provided. It should be noted that the unit of Temp in Arguments is {}^{\circ}C, not K. In addition, when using Arrhenius' equation to describe r, to reduce the size of B in this equation, Arrhenius' equation is multiplied by {10}^{12} in calculating the AADP value for each year, i.e.,

\mathrm{AADP}_{i} = \sum_{j=S}^{E_{i}}\left[{10}^{12} \cdot \mathrm{exp}\left(B - \frac{E_{a}}{R\,T_{ij}}\right)\right].

Author(s)

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

References

Ring, D.R., Harris, M.K. (1983) Predicting pecan nut casebearer (Lepidoptera: Pyralidae) activity at College Station, Texas. Environmental Entomology 12, 482-486. \Sexpr[results=rd]{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. \Sexpr[results=rd]{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. \Sexpr[results=rd]{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. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1093/aesa/77.2.208")}

See Also

ADP

Examples


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 


spphpr documentation built on April 11, 2025, 6:11 p.m.

Related to predADP in spphpr...