Package 'spphpr'

Title: Spring Phenological Prediction
Description: Predicts the occurrence times (in day of year) of spring phenological events. Three methods, including the accumulated degree days (ADD) method, the accumulated days transferred to a standardized temperature (ADTS) method, and the accumulated developmental progress (ADP) method, were used. See Shi et al. (2017a) <doi:10.1016/j.agrformet.2017.04.001> and Shi et al. (2017b) <doi:10.1093/aesa/sax063> for details.
Authors: Peijian Shi [aut, cre], Zhenghong Chen [aut], Brady K. Quinn [aut]
Maintainer: Peijian Shi <[email protected]>
License: GPL (>= 2)
Version: 0.1.4
Built: 2024-12-13 11:05:37 UTC
Source: CRAN

Help Index


Function for Implementing the Accumulated Degree Days Method

Description

Estimates the starting date (SS in day of year) and base tempeature (T0T_{0} in {}^{\circ}C) in the accumulated degree days method using mean daily air temperatures (Aono, 1993; Shi et al., 2017a, 2017b).

Usage

ADD(S.pd = NULL, T0.arr, Year1, Time, Year2, DOY, Temp, DOY.ul = 120, 
    fig.opt = TRUE, S.def = 54, verbose = TRUE)

Arguments

S.pd

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

T0.arr

the candidate base temperatures (in {}^{\circ}C)

Year1

the vector of the years recording a particular phenological event

Time

the vector of the occurence times (in day of year) of a particular phenological event across many years

Year2

the vector of the years recording the climate data corresponding to the occurrence times

DOY

the vector of the dates (in day of year) when the 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

fig.opt

an optional argument of drawing the figures assoicated with the determinations of the starting date and base temperature, and a comparision between the predicted and observed occurrence times

S.def

a mandatory defintion of the starting date when (i) S.pd is NULL and (ii) the minimum correlation coefficient method fails to find a suitable starting date

verbose

an optional argument of allowing users to suppress printing of computation progress

Details

The default of S.pd is NULL. In this case, the date associated with the minimum correlation coefficient [between the mean of the mean daily temperatures (from a candidate starting date to the observed occurrence time) and the observed occurrence time] will be determined to be the starting date on the condition that it is smaller than the mininum phenological occurence time. If the determined date associated with the minimum correlation coefficient is greater than the mininum phenological occurence time, S.def will be used as the starting date. If S.pd is not NULL, the starting date will be directly assigned as S.pd irrespective of the minimum correlation coefficient method and the value of S.def. This means, S.pd is superior to S.def in determining the starting date.

\qquadThe function does not require that Year1 is the same as the unique of Year2, and the intersection of two years will be finally kept. The unused years that have phenological records but lack the climate data will be showed in unused.years in the returned list.

\qquadThe numerical value of DOY.ul should be larger than or equal to the maximum Time.

Value

S.arr

the candidate starting dates (in day of year), whose default ranges from the minimum DOY to min(DOY.ul, the maximum DOY)

cor.coef.arr

the candidate correlation coefficients between the mean of the mean daily tempertures (from a candidate starting date to the observed occurrence time) and the observed occurrence time

cor.coef

the minimum correlation coefficient, i.e., min(cor.coef.arr)

search.failure

a value of 0 or 1 of showing whether the starting date is successfully determined by the minimum correlation coefficient method when S.pd = NULL, where 0 represents success and 1 represents failure

mAADD.arr

an vector saving the interannual mean of the annual acccumulated degree days (AADD) values for each of the candidate base temperatures

RMSE.arr

a vector saving the candidate root-mean-square errors (in days) between the observed and predicted occurrence times for each of the candidate base temperatures

AADD.arr

the annual accumulated degree days (AADD) values in different years

Year

The intersected years between Year1 and Year2

Time

The observed occurence times (day of year) in the intersected years between Year1 and Year2

Time.pred

the predicted occurence times in different years

S

the determined starting date (day of year)

T0

the determined base temperature (in {}^{\circ}C)

AADD

the expected annual accumulated degree days

RMSE

the smallest RMSE (in days) from the different candidate base temperatures

unused.years

the years that have phenological records but lack the climate data

Note

The entire mean daily temperature data in the spring of each year should be provided. AADD is represented by the mean of AADD.arr in the output. When the argument of S.pd is not NULL, the returned value of search.failure will be NA. When the argument of S.pd is NULL, and the minimum correlation coefficient method fails to find a suitable starting date, the argument of S.def is then defined as the determined starting date, i.e., the returned value of S. At the same time, the returned value of cor.coef is defined as NA.

Author(s)

Peijian Shi [email protected], Zhenghong Chen [email protected], Brady K. Quinn [email protected].

References

Aono, Y. (1993) Climatological studies on blooming of cherry tree (Prunus yedoensis) by means of DTS method. Bulletin of the University of Osaka Prefecture. Ser. B, Agriculture and life sciences 45, 155-192 (in Japanese with English abstract).

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. 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. doi:10.1093/aesa/sax063

See Also

predADD

Examples

