## ----echo = FALSE-------------------------------------------------------------
knitr::opts_chunk$set(eval = FALSE)

## -----------------------------------------------------------------------------
#  install.packages('CSTools')
#  library(CSTools)

## -----------------------------------------------------------------------------
#  exp <- lonlat_prec_st

## -----------------------------------------------------------------------------
#  dim(exp$data)
#  #   dataset   var   member   sdate   ftime     lat    lon
#  #      1       1       6       3       31       4      4

## -----------------------------------------------------------------------------
#  ilon <- which(exp$coords$lon %in% 5:12)
#  ilat <- which(exp$coords$lat %in% 40:47)
#  exp$data <- exp$data[, , , , , ilat, ilon, drop = FALSE]
#  names(dim(exp$data)) <- names(dim(lonlat_prec_st$data))
#  exp$coords$lon <- exp$coords$lon[ilon]
#  exp$coords$lat <- exp$coords$lat[ilat]

## -----------------------------------------------------------------------------
#  downscaled <- RainFARM(exp$data, exp$coords$lon, exp$coords$lat,
#                         nf = 20, kmin = 1, nens = 3,
#                         time_dim = c("member", "ftime"))

## -----------------------------------------------------------------------------
#  a <- exp$data[1, 1, 1, 1, 17, , ] * 86400 * 1000
#  a[a > 60] <- 60
#  image(exp$coords$lon, rev(exp$coords$lat), t(apply(a, 2, rev)), xlab = "lon", ylab = "lat",
#        col = rev(terrain.colors(20)), zlim = c(0,60))
#  map("world", add = TRUE)
#  title(main = "pr 17/03/2010 original")
#  a <- exp_down$data[1, 1, 1, 1, 1, 17, , ] * 86400 * 1000
#  a[a > 60] <- 60
#  image(exp_down$coords$lon, rev(exp_down$coords$lat), t(apply(a, 2, rev)), xlab = "lon", ylab = "lat",
#        col = rev(terrain.colors(20)), zlim = c(0, 60))
#  map("world", add = TRUE)
#  title(main = "pr 17/03/2010 downscaled")

## -----------------------------------------------------------------------------
#  ww <- CST_RFWeights("./worldclim.nc", nf = 20, lon = exp$coords$lon, lat = exp$coords$lat)

## -----------------------------------------------------------------------------
#  exp_down_weights <- CST_RainFARM(exp, nf = 20, kmin = 1, nens = 3,
#                                   weights = ww, time_dim = c("member", "ftime"))

## -----------------------------------------------------------------------------
#  exp_down1 <- exp_down$data[, , , , , , , 1]
#  exp_down_weights1 <- exp_down_weights$data[, , , , , , , 1]
#  dim(exp_down1) <- c(member = 6 * 3 * 31, lat = 80, lon = 80)
#  dim(exp_down_weights1) <- c(member = 6 * 3 * 31, lat = 80, lon = 80)
#  ad <- apply(exp_down1, c(2, 3), mean)
#  adw <- apply(exp_down_weights1, c(2, 3), mean);
#  
#  png("Figures/RainFARM_fig2.png", width = 640, height = 243)
#  par(mfrow = c(1,3))
#  a <- exp_down_weights$data[1, 1, 1, 1, 17, , ,1] * 86400 * 1000
#  a[a > 60] <- 60
#  image(exp_down$coords$lon, rev(exp_down$coords$lat), t(apply(a, 2, rev)), xlab = "lon",
#        ylab = "lat", col = rev(terrain.colors(20)), zlim = c(0, 60))
#  map("world", add = TRUE)
#  title(main = "pr 17/03/2010 with weights")
#  a <- ad * 86400 * 1000
#  a[a > 5] <- 5
#  image(exp_down$coords$lon, rev(exp_down$coords$lat), t(apply(a, 2, rev)), xlab = "lon",
#        ylab = "lat", col = rev(terrain.colors(20)), zlim = c(0, 5))
#  map("world", add = TRUE)
#  title(main = "climatology no weights")
#  a <- adw * 86400 * 1000
#  a[a > 5] <- 5
#  image(exp_down$coords$lon, rev(exp_down$coords$lat), t(apply(a, 2, rev)), xlab = "lon",
#        ylab = "lat", col = rev(terrain.colors(20)), zlim = c(0, 5))
#  map("world", add = TRUE)
#  title(main = "climatology with weights")
#  dev.off()

## -----------------------------------------------------------------------------
#  slopes <- CST_RFSlope(exp, time_dim = c("member", "ftime"))
#  dim(slopes)
#  #    dataset   var   sdate
#  #       1       1      3
#  # slopes
#  # , , 1
#  
#  #         [,1]
#  # [1,] 1.09957
#  
#  # , , 2
#  
#  #          [,1]
#  # [1,] 1.768861
#  
#  # , , 3
#  
#  #          [,1]
#  # [1,] 1.190176

