ADD2 | R Documentation |
Estimates the starting date (S
, in day-of-year) and base tempeature (T_{0}
, in {}^{\circ}
C)
in the accumulated degree days method using minimum and maximum daily air temperatures (Aono, 1993; Shi et al., 2017a, b).
ADD2(S.pd = NULL, T0.arr, Year1, Time, Year2, DOY, Tmin, Tmax,
DOY.ul = 120, fig.opt = TRUE, S.def = 54, verbose = TRUE)
S.pd |
the pre-determined starting date for thermal accumulation (in day-of-year) |
T0.arr |
the candidate base temperatures (in |
Year1 |
the vector of the years in which a particular phenological event was recorded |
Time |
the vector of the occurrence 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) for which climate data exist |
Tmin |
the minimum daily air temperature data (in |
Tmax |
the maximum daily air temperature data (in |
DOY.ul |
the upper limit of |
fig.opt |
an optional argument to draw the figures associated with the determinations of the starting date and base temperature, and a comparison between the predicted and observed occurrence times |
S.def |
a mandatory defintion of the starting date when (i) |
verbose |
an optional argument allowing users to suppress the printing of computation progress |
The default of S.pd
is NULL. In this case, the date associated with the minimum
correlation coefficient [between the mean of the (Tmin
+ Tmax
)/2 values (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 occurrence time. If the determined date associated with the minimum
correlation coefficient is greater than the mininum phenological occurrence time, S.def
will be used as the starting date. If S.pd
is not NULL, the starting date will be
directly set as S.pd
irrespective of the minimum correlation coefficient method
and the value of S.def
. This means that S.pd
is superior to S.def
in determining
the starting date.
\qquad
The function does not require that Year1
is the same as unique(Year2)
,
and the intersection of the two vectors of years will be kept. The unused years that have phenological
records but lack climate data will be showed in unused.years
in the returned list.
\qquad
The numerical value of DOY.ul
should be greater than or equal to the maximum Time
.
S.arr |
the candidate starting dates (in day-of-year), whose default ranges from
the minimum |
cor.coef.arr |
the candidate correlation coefficients between the mean of the ( |
cor.coef |
the minimum correlation coefficient, i.e., min( |
search.failure |
a value of 0 or 1 of showing whether the starting date is successfully determined
by the minimum correlation coefficient method when |
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 overlapping years between |
Time |
The observed occurrence times (day-of-year) in the overlapping years
between |
Time.pred |
the predicted occurrence times in different years |
S |
the determined starting date (day-of-year) |
T0 |
the determined base temperature (in |
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 climate data |
The entire minimum and maximum daily temperature data set for 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
.
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.
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. \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")}
predADD2
data(apricotFFD)
data(BJDAT)
X1 <- apricotFFD
X2 <- BJDAT
Year1.val <- X1$Year
Time.val <- X1$Time
Year2.val <- X2$Year
DOY.val <- X2$DOY
Tmin.val <- X2$MinDT
Tmax.val <- X2$MaxDT
DOY.ul.val <- 120
T0.arr0 <- seq(3.5, 4, by = 0.1)
S.pd0 <- NULL
cand.res1 <- ADD2( S.pd = S.pd0, T0.arr = T0.arr0, Year1 = Year1.val, Time = Time.val,
Year2 = Year2.val, DOY = DOY.val, Tmin = Tmin.val, Tmax = Tmax.val,
DOY.ul = DOY.ul.val, fig.opt = TRUE, S.def=54, verbose = TRUE )
cand.res1
S0 <- cand.res1$S.arr
r0 <- cand.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)
# graphics.off()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.