data(apricotFFD)
data(BJMDT)
X1 <- apricotFFD
X2 <- BJMDT

Year1.val  <- X1$Year
Time.val   <- X1$Time
Year2.val  <- X2$Year
DOY.val    <- X2$DOY
Temp.val   <- X2$MDT
DOY.ul.val <- 120
T0.arr0    <- seq(-5, 5, by = 0.1) 
S.pd0      <- NULL


  res1 <- ADD( S.pd = S.pd0, T0.arr = T0.arr0, Year1 = Year1.val, Time = Time.val, 
               Year2 = Year2.val, DOY = DOY.val, Temp = Temp.val, 
               DOY.ul = DOY.ul.val, fig.opt = TRUE, S.def=54, verbose = TRUE )
  res1

  S0 <- res1$S.arr 
  r0 <- res1$cor.coef.arr
  
  dev.new()
  par1 <- par(family="serif")
  par2 <- par(mar=c(5, 5, 2, 2))
  par3 <- par(mgp=c(3, 1, 0))
  plot( S0, r0, cex.lab = 1.5, cex.axis = 1.5, xlab = "Candidate starting date (day of year)", 
        ylab="Correlation coefficient between the mean temperature and FFD", type="l" )
  ind <- which.min(r0)
  points(S0[ind], r0[ind], cex = 1.5, pch = 16)
  text(S0[ind], r0[ind] + 0.1, bquote(paste(italic(S), " = ", .(S0[ind]), sep = "")), cex = 1.5)
  par(par1)
  par(par2)
  par(par3)

  resu1 <- ADD( S.pd = 47, T0.arr = seq(-10, 0, by = 0.1), Year1 = Year1.val, Time = Time.val, 
                Year2 = Year2.val, DOY = DOY.val, Temp = Temp.val, 
                DOY.ul = DOY.ul.val, fig.opt = TRUE, S.def = 54, verbose = TRUE )
  resu1

  # graphics.off()

Function for Implementing the Accumulated Developmental Progress Method

Description

Estimates the starting date (SS in day of year) and the parameters in a developmental rate model in the accumulated developmental progress (ADP) method using mean daily air temperatures (Wagner et al., 1984; Shi et al., 2017a, 2017b).

Usage

ADP( S.arr, expr, ini.val, Year1, Time, Year2, DOY, Temp, DOY.ul = 120,
     fig.opt = TRUE, control = list(), verbose = TRUE )

Arguments

S.arr

the candidate starting dates for thermal accumulation (in day of year)

expr

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

ini.val

a vector or a list that saves the initial values of the parameters in expr

Year1

the vector of the years recording a particular phenological event

Time

the vector of the occurence times (in day of year) of a particular phenological event across many years

Year2

the vector of the years recording the climate data corresponding to the occurrence times

DOY

the vector of the dates (in day of year) when the 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

fig.opt

an optional argument of drawing the figures assoicated with the temperature-dependent developmental rate curve, the mean daily temperatures versus years, and a comparision between the predicted and observed occurrence times

control

the list of control parameters for using the optim function in package stats

verbose

an optional argument of allowing users to suppress printing of computation progress

Details

It is better not to set too much candiate starting dates, which will be time-consuming. If expr is selected as Arrhenius' equation, S.arr can be selected as S obtained from the output of carrying out the ADTS function. Here, expr can be other nonlinear temperature-dependent developmental rate functions (see Shi et al. [2017b] for details). Here, 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 following 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.

\qquadThe function does not require that Year1 is the same as the unique of Year2, and the intersection of two years will be finally kept. The unused years that have phenological records but lack the climate data will be showed in unused.years in the returned list.

\qquadThe numerical value of DOY.ul should be larger than or equal to the maximum Time.

\qquad Let rr represent the temperature-dependent developmental rate, i.e., the reciprocal of the developmental duration at a constant temperature required for completing a particular phenological event. In the accumulated developmental progress (ADP) method, when the annual accumulated developmental progress (AADP) reaches 100%, the phenological event is predicted to occurr for each year. Let AADPi\mathrm{AADP}_{i} denote the AADP of the iith year, which equals

AADPi=j=SEirij(P;Tij),\mathrm{AADP}_{i} = \sum_{j=S}^{E_{i}}r_{ij}\left(\mathrm{\mathbf{P}}; T_{ij}\right),

where SS represents the starting date (in day of year), EiE_{i} represents the ending date (in day of year), i.e., the occurrence time of a pariticular phenological event in the iith year, P\mathrm{\mathbf{P}} is the vector of the model parameters in expr, and TijT_{ij} represents the mean daily temperature of the jjth day of the iith year (in {}^{\circ}C or K). In theory, AADPi=100%\mathrm{AADP}_{i} = 100\%, i.e., the AADP values of different years are a constant of 100%. However, in practice, there is a certain deviation of AADPi\mathrm{AADP}_{i} from 100%. The following approach is used to determine the predicted occurrence time. When j=SFrij=100%\sum_{j=S}^{F}r_{ij} = 100\% (where FSF \geq S), it follows that FF is the predicted occurrence time; when j=SFrij<100%\sum_{j=S}^{F}r_{ij} < 100\% and j=SF+1rij>100%\sum_{j=S}^{F+1}r_{ij} > 100\%, the trapezoid method (Ring and Harris, 1983) is used to determine the predicted occurrence time. Assume that there are nn-year phenological records. When the starting date SS and the temperature-dependent developmental rate model are known, the model parameters can be estimated using the Nelder-Mead optiminization method (Nelder and Mead, 1965) to minimize the root-mean-square error (RMSE) between the observed and predicted occurrence times, i.e.,

