This R package, cercospoRa
, takes steps to automate the
epidemiological modelling of Cercospora leaf spot (CLS) epidemics in
Cercospora beticola in sugar beet farms. The package contains
functions to use remotely sensed spatially explicit empirical data to
estimate leaf area index (LAI) when the crop canopy closes. Crop canopy
closure is one key variable in estimating when growers need to be
vigilant, and commence scouting their crops for CLS disease incidence.
Once CLS epidemic incidence shows at lease 50 % of leaves with one or
more lesions, ‘epidemic onset’ is deemed to have occured. This negative
prognosis model attempts to estimate the earliest possible date when
‘epidemic onset’ is likely to occur, based on weather conditions.
Farmers can be reasonably confident an epidemic has not occured prior to
the dates estimated by this model.
Once epidemic onset has occured a decision to protect their crop with fungicides is needed to prevent yield limiting Cercospora leaf spot epidemic.
cercospoRa
uses functions described by Wolf and Verreet
(2005) “Factors Affecting the Onset of Cercospora Leaf Spot Epidemics in
Sugar Beet and Establishment of Disease-Monitoring Thresholds”
Phytopathology
Install the stable release version from CRAN
install.packages("cercospoRa")
… or the development version from github
remotes::install_github(repo = "PaulMelloy/cercospoRa", ref = "dev")
library(data.table)
library(cercospoRa)
# Inspect raw weather station data
head(cercospoRa::weathr)
weathr
is a data.table
containing weather
data recorded at a sugar beet field trial observing the spread and
severity of C. beticola.
# Make a copy of the data so we can modify the formatting without affecting the
# raw data
<- data.table(weathr)
wthr
# Format times to POSIXct time with UTC timezone
:= as.POSIXct(paste0(Datum, " ",Stunde,":00"),tz = "UTC")]
wthr[,Time
# Nominate Latitude and Longitude location of the weather station.
# While not needed in cercospoRa some plant disease models will use location to
# decide the closest weather station to pull weather from
c("lon","lat") := list(9.916,51.41866)]
wthr[,
# Weather is hourly and will error if we don't specify a standard deviation of
# weather direction. This is intentional to force the user to decide how variable
# the wind direction data could be.
:= 20]
wthr[, wd_std
# Remove all data after September as it contains missing data
<- wthr[Datum < as.POSIXct("2022-10-01")]
wthr
# Set NA wind speed values to zero
is.na(WG200),WG200 := 0]
wthr[
# Set NA wind direction values to 20 degrees. Wind is not important for this model
is.na(WR200),WR200 := 20]
wthr[
# format_weather() formats weather data to
# hourly and checks for missing data or any issues that may cause downstream faults
# in the model.
<-
wthr format_weather(wthr,
POSIXct_time = "Time",
time_zone = "UTC",
temp = "T200",
rain = "N100",
rh = "F200",
wd = "WR200",
ws = "WG200",
station = "Station",
lon = "lon",
lat = "lat",
wd_sd = "wd_std",
data_check = FALSE # this stops the function from checking for faults
)
# Resistant cultivar
calc_epidemic_onset(c_closure = as.POSIXct("2022-07-30"),
weather = wthr,
cultivar_sus = 3)
# Susceptible cultivar
calc_epidemic_onset(c_closure = as.POSIXct("2022-07-30"),
weather = wthr,
cultivar_sus = 6)
This returns a POSIXct
date for the onset of an epidemic
for the susceptible and more resistant cultivar. If the input weather
data does not provide a window where a epidemic onset date is met, the
proportional progress towards an epidemic is returned.
calc_epidemic_onset()
is a wrapper for
calc_DIV()
which implements the effect of the cultivar
susceptibility on the epidemic onset date. calc_DIV()
however returns a data.table detailing the daily contribution towards
the “daily infection values” (Wolf and Verreet, 2005) and is agnostic of
cultivar susceptibility.
For more detailed output of daily infection values call
calc_DIV()
calc_DIV(dat = wthr)
This produces a data.table
detailing the daily infection
value for each day using the method described in Wolf and Verreet
(2005).
Note: Missing humidity values do not prevent the model from running and these days are assumed to not progress the model.
The main
branch is the production branch and is the
version available on CRAN. The main
branch is locked,
please contribute to the dev
branch.
The plus_racca
(development) branch also includes functions
to recreate other C. beticola mechanistic models published by
Racca and Jörg (2007) and auxiliary functions which might be helpful for
future versions.
Wolf, P. F., & Verreet, J. A. (2005). Factors Affecting the Onset of Cercospora Leaf Spot Epidemics in Sugar Beet and Establishment of Disease-Monitoring Thresholds. Phytopathology, 95(3), 269-274.
Racca, P., and Jörg, E. (2007). CERCBET 3 – a forecaster for epidemic development of Cercospora beticola. EPPO Bulletin, 37(2), 344-349.