### Creating annual EIP suitability maps
# Set dates for each study year:
yseq <- seq(from=as.Date("2006-02-01"),
to=as.Date("2016-12-31"), by="years")
yseq.df <- data.frame(1:1, yseq, year=strftime(yseq, "%Y"))
# Create reclassification matrix for suitability categorization
subs.mat <- matrix(data=c(-Inf, 129.999, 0,
# Generate annual summary maps
for (j in 1:length(yseq.df[,3])){
## Create date sequence for target year
s <- as.Date(paste("01-02", yseq.df[j,3], sep="-"),
format="%d-%m-%Y")
f <- as.Date(paste("31-12", yseq.df[j,3], sep="-"),
format="%d-%m-%Y")
dseq <- seq(from=s, to=f, by=1)
ddu.pname <- paste("DDU/ddu", format(dseq,
format="%Y%m%d"), ".tif", sep="")
cddu.pname <- paste("ddumaps/cddumaps/cddu", format(dseq,
format="%Y%m%d"), ".tif", sep="")
cddu.r <- rast(cddu.pname[1])
cddu.r <- as(cddu.r, "Raster")
## Create daily binary suitability maps
for(i in 1:length(dseq)){
cddu.r <- rast(cddu.pname[i])
cddu.r <- as(cddu.r, "Raster")
tbcddu.r <- reclassify(cddu.r, subs.mat, include.lowest=TRUE,
right=FALSE)
stack.r <- stack(stack.r, tbcddu.r)
cat(i, "\n"); flush.console()
tcummul.r <- calc(stack.r, fun=sum)
name <- paste("summarymaps/", yseq.df[j,3],
"_days_at_risk", sep="")
writeRaster(x=tcummul.r, filename=name, overwrite=TRUE,
format="GTiff")
# Load first year for classification template
summ.rname <- paste("summarymaps/", yseq.df[1,3],
"_days_at_risk.tif", sep="")
summary.r <- rast(summ.rname)
## Categorize map by days with DDU >130
cuts <- c(-Inf, 0.01, 182.6, 364.9, Inf)
pal <- c("#003CE5", "wheat1",
"goldenrod1", "firebrick2")
Rn <- classify(summary.r, cuts, include.lowest=TRUE, right=FALSE)
name <- paste("summarymaps/bin", yseq.df[11,1],
"_days_at_risk", sep="")
writeRaster(x=Rn, filename=name, overwrite=TRUE, format="GTiff")