P^=argminP{RMSE}=argminPi=1n(EiE^i)2n.\mathrm{\mathbf{\hat{P}}} = \mathrm{arg}\,\mathop{\mathrm{min}}\limits_{ \mathrm{\mathbf{P}}}\left\{\mathrm{RMSE}\right\} = \mathrm{arg}\,\mathop{\mathrm{min}}\limits_{ \mathrm{\mathbf{P}}}\sqrt{\frac{\sum_{i=1}^{n}\left(E_{i}-\hat{E}_i\right){}^{2}}{n}}.

Because SS is not determined, a group of candidate SS values (in day of year) need to be provided. Assume that there are mm candidate SS values, i.e., S1,S2,S3,,SmS_{1}, S_{2}, S_{3}, \cdots, S_{m}. For each SqS_{q} (where qq ranges between 1 and mm), we can obtain a vector of the estimated model parameters, P^q\mathrm{\mathbf{\hat{P}}}_{q}, by minimizing RMSEq\mathrm{RMSE}_{q} using the Nelder-Mead optiminization method. Then we finally selected P^\mathrm{\mathbf{\hat{P}}} associated with min{RMSE1,RMSE2,RMSE3,,RMSEm}\mathrm{min}\left\{\mathrm{RMSE}_{1}, \mathrm{RMSE}_{2}, \mathrm{RMSE}_{3}, \cdots, \mathrm{RMSE}_{m}\right\} as the target parameter vector.

Value

TDDR

the temperature-dependent developmental rate matrix consisting of the year, day of year, mean daily temperature and developmental rate columns

MAT

a matrix consisting of the candidate starting dates, the estimates of candidate model parameters with the corresponding RMSEs

Dev.accum

the calculated annual accumulated developmental progresses in different years

Year

The intersected years between Year1 and Year2

Time

The observed occurence times (day of year) in the intersected years between Year1 and Year2

Time.pred

the predicted occurence times in different years

S

the determined starting date (day of year)

par

the estiamtes of model parameters

RMSE

the RMSE (in days) between the observed and predicted occurrence times

unused.years

the years that have phenological records but lack the climate data

Note

The entire mean daily temperature data in the spring of each year should be provided. In TDDR, the first column of Year saves the years, the second column of DOY saves the day of year values, the third column of Temperature saves the mean daily air temperatures between the starting date to the occurrence times, and the fourth column of Rate saves the calculated developmental rates corresponding to the mean daily temperatures.

Author(s)

Peijian Shi [email protected], Zhenghong Chen [email protected], Brady K. Quinn [email protected].

References

Nelder, J.A., Mead, R. (1965) A simplex method for function minimization. Computer Journal 7, 308-313. doi:10.1093/comjnl/7.4.308

Ring, D.R., Harris, M.K. (1983) Predicting pecan nut casebearer (Lepidoptera: Pyralidae) activity at College Station, Texas. Environmental Entomology 12, 482-486. 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. 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. 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. doi:10.1093/aesa/77.2.208

See Also

predADP

Examples

data(apricotFFD)
data(BJMDT)
X1 <- apricotFFD
X2 <- BJMDT

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.arr0     <- 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))
}
##############################################################################

#### Provides the initial values of the parameter of Arrhenius' equation #####
ini.val0 <- list( B = 20, Ea = 14 )
##############################################################################


  res5 <- ADP( S.arr = S.arr0, expr = Arrhenius.eqn, ini.val = ini.val0, Year1 = Year1.val, 
               Time = Time.val, Year2 = Year2.val, DOY = DOY.val, Temp = Temp.val, 
               DOY.ul = DOY.ul.val, fig.opt = TRUE, control = list(trace = FALSE, 
               reltol = 1e-12, maxit = 5000), verbose = TRUE )
  res5

  TDDR <- res5$TDDR
  T    <- TDDR$Temperature
  r    <- TDDR$Rate
  Y    <- res5$Year
  DP   <- res5$Dev.accum

  dev.new()
  par1 <- par(family="serif")
  par2 <- par(mar=c(5, 5, 2, 2))
  par3 <- par(mgp=c(3, 1, 0))
  Ind <- sort(T, index.return=TRUE)$ix 
  T1  <- T[Ind]
  r1  <- r[Ind]
  plot( T1, r1, cex.lab = 1.5, cex.axis = 1.5, pch = 1, cex = 1.5, col = 2, type = "l", 
        xlab = expression(paste("Mean daily temperature (", degree, "C)", sep = "")), 
        ylab = expression(paste("Calculated developmental rate (", {day}^{"-1"}, ")", sep = "")) ) 
  par(par1)
  par(par2)
  par(par3)

  dev.new()
  par1 <- par(family="serif")
  par2 <- par(mar=c(5, 5, 2, 2))
  par3 <- par(mgp=c(3, 1, 0))
  plot( Y, DP * 100, xlab = "Year", 
        ylab = "Accumulated developmental progress (%)", 
        ylim = c(50, 150), cex.lab=1.5, cex.axis = 1.5, cex = 1.5 )
  abline( h = 1 * 100, lwd = 1, col = 4, lty = 2 ) 
  par(par1)
  par(par2)
  par(par3)

  # graphics.off()

