## ---- include=FALSE----------------------------------------------------------- library(terra) ## ----ecocrop100, message=FALSE------------------------------------------------ library(geodata) rain <- geodata::worldclim_country("Senegal", var="prec", path=".") tavg <- geodata::worldclim_country("Senegal", var="tavg", path=".") adm <- geodata::gadm("Senegal", level=1, path=".") rain <- mask(rain, adm) tavg <- mask(tavg, adm) ## ----ecocrop110--------------------------------------------------------------- library(Recocrop) crop <- Recocrop::ecocropPars("maize") m <- Recocrop::ecocrop(crop) ## ----ecocrop120--------------------------------------------------------------- plant <- predict(m, prec=rain, tavg=tavg) p <- classify(plant > 0, cbind(0,NA)) * 1:12 pm <- median(p, na.rm=TRUE) hv <- pm + m$duration hv <- ifel(hv > 12, hv - 12, hv) plot(hv) lines(adm) ## ----ecocrop150--------------------------------------------------------------- control(m, which_max=TRUE) mplant <- predict(m, prec=rain, tavg=tavg) mhv <- mplant + m$duration mhv <- ifel(mhv > 12, mhv - 12, mhv) plot(mhv) lines(adm)