Function for Implementing the Accumulated Days Transferred to a Standardized Temperature Method

Description

Estimates the starting date (SS in day of year) and activation free energy (EaE_{a} in kcal \cdot mol1{}^{-1}) in the accumulated days transferred to a standardized temperature (ADTS) method using mean daily air temperatures (Konno and Sugihara, 1986; Aono, 1993; Shi et al., 2017a, 2017b).

Usage

ADTS( S.arr, Ea.arr, Year1, Time, Year2, DOY, Temp, DOY.ul = 120, 
      fig.opt = TRUE, verbose = TRUE )

Arguments

S.arr

the candidate starting dates for thermal accumulation (in day of year)

Ea.arr

the candidate activation free energy values (in kcal \cdot mol1{}^{-1})

Year1

the vector of the years recording a particular phenological event

Time

the vector of the occurence times (in day of year) of a particular phenological event across many years

Year2

the vector of the years recording the climate data corresponding to the occurrence times

DOY

the vector of the dates (in day of year) when the 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

fig.opt

an optional argument of drawing the figures assoicated with the determination of the combination the starting date and activation free energy, and a comparision between the predicted and observed occurrence times

verbose

an optional argument of allowing users to suppress printing of computation progress

Details

When fig.opt is equal to TRUE, it will show the contours of the root-mean-square errors (RMSEs) based on different combinations of SS and EaE_{a}.

\qquadThe function does not require that Year1 is the same as the unique of Year2, and the intersection of two years will be finally kept. The unused years that have phenological records but lack the climate data will be showed in unused.years in the returned list.

\qquadThe numerical value of DOY.ul should be larger than or equal to the maximum Time.

Value

mAADTS.mat

a matrix consisiting of the means of the annual accumulated days transferred to a standardized temperature (AADTS) values from the combinations of SS and EaE_{a}

RMSE.mat

the matrix consisting of the RMSEs (in days) from different combinations of SS and EaE_{a}

AADTS.arr

the AADTS values in different years associated with the smallest value in RMSE.mat

Year

The intersected years between Year1 and Year2

Time

The observed occurence times (day of year) in the intersected years between Year1 and Year2

Time.pred

the predicted occurence times in different years

S

the determined starting date (day of year)

Ea

the determined activation free energy values (in kcal\cdotmol1{}^{-1})

AADD

the expected AADTS

RMSE

the smallest RMSE (in days) in RMSE.mat from different combinations of SS and EaE_{a}

unused.years

the years that have phenological records but lack the climate data

Note

The entire mean daily temperature data in the spring of each year should be provided. AADTS is represented by the mean of AADTS.arr in the output.

Author(s)

Peijian Shi [email protected], Zhenghong Chen [email protected], Brady K. Quinn [email protected].

References

Aono, Y. (1993) Climatological studies on blooming of cherry tree (Prunus yedoensis) by means of DTS method. Bulletin of the University of Osaka Prefecture. Ser. B, Agriculture and life sciences 45, 155-192 (in Japanese with English abstract).

Konno, T., Sugihara, S. (1986) Temperature index for characterizing biological activity in soil and its application to decomposition of soil organic matter. Bulletin of National Institute for Agro-Environmental Sciences 1, 51-68 (in Japanese with English abstract).

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. 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. doi:10.1093/aesa/sax063

See Also

predADTS

Examples

data(apricotFFD)
data(BJMDT)
X1 <- apricotFFD
X2 <- BJMDT

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.arr0     <- seq(40, 60, by = 1)
Ea.arr0    <- seq(10, 20, by = 1)


  res3 <- ADTS( S.arr = S.arr0, Ea.arr = Ea.arr0, Year1 = Year1.val, Time = Time.val, 
                Year2 = Year2.val, DOY = DOY.val, Temp = Temp.val, DOY.ul = DOY.ul.val, 
                fig.opt = TRUE, verbose = TRUE)
  res3

  RMSE.mat0  <- res3$RMSE.mat
  RMSE.range <- range(RMSE.mat0)

  dev.new()
  par1 <- par(family="serif")
  par2 <- par(mar=c(5, 5, 2, 2))
  par3 <- par(mgp=c(3, 1, 0))
  image( S.arr0, Ea.arr0, RMSE.mat0, col = terrain.colors(200), axes = TRUE, 
         cex.axis = 1.5, cex.lab = 1.5, xlab = "Starting date (day of year)", 
         ylab = expression(paste(italic(E["a"]), " (kcal" %.% "mol"^{"-1"}, ")", sep = "")))
  points( res3$S, res3$Ea, cex = 1.5, pch = 16, col = 2 )
  contour( S.arr0, Ea.arr0, RMSE.mat0, levels = round(seq(RMSE.range[1], 
           RMSE.range[2], len = 20), 4), add = TRUE, cex = 1.5, col = "#696969", labcex = 1.5)
  par(par1)
  par(par2)
  par(par3)

  resu3 <- ADTS( S.arr = 47, Ea.arr = seq(10, 20, by = 0.5), Year1 = Year1.val, Time = Time.val, 
                 Year2 = Year2.val, DOY = DOY.val, Temp = Temp.val, DOY.ul = DOY.ul.val, 
                 fig.opt = TRUE, verbose = TRUE)
  resu3

  # graphics.off()

First flowering date records of Prunus armeniaca

Description

The data consist of the first flowering date records of Prunus armeniaca at the Summer Palace (39{}^{\circ}54'38'' N, 116{}^{\circ}8'28'' E, 50 m a.s.l.) in Beijing of China between 1963 and 2010. Data source: Chinese Phenological Observation Network (Guo et al., 2015).

Usage

data(apricotFFD)

Details

In the data set, there are two columns of vectors: Year, and Time. Code saves the recording years; and Time saves 1963-2010 first flowering dates of Prunus armeniaca in day of year.

References

Guo, L., Xu, J., Dai, J., Cheng, J., Wu, H., Luedeling, E. (2015) Statistical identification of chilling and heat requirements for apricotflower buds in Beijing, China. Scientia Horticulturae 195, 138-144. doi:10.1016/j.scienta.2015.09.006

Examples

data(apricotFFD)
attach(apricotFFD)

dev.new()
par1 <- par(family="serif")
par2 <- par(mar=c(5, 5, 2, 2))
par3 <- par(mgp=c(3, 1, 0))
plot( Year, Time, asp = 1, cex.lab = 1.5, cex.axis = 1.5, 
      xlab = "Year", ylab = "First flowering date (day of year)" ) 
par(par1)
par(par2)
par(par3)

# graphics.off()

Mean Daily Temperature Data of Beijing from 1951 to 2012 with the exception of 1968.

Description

The data include the mean daily temperatures (in {}^{\circ}C) of Beijing between 1951 and 2012 with the exception of 1968. Data source: China Meteorological Data Service Centre (https://data.cma.cn/en).

Usage

data(BJMDT)

Details

In the data set, there are five columns of vectors: Year, Month, Day, DOY, and MDT. Year saves the recording years; Month saves the recording months; Day saves the recording days; DOY saves the dates in day of year; and MDT saves the mean daily temperatures (in {}^{\circ}C) corresponding to DOY.

References

Guo, L., Xu, J., Dai, J., Cheng, J., Wu, H., Luedeling, E. (2015) Statistical identification of chilling and heat requirements for apricotflower buds in Beijing, China. Scientia Horticulturae 195, 138-144. doi:10.1016/j.scienta.2015.09.006

Examples

data(BJMDT)
attach(BJMDT)

x    <- as.numeric( tapply(DOY, DOY, mean) )
y    <- as.numeric( tapply(MDT, DOY, mean) )
y.sd <- as.numeric( tapply(MDT, DOY, sd) )

dev.new()
par1 <- par(family="serif")
par2 <- par(mar=c(5, 5, 2, 2))
par3 <- par(mgp=c(3, 1, 0))
plot( x, y, cex = 1.5, xlim = c(0, 367), ylim = c(-10, 30), 
      cex.lab = 1.5, cex.axis = 1.5, type = "n", xlab = "Day of Year", 
      ylab = expression(paste("Mean daily temperature (", degree, "C)", sep="")) )
for(i in 1:length(x)){
  lines(c(x[i], x[i]), c(y[i]-y.sd[i], y[i]+y.sd[i]), col=4)
}
points(x, y, cex = 1.5)
par(par1)
par(par2)
par(par3)

# graphics.off()

Prediction Function of the Accumulated Degree Days Method

Description

Predicts the occurrence times using the accumulated degree days method based on observed or predicted mean daily air temperatures (Aono, 1993; Shi et al., 2017a, 2017b).

Usage

predADD(S, T0, AADD, Year2, DOY, Temp, DOY.ul = 120)

Arguments

S

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

T0

the base temperature (in {}^{\circ}C)

AADD

the expected annual accumulated degree days

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) when the 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

In the accumulated degree days (ADD) method (Shi et al., 2017a, 2017b), the starting date (SS) and the base temperature (T0T_{0}), and the annual accumulated degree days (AADD which is denoted by kk) are assumed to be constants across different years. Let kik_{i} denote the AADD of the iith year, which equals

ki=j=SEi(TijT0),k_{i} = \sum_{j=S}^{E_{i}}\left(T_{ij}-T_{0}\right),

where EiE_{i} represents the ending date (in day of year), i.e., the occurrence time of a pariticular phenological event in the iith year, and TijT_{ij} represents the mean daily temperature of the jjth day of the iith year (in {}^{\circ}C). In theory, ki=kk_{i} = k, i.e., the AADD values of different years are a constant. However, in practice, there is a certain deviation of kik_{i} from kk. The following approach is used to determine the predicted occurrence time. When j=SF(TijT0)=k\sum_{j=S}^{F}\left(T_{ij}-T_{0}\right) = k (where FSF \geq S), it follows that FF is the predicted occurrence time; when j=SF(TijT0)<k\sum_{j=S}^{F}\left(T_{ij}-T_{0}\right) < k and j=SF+1(TijT0)>k\sum_{j=S}^{F+1}\left(T_{ij}-T_{0}\right) > k, the trapezoid method (Ring and Harris, 1983) is used to determine the predicted occurrence time.

Value

Year

the years with climate data

Time.pred

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

Note

The entire mean daily temperature data in the spring of each year should be provided.

Author(s)

Peijian Shi [email protected], Zhenghong Chen [email protected], Brady K. Quinn [email protected].

References

Aono, Y. (1993) Climatological studies on blooming of cherry tree (Prunus yedoensis) by means of DTS method. Bulletin of the University of Osaka Prefecture. Ser. B, Agriculture and life sciences 45, 155-192 (in Japanese with English abstract).

Ring, D.R., Harris, M.K. (1983) Predicting pecan nut casebearer (Lepidoptera: Pyralidae) activity at College Station, Texas. Environmental Entomology 12, 482-486. 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. 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. doi:10.1093/aesa/sax063

See Also

ADD

Examples

data(apricotFFD)
data(BJMDT)
X1 <- apricotFFD
X2 <- BJMDT
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      <- 65
T0.val     <- -0.5 
AADD.val   <- 235.6447

res2 <- predADD( S = S.val, T0 = T0.val, AADD = AADD.val, 
                 Year2 = Year2.val, DOY = DOY.val, Temp = Temp.val, 
                 DOY.ul = DOY.ul.val )
res2


ind1  <- res2$Year %in% intersect(res2$Year, Year1.val)
ind2  <- Year1.val %in% intersect(res2$Year, Year1.val)
RMSE1 <- sqrt( sum((Time.val[ind2]-res2$Time.pred[ind1])^2) / length(Time.val[ind2]) ) 
RMSE1

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)

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) when the 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 showing phenological events in early spring often experience several cold days during the 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 (TT in Kelvin [K]) on the developmental rate (rr):

r=exp(BEaRT),r = \mathrm{exp}\left(B - \frac{E_{a}}{R\,T}\right),

where EaE_{a} represents the activation free energy (in kcal \cdot mol1{}^{-1}); RR is the universal gas constant (= 1.987 cal \cdot mol1{}^{-1} \cdot K1{}^{-1}); BB is a constant. To keep the consistence of the unit used in EaE_{a} and RR, we need to re-assign RR to be 1.987×103\times {10}^{-3} to make its unit 1.987×103\times {10}^{-3} kcal \cdot mol1{}^{-1} \cdot K1{}^{-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 occurr for each year. Let AADPi\mathrm{AADP}_{i} denote the AADP of the iith year, which equals

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

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

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

where TijT_{ij} represents the mean daily temperature of the jjth day of the iith year (in K). In theory, AADPi=100%\mathrm{AADP}_{i} = 100\%, i.e., the AADP values of different years are a constant of 100%. However, in practice, there is a certain deviation of AADPi\mathrm{AADP}_{i} from 100%. The following approach is used to determine the predicted occurrence time. When j=SFrij=100%\sum_{j=S}^{F}r_{ij} = 100\% (where FSF \geq S), it follows that FF is the predicted occurrence time; when j=SFrij<100%\sum_{j=S}^{F}r_{ij} < 100\% and j=SF+1rij>100%\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 following 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 occurence times (day of year) in different years

Note

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

AADPi=j=SEi[1012exp(BEaRTij)].\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 [email protected], Zhenghong Chen [email protected], Brady K. Quinn [email protected].

References

Ring, D.R., Harris, M.K. (1983) Predicting pecan nut casebearer (Lepidoptera: Pyralidae) activity at College Station, Texas. Environmental Entomology 12, 482-486. 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. 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. 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. doi:10.1093/aesa/77.2.208

See Also

ADP

Examples

data(apricotFFD)
data(BJMDT)
X1 <- apricotFFD
X2 <- BJMDT
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.7823, 14.8198)
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

Prediction Function of the Accumulated Days Transferred to a Standardized Temperature Method

Description

Predicts the occurrence times using the accumulated days transferred to a standardized temperature (ADTS) method based on observed or predicted mean daily air temperatures (Konno and Sugihara, 1986; Aono, 1993; Shi et al., 2017a, 2017b).

Usage

predADTS(S, Ea, AADTS, Year2, DOY, Temp, DOY.ul = 120)

Arguments

S

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

Ea

the activation free energy (in kcal \cdot mol1{}^{-1})

AADTS

the expected annual accumulated days transferred to a standardized temperature

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) when the 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 showing phenological events in early spring often experience several cold days during the 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 (TT in Kelvin [K]) on the developmental rate (rr):

r=exp(BEaRT),r = \mathrm{exp}\left(B - \frac{E_{a}}{R\,T}\right),

where EaE_{a} represents the activation free energy (in kcal \cdot mol1{}^{-1}); RR is the universal gas constant (= 1.987 cal \cdot mol1{}^{-1} \cdot K1{}^{-1}); BB is a constant. To keep the consistence of the unit used in EaE_{a} and RR, we need to re-assign RR to be 1.987×103\times {10}^{-3} to make its unit 1.987×103\times {10}^{-3} kcal \cdot mol1{}^{-1} \cdot K1{}^{-1} in the above formula.

\qquadAccording to the definition of the developmental rate (rr), it is the developmental progress per unit time (e.g., per day, per hour), which equals the reciprocal of the developmental duration DD, i.e., r=1/Dr = 1/D. Let TsT_{s} represent the standard temperature (in K), and rsr_{s} represent the developmental rate at TsT_{s}. let rjr_{j} represent the developmental rate at TjT_{j}, an arbitrary temperature (in K). It is apparent that Dsrs=Djrj=1D_{s}r_{s} = D_{j}r_{j} = 1. It follows that

DsDj=rjrs=exp[Ea(TjTs)RTjTs],\frac{D_{s}}{D_{j}} = \frac{r_{j}}{r_{s}} = \mathrm{exp}\left[\frac{E_{a}\left(T_{j}-T_{s}\right)}{R\,T_{j}\,T_{s}}\right],

where Ds/DjD_{s}/D_{j} is referred to as the number of days transferred to a standardized temperature (DTS) (Konno and Sugihara, 1986; Aono, 1993).

\qquadIn the accumulated days transferred to a standardized temperature (ADTS) method, the annual accumulated days transferred to a standardized temperature (AADTS) is assumed to be a constant. Let AADTSi\mathrm{AADTS}_{i} denote the AADTS of the iith year, which equals

AADTSi=j=SEi{exp[Ea(TijTs)RTijTs]},\mathrm{AADTS}_{i} = \sum_{j=S}^{E_{i}}\left\{\mathrm{exp}\left[\frac{E_{a}\left(T_{ij}-T_{s}\right)}{R\,T_{ij}\,T_{s}}\right]\right\},

where EiE_{i} represents the ending date (in day of year), i.e., the occurrence time of a pariticular phenological event in the iith year, and TijT_{ij} represents the mean daily temperature of the jjth day of the iith year (in K). In theory, AADTSi=AADTS\mathrm{AADTS}_{i} = \mathrm{AADTS}, i.e., the AADTS values of different years are a constant. However, in practice, there is a certain deviation of AADTSi\mathrm{AADTS}_{i} from AADTS\mathrm{AADTS}. The following approach is used to determine the predicted occurrence time. When j=SF{exp[Ea(TijTs)RTijTs]}=AADTS\sum_{j=S}^{F}\left\{\mathrm{exp}\left[\frac{E_{a}\left(T_{ij}-T_{s}\right)} {R\,T_{ij}\,T_{s}}\right]\right\} = \mathrm{AADTS} (where FSF \geq S), it follows that FF is the predicted occurrence time; when j=SF{exp[Ea(TijTs)RTijTs]}<AADTS\sum_{j=S}^{F}\left\{\mathrm{exp}\left[ \frac{E_{a}\left(T_{ij}-T_{s}\right)}{R\,T_{ij}\,T_{s}}\right]\right\} < \mathrm{AADTS} and j=SF+1{exp[Ea(TijTs)RTijTs]}>AADTS\sum_{j=S}^{F+1}\left\{\mathrm{exp}\left[\frac{E_{a}\left(T_{ij}-T_{s}\right)} {R\,T_{ij}\,T_{s}}\right]\right\} > \mathrm{AADTS}, the trapezoid method (Ring and Harris, 1983) is used to determine the predicted occurrence time.

Value

Year

the years with climate data

Time.pred

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

Note

The entire mean daily temperature data in the spring of each year should be provided. There is a need to note that the unit of Temp in Arguments is {}^{\circ}C, not K.

Author(s)

Peijian Shi [email protected], Zhenghong Chen [email protected], Brady K. Quinn [email protected].

References

Aono, Y. (1993) Climatological studies on blooming of cherry tree (Prunus yedoensis) by means of DTS method. Bulletin of the University of Osaka Prefecture. Ser. B, Agriculture and life sciences 45, 155-192 (in Japanese with English abstract).

Konno, T., Sugihara, S. (1986) Temperature index for characterizing biological activity in soil and its application to decomposition of soil organic matter. Bulletin of National Institute for Agro-Environmental Sciences 1, 51-68 (in Japanese with English abstract).

Ring, D.R., Harris, M.K. (1983) Predicting pecan nut casebearer (Lepidoptera: Pyralidae) activity at College Station, Texas. Environmental Entomology 12, 482-486. 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. 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. doi:10.1093/aesa/sax063

See Also

ADTS

Examples

data(apricotFFD)
data(BJMDT)
X1 <- apricotFFD
X2 <- BJMDT
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
Ea.val     <- 14 
AADTS.val  <-  9.607107

res4 <- predADTS( S = S.val, Ea = Ea.val, AADTS = AADTS.val, 
                  Year2 = Year2.val, DOY = DOY.val, Temp = Temp.val, 
                  DOY.ul = DOY.ul.val )
res4

ind3  <- res4$Year %in% intersect(res4$Year, Year1.val)
ind4  <- Year1.val %in% intersect(res4$Year, Year1.val)
RMSE2 <- sqrt( sum((Time.val[ind4]-res4$Time.pred[ind3])^2) / length(Time.val[ind4]) ) 
RMSE2

Spring Phenological Prediction

Description

Predicts the occurrence times (in day of year) of spring phenological events. Three methods, including the accumulated degree days (ADD) method, the accumulated days transferred to a standardized temperature (ADTS) method, and the accumulated developmental progress (ADP) method, were used. See Shi et al. (2017a, 2017b) for details.

Details

The DESCRIPTION file:

Package: spphpr
Type: Package
Title: Spring Phenological Prediction
Version: 0.1.4
Date: 2024-12-12
Authors@R: c(person(given="Peijian", family="Shi", email="[email protected]", role=c("aut", "cre")), person(given=c("Zhenghong"), family="Chen", email="[email protected]", role=c("aut")), person(given=c("Brady K."), family="Quinn", email="[email protected]", role=c("aut")))
Author: Peijian Shi [aut, cre], Zhenghong Chen [aut], Brady K. Quinn [aut]
Maintainer: Peijian Shi <[email protected]>
Description: Predicts the occurrence times (in day of year) of spring phenological events. Three methods, including the accumulated degree days (ADD) method, the accumulated days transferred to a standardized temperature (ADTS) method, and the accumulated developmental progress (ADP) method, were used. See Shi et al. (2017a) <doi:10.1016/j.agrformet.2017.04.001> and Shi et al. (2017b) <doi:10.1093/aesa/sax063> for details.
Depends: R (>= 4.2.0)
License: GPL (>= 2)
NeedsCompilation: no
Packaged: 2024-12-12 07:14:19 UTC; PEIJIAN SHI
Repository: CRAN
Date/Publication: 2024-12-13 09:10:02 UTC

Index of help topics:

ADD                     Function for Implementing the Accumulated
                        Degree Days Method
ADP                     Function for Implementing the Accumulated
                        Developmental Progress Method
ADTS                    Function for Implementing the Accumulated Days
                        Transferred to a Standardized Temperature
                        Method
BJMDT                   Mean Daily Temperature Data of Beijing from
                        1951 to 2012 with the exception of 1968.
apricotFFD              First flowering date records of _Prunus
                        armeniaca_
predADD                 Prediction Function of the Accumulated Degree
                        Days Method
predADP                 Prediction Function of the Accumulated
                        Developmental Progress Method
predADTS                Prediction Function of the Accumulated Days
                        Transferred to a Standardized Temperature
                        Method
spphpr                  Spring Phenological Prediction
toDOY                   Function for Transferring a Date to the Value
                        of Day of Year

Note

We thank Benjamin Altmann, Lei Chen, Linli Deng, Feng Ge, Wen Gu, Liang Guo, Jianguo Huang, Cang Hui, Konstanze Lauseker, Gadi V.P. Reddy, Jing Tan, Mei Xiao, Lin Wang, and Wangxiang Zhang for their valuable help during the development of this package.

Author(s)

Peijian Shi [aut, cre], Zhenghong Chen [aut], Brady K. Quinn [aut]

Maintainer: Peijian Shi <[email protected]>

References

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. 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. doi:10.1093/aesa/sax063


Function for Transferring a Date to the Value of Day of Year

Description

Transfers the date (from year, month and day) to the value of day of year.

Usage

toDOY(Year, Month, Day)

Arguments

Year

the vector of years

Month

the vector of months

Day

the vector of days

Details

The user needs to provide the three separate vectors of Year, Month and Day, rather than providing a single date vector. The arguments can be numerical vectors or character vectors.

Value

The returned value is a vector of transferred dates in day of year.

Note

The returned vector, DOY, usually mathes with the year vector and the mean daily temperature vector as arguments in other functions, e.g., the ADD function.

Author(s)

Peijian Shi [email protected], Zhenghong Chen [email protected], Brady K. Quinn [email protected].

References

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. 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. doi:10.1093/aesa/sax063

See Also

BJMDT

Examples

data(BJMDT)
X2   <- BJMDT
DOY2 <- toDOY(X2$Year, X2$Month, X2$Day)
# cbind(X2$DOY, DOY2)