Skip to contents
resolution_Araucaria.knit

This Rmarkdown is part of the following article:

Esser, L.F., Bailly, D., Lima, M.R., Ré, R. 2024. chooseGCM: a toolkit to select General Circulation Models in R. In prep.

Introduction

chooseGCM is a solution for GCMs selection in Climate Change research. We built this Rmarkdown as a way to test the properties of the methods underlying chooseGCM. Results from each function will be presented side by side with changing resolution, allowing better comparison. Here, we have already downloaded GCMs data.

This Rmarkdown will apply different algorithms implemented in chooseGCM in different resolutions. The aim is to understand if resolution changes will affect the GCMs subset selected by algorithms. We expect that results will not change with resolution, since the increase in resolution is just an interpolation of coarser resolution. As a 30 arcsec resolution will be used, we considered just a local scale due to computational and time limitations. We also restricted the variables used to bio1 and bio12 to restrict variation included with variables selection (see the proper Rmarkdown on the effects of variable selection for more information).

# Install and open CRAN libraries
for(x in c("devtools", "geodata", "terra", "tictoc") ){
  if (!require(x, character.only = TRUE)) {
      install.packages(x, dependencies = TRUE)
      library(x, character.only = TRUE)
  }
}

# Install and open chooseGCM
if (!require("chooseGCM", character.only = TRUE)) {
    devtools::install_github("luizesser/chooseGCM")
    library("chooseGCM", character.only = TRUE)
}

# Install and open caretSDM
if (!require("caretSDM", character.only = TRUE)) {
    devtools::install_github("luizesser/caretSDM")
    library("caretSDM", character.only = TRUE)
}

Preparing data

Import study_area

For this demonstration, we will use Araucaria angustifolia, the brazilian pine, as a study case. This flagship species is a key species for the Atlantic Rainforest biodiversity hotspot. Species records were obtained from GBIF and cleaned by excluding records from outside the native region and NAs. This set of records was then used to build a shape of accessible area by merging buffers of 500 km around each record.

occ_data <- geodata::sp_occurrence("Araucaria", "angustifolia")
## 1932 records found
## 0-300-600-900-1200-1500-1800-1932
## 1932 records downloaded
occ_data <- occ_data |>
  dplyr::filter(lon >= -64) |> 
  dplyr::filter(lon <= -33) |> 
  dplyr::filter(lat <= -19.5) |> 
  dplyr::filter(lat >= -33)

study_area <- na.omit(occ_data[,c("lon", "lat")]) |>
  sf::st_as_sf(coords= c(1,2), crs = 4326) |> 
  sf::st_transform(crs=sf::st_crs(6933)) |>
  sf::st_buffer(dist = 500000) |> 
  sf::st_union()

Download GCMs

To obtain GCMs data, we recommend using geodata package, which links directly to the WorldClim 2.1 database. We have previously downloaded GCMs data, but an example code is supplied below.

gcms <- geodata:::.cmods
for (r in c(10, 5, 2.5)) {
  for ( g in gcms ) {
    geodata::cmip6_world(model = g,
                         ssp = "585",
                         time = "2081-2100",
                         var = "bioc",
                         res = r,
                         path = ""
    )
  }
}

Import GCMs

The function import_gcms helps the user to import data in the correct way, which is a list of GCMs. Each element of the list is a SpatRaster from terra package, containing all variables. The list should be named with GCMs names to better plot results.

tictoc::tic()
s10 <- chooseGCM::import_gcms(path = "~/storage/WC_data/WC_data_all_gcms_10/", 
                              gcm_names = c("ACCESS-CM2","ACCESS-ESM1-5",
                                            "CanESM5-CanOE","CMCC-ESM2",
                                            "CNRM-CM6-1-HR","CNRM-CM6-1",
                                            "CNRM-ESM2-1","EC-Earth3-Veg",
                                            "EC-Earth3-Veg-LR","FIO-ESM-2-0",
                                            "GISS-E2-1-G","GISS-E2-1-H",
                                            "HadGEM3-GC31-LL","INM-CM5-0",
                                            "INM-CM4-8","IPSL-CM6A-LR",
                                            "MIROC-ES2L","MIROC6",
                                            "MPI-ESM1-2-LR","MPI-ESM1-2-HR",
                                            "MRI-ESM2-0","UKESM1-0-LL"))
tictoc::toc()
## 0.171 sec elapsed
tictoc::tic()
s5 <- chooseGCM::import_gcms(path = "~/storage/WC_data/WC_data_all_gcms_5", 
                              gcm_names = c("ACCESS-CM2","ACCESS-ESM1-5",
                                            "CanESM5-CanOE","CMCC-ESM2",
                                            "CNRM-CM6-1-HR","CNRM-CM6-1",
                                            "CNRM-ESM2-1","EC-Earth3-Veg",
                                            "EC-Earth3-Veg-LR","FIO-ESM-2-0",
                                            "GISS-E2-1-G","GISS-E2-1-H",
                                            "HadGEM3-GC31-LL","INM-CM5-0",
                                            "INM-CM4-8","IPSL-CM6A-LR",
                                            "MIROC-ES2L","MIROC6",
                                            "MPI-ESM1-2-LR","MPI-ESM1-2-HR",
                                            "MRI-ESM2-0","UKESM1-0-LL"))
tictoc::toc()
## 0.12 sec elapsed
tictoc::tic()
s25 <- chooseGCM::import_gcms(path = "~/storage/WC_data/WC_data_all_gcms_25", 
                              gcm_names = c("ACCESS-CM2","ACCESS-ESM1-5",
                                            "CanESM5-CanOE","CMCC-ESM2",
                                            "CNRM-CM6-1-HR","CNRM-CM6-1",
                                            "CNRM-ESM2-1","EC-Earth3-Veg",
                                            "EC-Earth3-Veg-LR","FIO-ESM-2-0",
                                            "GISS-E2-1-G","GISS-E2-1-H",
                                            "HadGEM3-GC31-LL","INM-CM5-0",
                                            "INM-CM4-8","IPSL-CM6A-LR",
                                            "MIROC-ES2L","MIROC6",
                                            "MPI-ESM1-2-LR","MPI-ESM1-2-HR",
                                            "MRI-ESM2-0","UKESM1-0-LL"))
tictoc::toc()
## 0.118 sec elapsed
tictoc::tic()
s30 <- chooseGCM::import_gcms(path = "~/storage/WC_data/WC_data_all_gcms_30", 
                              gcm_names = c("ACCESS-CM2","ACCESS-ESM1-5",
                                            "CanESM5-CanOE","CMCC-ESM2",
                                            "CNRM-CM6-1-HR","CNRM-CM6-1",
                                            "CNRM-ESM2-1","EC-Earth3-Veg",
                                            "EC-Earth3-Veg-LR","FIO-ESM-2-0",
                                            "GISS-E2-1-G","GISS-E2-1-H",
                                            "HadGEM3-GC31-LL","INM-CM5-0",
                                            "INM-CM4-8","IPSL-CM6A-LR",
                                            "MIROC-ES2L","MIROC6",
                                            "MPI-ESM1-2-LR","MPI-ESM1-2-HR",
                                            "MRI-ESM2-0","UKESM1-0-LL"))
tictoc::toc()
## 0.12 sec elapsed

Importing GCMs data into R had an marginal difference in time, despite the big difference in size from different files.

Applying algorithms

Hierarchical Clustering selection

tictoc::tic("Hierarchical Clustering subset s10")
mc_hclust10 <- montecarlo_gcms(s10, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             scale = TRUE,
                             perm = 10000, 
                             dist_method = "euclidean", 
                             clustering_method = "hclust")
## Warning: The `<scale>` argument of `guides()` cannot be `FALSE`. Use "none" instead as
## of ggplot2 3.3.4.
## ℹ The deprecated feature was likely used in the factoextra package.
##   Please report the issue at <https://github.com/kassambara/factoextra/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
mc_hclust10
## $montecarlo_plot

## 
## $suggested_gcms
## $suggested_gcms$k2
## [1] "ACCESS-ESM1-5"    "EC-Earth3-Veg-LR"
## 
## $suggested_gcms$k3
## [1] "ACCESS-ESM1-5"    "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k4
## [1] "ACCESS-ESM1-5"    "CanESM5-CanOE"    "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k5
## [1] "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"        "EC-Earth3-Veg-LR"
## [5] "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k6
## [1] "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"        "EC-Earth3-Veg-LR"
## [5] "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k7
## [1] "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"        "INM-CM4-8"       
## [5] "EC-Earth3-Veg-LR" "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k8
## [1] "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"        "INM-CM4-8"       
## [5] "EC-Earth3-Veg-LR" "GISS-E2-1-H"      "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k9
## [1] "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"        "INM-CM4-8"       
## [5] "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "GISS-E2-1-H"      "MPI-ESM1-2-LR"   
## [9] "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k10
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "INM-CM4-8"        "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "GISS-E2-1-H"     
##  [9] "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k11
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "INM-CM4-8"        "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "GISS-E2-1-H"     
##  [9] "MPI-ESM1-2-LR"    "IPSL-CM6A-LR"     "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k12
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "INM-CM4-8"        "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "GISS-E2-1-H"     
##  [9] "INM-CM5-0"        "IPSL-CM6A-LR"     "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k13
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "INM-CM4-8"        "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "MRI-ESM2-0"      
##  [9] "GISS-E2-1-H"      "INM-CM5-0"        "IPSL-CM6A-LR"     "MPI-ESM1-2-LR"   
## [13] "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k14
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "INM-CM4-8"        "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "MRI-ESM2-0"      
##  [9] "GISS-E2-1-H"      "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"      
## [13] "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k15
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "INM-CM4-8"        "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "MRI-ESM2-0"      
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "INM-CM5-0"        "IPSL-CM6A-LR"    
## [13] "MIROC-ES2L"       "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k16
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "MRI-ESM2-0"      
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "INM-CM4-8"        "INM-CM5-0"       
## [13] "IPSL-CM6A-LR"     "MIROC-ES2L"       "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k17
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "MRI-ESM2-0"      
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "INM-CM4-8"        "INM-CM5-0"       
## [13] "IPSL-CM6A-LR"     "MIROC-ES2L"       "MIROC6"           "MPI-ESM1-2-HR"   
## [17] "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k18
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "MRI-ESM2-0"      
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL"  "INM-CM4-8"       
## [13] "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"       "MIROC6"          
## [17] "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k19
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL"  "INM-CM4-8"       
## [13] "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"       "MIROC6"          
## [17] "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## 
## $suggested_gcms$k20
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg"    "EC-Earth3-Veg-LR"
##  [9] "FIO-ESM-2-0"      "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL" 
## [13] "INM-CM4-8"        "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"      
## [17] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## 
## $suggested_gcms$k21
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg"    "EC-Earth3-Veg-LR"
##  [9] "FIO-ESM-2-0"      "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL" 
## [13] "INM-CM4-8"        "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"      
## [17] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## [21] "UKESM1-0-LL"
hclust_subset10 <- mc_hclust10$suggested_gcms$k5
tictoc::toc()
## Hierarchical Clustering subset s10: 14.762 sec elapsed
tictoc::tic("Hierarchical Clustering subset s5")
mc_hclust5 <- montecarlo_gcms(s5, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             scale = TRUE,
                             perm = 10000, 
                             dist_method = "euclidean", 
                             clustering_method = "hclust")
mc_hclust5
## $montecarlo_plot

## 
## $suggested_gcms
## $suggested_gcms$k2
## [1] "FIO-ESM-2-0"      "EC-Earth3-Veg-LR"
## 
## $suggested_gcms$k3
## [1] "FIO-ESM-2-0"      "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k4
## [1] "FIO-ESM-2-0"      "CanESM5-CanOE"    "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k5
## [1] "ACCESS-CM2"       "CanESM5-CanOE"    "FIO-ESM-2-0"      "EC-Earth3-Veg-LR"
## [5] "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k6
## [1] "ACCESS-CM2"       "CanESM5-CanOE"    "FIO-ESM-2-0"      "EC-Earth3-Veg-LR"
## [5] "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k7
## [1] "ACCESS-CM2"       "CanESM5-CanOE"    "FIO-ESM-2-0"      "CNRM-CM6-1"      
## [5] "EC-Earth3-Veg-LR" "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k8
## [1] "ACCESS-CM2"       "CanESM5-CanOE"    "FIO-ESM-2-0"      "CNRM-CM6-1"      
## [5] "EC-Earth3-Veg-LR" "GISS-E2-1-H"      "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k9
## [1] "ACCESS-CM2"       "CanESM5-CanOE"    "FIO-ESM-2-0"      "CNRM-CM6-1"      
## [5] "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "GISS-E2-1-H"      "MPI-ESM1-2-LR"   
## [9] "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k10
##  [1] "ACCESS-CM2"       "HadGEM3-GC31-LL"  "CanESM5-CanOE"    "FIO-ESM-2-0"     
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "GISS-E2-1-H"     
##  [9] "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k11
##  [1] "ACCESS-CM2"       "HadGEM3-GC31-LL"  "CanESM5-CanOE"    "FIO-ESM-2-0"     
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "GISS-E2-1-H"     
##  [9] "MPI-ESM1-2-LR"    "IPSL-CM6A-LR"     "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k12
##  [1] "ACCESS-CM2"       "HadGEM3-GC31-LL"  "CanESM5-CanOE"    "FIO-ESM-2-0"     
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "GISS-E2-1-H"     
##  [9] "INM-CM5-0"        "IPSL-CM6A-LR"     "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k13
##  [1] "ACCESS-CM2"       "HadGEM3-GC31-LL"  "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-H"      "INM-CM5-0"        "IPSL-CM6A-LR"     "MPI-ESM1-2-LR"   
## [13] "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k14
##  [1] "ACCESS-CM2"       "HadGEM3-GC31-LL"  "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-H"      "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC6"          
## [13] "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k15
##  [1] "ACCESS-CM2"       "HadGEM3-GC31-LL"  "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "INM-CM5-0"        "IPSL-CM6A-LR"    
## [13] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k16
##  [1] "ACCESS-CM2"       "HadGEM3-GC31-LL"  "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "INM-CM4-8"        "INM-CM5-0"       
## [13] "IPSL-CM6A-LR"     "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k17
##  [1] "ACCESS-CM2"       "HadGEM3-GC31-LL"  "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "INM-CM4-8"        "INM-CM5-0"       
## [13] "IPSL-CM6A-LR"     "MIROC-ES2L"       "MIROC6"           "MPI-ESM1-2-HR"   
## [17] "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k18
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL"  "INM-CM4-8"       
## [13] "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"       "MIROC6"          
## [17] "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k19
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL"  "INM-CM4-8"       
## [13] "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"       "MIROC6"          
## [17] "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## 
## $suggested_gcms$k20
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg"    "EC-Earth3-Veg-LR"
##  [9] "FIO-ESM-2-0"      "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL" 
## [13] "INM-CM4-8"        "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"      
## [17] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## 
## $suggested_gcms$k21
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg"    "EC-Earth3-Veg-LR"
##  [9] "FIO-ESM-2-0"      "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL" 
## [13] "INM-CM4-8"        "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"      
## [17] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## [21] "UKESM1-0-LL"
hclust_subset5 <- mc_hclust5$suggested_gcms$k5
tictoc::toc()
## Hierarchical Clustering subset s5: 27.168 sec elapsed
tictoc::tic("Hierarchical Clustering subset s25")
mc_hclust25 <- montecarlo_gcms(s25, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             scale = TRUE,
                             perm = 10000, 
                             dist_method = "euclidean", 
                             clustering_method = "hclust")
mc_hclust25
## $montecarlo_plot

## 
## $suggested_gcms
## $suggested_gcms$k2
## [1] "FIO-ESM-2-0" "CNRM-ESM2-1"
## 
## $suggested_gcms$k3
## [1] "FIO-ESM-2-0"   "CNRM-ESM2-1"   "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k4
## [1] "FIO-ESM-2-0"   "CanESM5-CanOE" "CNRM-ESM2-1"   "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k5
## [1] "UKESM1-0-LL"   "CanESM5-CanOE" "FIO-ESM-2-0"   "CNRM-ESM2-1"  
## [5] "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k6
## [1] "UKESM1-0-LL"   "CanESM5-CanOE" "FIO-ESM-2-0"   "CNRM-ESM2-1"  
## [5] "MIROC-ES2L"    "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k7
## [1] "UKESM1-0-LL"   "CanESM5-CanOE" "FIO-ESM-2-0"   "CNRM-CM6-1"   
## [5] "CNRM-ESM2-1"   "MIROC-ES2L"    "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k8
## [1] "UKESM1-0-LL"   "CanESM5-CanOE" "FIO-ESM-2-0"   "CNRM-CM6-1"   
## [5] "CNRM-ESM2-1"   "GISS-E2-1-G"   "MIROC-ES2L"    "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k9
## [1] "UKESM1-0-LL"   "CanESM5-CanOE" "FIO-ESM-2-0"   "CNRM-CM6-1"   
## [5] "CNRM-ESM2-1"   "EC-Earth3-Veg" "GISS-E2-1-G"   "MIROC-ES2L"   
## [9] "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k10
##  [1] "ACCESS-CM2"    "UKESM1-0-LL"   "CanESM5-CanOE" "FIO-ESM-2-0"  
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "GISS-E2-1-G"  
##  [9] "MIROC-ES2L"    "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k11
##  [1] "ACCESS-CM2"    "UKESM1-0-LL"   "CanESM5-CanOE" "FIO-ESM-2-0"  
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "GISS-E2-1-G"  
##  [9] "MIROC-ES2L"    "IPSL-CM6A-LR"  "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k12
##  [1] "ACCESS-CM2"    "UKESM1-0-LL"   "CanESM5-CanOE" "FIO-ESM-2-0"  
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "GISS-E2-1-G"  
##  [9] "INM-CM5-0"     "IPSL-CM6A-LR"  "MIROC-ES2L"    "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k13
##  [1] "ACCESS-CM2"    "UKESM1-0-LL"   "CanESM5-CanOE" "CMCC-ESM2"    
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "FIO-ESM-2-0"  
##  [9] "GISS-E2-1-G"   "INM-CM5-0"     "IPSL-CM6A-LR"  "MIROC-ES2L"   
## [13] "MPI-ESM1-2-HR"
## 
## $suggested_gcms$k14
##  [1] "ACCESS-CM2"    "UKESM1-0-LL"   "CanESM5-CanOE" "CMCC-ESM2"    
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "FIO-ESM-2-0"  
##  [9] "GISS-E2-1-G"   "INM-CM5-0"     "IPSL-CM6A-LR"  "MIROC-ES2L"   
## [13] "MPI-ESM1-2-HR" "MPI-ESM1-2-LR"
## 
## $suggested_gcms$k15
##  [1] "ACCESS-CM2"    "UKESM1-0-LL"   "CanESM5-CanOE" "CMCC-ESM2"    
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "FIO-ESM-2-0"  
##  [9] "GISS-E2-1-G"   "GISS-E2-1-H"   "INM-CM5-0"     "IPSL-CM6A-LR" 
## [13] "MIROC-ES2L"    "MPI-ESM1-2-HR" "MPI-ESM1-2-LR"
## 
## $suggested_gcms$k16
##  [1] "ACCESS-CM2"    "UKESM1-0-LL"   "CanESM5-CanOE" "CMCC-ESM2"    
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "FIO-ESM-2-0"  
##  [9] "GISS-E2-1-G"   "GISS-E2-1-H"   "INM-CM4-8"     "INM-CM5-0"    
## [13] "IPSL-CM6A-LR"  "MIROC-ES2L"    "MPI-ESM1-2-HR" "MPI-ESM1-2-LR"
## 
## $suggested_gcms$k17
##  [1] "ACCESS-CM2"    "UKESM1-0-LL"   "CanESM5-CanOE" "CMCC-ESM2"    
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "FIO-ESM-2-0"  
##  [9] "GISS-E2-1-G"   "GISS-E2-1-H"   "INM-CM4-8"     "INM-CM5-0"    
## [13] "IPSL-CM6A-LR"  "MIROC-ES2L"    "MIROC6"        "MPI-ESM1-2-HR"
## [17] "MPI-ESM1-2-LR"
## 
## $suggested_gcms$k18
##  [1] "ACCESS-CM2"    "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"    
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "FIO-ESM-2-0"  
##  [9] "GISS-E2-1-G"   "GISS-E2-1-H"   "UKESM1-0-LL"   "INM-CM4-8"    
## [13] "INM-CM5-0"     "IPSL-CM6A-LR"  "MIROC-ES2L"    "MIROC6"       
## [17] "MPI-ESM1-2-HR" "MPI-ESM1-2-LR"
## 
## $suggested_gcms$k19
##  [1] "ACCESS-CM2"    "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"    
##  [5] "CNRM-CM6-1"    "CNRM-ESM2-1"   "EC-Earth3-Veg" "FIO-ESM-2-0"  
##  [9] "GISS-E2-1-G"   "GISS-E2-1-H"   "UKESM1-0-LL"   "INM-CM4-8"    
## [13] "INM-CM5-0"     "IPSL-CM6A-LR"  "MIROC-ES2L"    "MIROC6"       
## [17] "MPI-ESM1-2-HR" "MPI-ESM1-2-LR" "MRI-ESM2-0"   
## 
## $suggested_gcms$k20
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg"    "EC-Earth3-Veg-LR"
##  [9] "FIO-ESM-2-0"      "GISS-E2-1-G"      "GISS-E2-1-H"      "UKESM1-0-LL"     
## [13] "INM-CM4-8"        "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"      
## [17] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## 
## $suggested_gcms$k21
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-ESM2-1"      "EC-Earth3-Veg"    "EC-Earth3-Veg-LR"
##  [9] "FIO-ESM-2-0"      "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL" 
## [13] "INM-CM4-8"        "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"      
## [17] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## [21] "UKESM1-0-LL"
hclust_subset25 <- mc_hclust25$suggested_gcms$k5
tictoc::toc()
## Hierarchical Clustering subset s25: 84.427 sec elapsed
tictoc::tic("Hierarchical Clustering subset s30")
mc_hclust30 <- montecarlo_gcms(s30, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             scale = TRUE,
                             perm = 10000, 
                             dist_method = "euclidean", 
                             clustering_method = "hclust")
## |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          
mc_hclust30
## $montecarlo_plot

## 
## $suggested_gcms
## $suggested_gcms$k2
## [1] "ACCESS-CM2"       "EC-Earth3-Veg-LR"
## 
## $suggested_gcms$k3
## [1] "ACCESS-CM2"       "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k4
## [1] "ACCESS-CM2"       "CanESM5-CanOE"    "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k5
## [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "EC-Earth3-Veg-LR"
## [5] "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k6
## [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "EC-Earth3-Veg-LR"
## [5] "GISS-E2-1-H"      "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k7
## [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CNRM-CM6-1"      
## [5] "EC-Earth3-Veg-LR" "GISS-E2-1-H"      "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k8
## [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CNRM-CM6-1"      
## [5] "EC-Earth3-Veg-LR" "GISS-E2-1-H"      "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k9
## [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CNRM-CM6-1"      
## [5] "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "GISS-E2-1-H"      "MPI-ESM1-2-LR"   
## [9] "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k10
##  [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "GISS-E2-1-H"     
##  [9] "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k11
##  [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "GISS-E2-1-H"     
##  [9] "MPI-ESM1-2-LR"    "IPSL-CM6A-LR"     "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k12
##  [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "GISS-E2-1-H"     
##  [9] "INM-CM5-0"        "IPSL-CM6A-LR"     "MPI-ESM1-2-LR"    "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k13
##  [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-H"      "INM-CM5-0"        "IPSL-CM6A-LR"     "MPI-ESM1-2-LR"   
## [13] "MPI-ESM1-2-HR"   
## 
## $suggested_gcms$k14
##  [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-H"      "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC6"          
## [13] "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k15
##  [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "INM-CM5-0"        "IPSL-CM6A-LR"    
## [13] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k16
##  [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "INM-CM4-8"        "INM-CM5-0"       
## [13] "IPSL-CM6A-LR"     "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k17
##  [1] "ACCESS-CM2"       "UKESM1-0-LL"      "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "INM-CM4-8"        "INM-CM5-0"       
## [13] "IPSL-CM6A-LR"     "MIROC-ES2L"       "MIROC6"           "MPI-ESM1-2-HR"   
## [17] "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k18
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "UKESM1-0-LL"      "INM-CM4-8"       
## [13] "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"       "MIROC6"          
## [17] "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"   
## 
## $suggested_gcms$k19
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg-LR" "FIO-ESM-2-0"     
##  [9] "GISS-E2-1-G"      "GISS-E2-1-H"      "UKESM1-0-LL"      "INM-CM4-8"       
## [13] "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"       "MIROC6"          
## [17] "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## 
## $suggested_gcms$k20
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg"    "EC-Earth3-Veg-LR"
##  [9] "FIO-ESM-2-0"      "GISS-E2-1-G"      "GISS-E2-1-H"      "UKESM1-0-LL"     
## [13] "INM-CM4-8"        "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"      
## [17] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## 
## $suggested_gcms$k21
##  [1] "ACCESS-CM2"       "ACCESS-ESM1-5"    "CanESM5-CanOE"    "CMCC-ESM2"       
##  [5] "CNRM-CM6-1"       "CNRM-CM6-1-HR"    "EC-Earth3-Veg"    "EC-Earth3-Veg-LR"
##  [9] "FIO-ESM-2-0"      "GISS-E2-1-G"      "GISS-E2-1-H"      "HadGEM3-GC31-LL" 
## [13] "INM-CM4-8"        "INM-CM5-0"        "IPSL-CM6A-LR"     "MIROC-ES2L"      
## [17] "MIROC6"           "MPI-ESM1-2-HR"    "MPI-ESM1-2-LR"    "MRI-ESM2-0"      
## [21] "UKESM1-0-LL"
hclust_subset30 <- mc_hclust30$suggested_gcms$k5
tictoc::toc()
## Hierarchical Clustering subset s30: 2231.414 sec elapsed

Kmeans selection

tictoc::tic("K-means Clustering subset s10")
mc_kmeans10 <- montecarlo_gcms(s10, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             scale = TRUE,
                             perm = 10000, 
                             dist_method = "euclidean", 
                             clustering_method = "kmeans")
mc_kmeans10
## $montecarlo_plot

## 
## $suggested_gcms
## $suggested_gcms$k2
##               1               2 
## "CanESM5-CanOE"   "CNRM-ESM2-1" 
## 
## $suggested_gcms$k3
##               1               2               3 
##    "MRI-ESM2-0"   "CNRM-ESM2-1" "CanESM5-CanOE" 
## 
## $suggested_gcms$k4
##               1               2               3               4 
## "MPI-ESM1-2-HR" "CanESM5-CanOE"   "CNRM-ESM2-1"    "MRI-ESM2-0" 
## 
## $suggested_gcms$k5
##               1               2               3               4               5 
## "CanESM5-CanOE"    "MRI-ESM2-0"   "UKESM1-0-LL" "MPI-ESM1-2-HR"    "CNRM-CM6-1" 
## 
## $suggested_gcms$k6
##               1               2               3               4               5 
##     "INM-CM4-8"    "MRI-ESM2-0" "EC-Earth3-Veg" "MPI-ESM1-2-HR" "CanESM5-CanOE" 
##               6 
##   "UKESM1-0-LL" 
## 
## $suggested_gcms$k7
##               1               2               3               4               5 
##   "UKESM1-0-LL" "MPI-ESM1-2-HR"   "FIO-ESM-2-0" "CanESM5-CanOE"     "INM-CM4-8" 
##               6               7 
##    "MRI-ESM2-0" "EC-Earth3-Veg" 
## 
## $suggested_gcms$k8
##               1               2               3               4               5 
##   "GISS-E2-1-G"   "FIO-ESM-2-0"    "MIROC-ES2L" "CanESM5-CanOE"   "UKESM1-0-LL" 
##               6               7               8 
## "EC-Earth3-Veg" "MPI-ESM1-2-HR"     "INM-CM4-8" 
## 
## $suggested_gcms$k9
##               1               2               3               4               5 
##    "MIROC-ES2L"   "UKESM1-0-LL"   "CNRM-ESM2-1"   "GISS-E2-1-G"  "IPSL-CM6A-LR" 
##               6               7               8               9 
## "MPI-ESM1-2-HR"    "CNRM-CM6-1" "CanESM5-CanOE"   "FIO-ESM-2-0" 
## 
## $suggested_gcms$k10
##               1               2               3               4               5 
##   "UKESM1-0-LL"   "GISS-E2-1-H"   "FIO-ESM-2-0" "MPI-ESM1-2-HR" "CanESM5-CanOE" 
##               6               7               8               9              10 
##    "MIROC-ES2L"   "CNRM-ESM2-1"  "IPSL-CM6A-LR"   "GISS-E2-1-G"    "CNRM-CM6-1" 
## 
## $suggested_gcms$k11
##               1               2               3               4               5 
##    "CNRM-CM6-1"   "CNRM-ESM2-1"     "CMCC-ESM2"   "UKESM1-0-LL"    "ACCESS-CM2" 
##               6               7               8               9              10 
##   "GISS-E2-1-H"   "GISS-E2-1-G" "MPI-ESM1-2-HR" "CanESM5-CanOE"    "MIROC-ES2L" 
##              11 
##  "IPSL-CM6A-LR" 
## 
## $suggested_gcms$k12
##               1               2               3               4               5 
## "CanESM5-CanOE"    "CNRM-CM6-1" "MPI-ESM1-2-HR"     "CMCC-ESM2" "EC-Earth3-Veg" 
##               6               7               8               9              10 
##   "GISS-E2-1-G" "CNRM-CM6-1-HR"  "IPSL-CM6A-LR"   "UKESM1-0-LL"    "ACCESS-CM2" 
##              11              12 
##   "GISS-E2-1-H"    "MIROC-ES2L" 
## 
## $suggested_gcms$k13
##               1               2               3               4               5 
##     "INM-CM5-0" "EC-Earth3-Veg"     "CMCC-ESM2" "MPI-ESM1-2-HR"   "GISS-E2-1-H" 
##               6               7               8               9              10 
##  "IPSL-CM6A-LR" "CanESM5-CanOE" "CNRM-CM6-1-HR"    "ACCESS-CM2"    "MIROC-ES2L" 
##              11              12              13 
##   "UKESM1-0-LL"    "CNRM-CM6-1"   "GISS-E2-1-G" 
## 
## $suggested_gcms$k14
##               1               2               3               4               5 
##  "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "CNRM-CM6-1-HR" "EC-Earth3-Veg"    "ACCESS-CM2" 
##               6               7               8               9              10 
##    "CNRM-CM6-1"   "GISS-E2-1-H"     "CMCC-ESM2" "MPI-ESM1-2-LR"   "UKESM1-0-LL" 
##              11              12              13              14 
##   "GISS-E2-1-G"     "INM-CM5-0" "CanESM5-CanOE"    "MIROC-ES2L" 
## 
## $suggested_gcms$k15
##               1               2               3               4               5 
## "CNRM-CM6-1-HR"    "MRI-ESM2-0" "EC-Earth3-Veg"   "GISS-E2-1-H"   "UKESM1-0-LL" 
##               6               7               8               9              10 
## "MPI-ESM1-2-LR" "CanESM5-CanOE" "MPI-ESM1-2-HR"    "ACCESS-CM2"    "CNRM-CM6-1" 
##              11              12              13              14              15 
##    "MIROC-ES2L"     "INM-CM5-0"   "GISS-E2-1-G"  "IPSL-CM6A-LR"     "CMCC-ESM2" 
## 
## $suggested_gcms$k16
##               1               2               3               4               5 
## "EC-Earth3-Veg" "MPI-ESM1-2-LR"     "INM-CM5-0"   "GISS-E2-1-G"     "CMCC-ESM2" 
##               6               7               8               9              10 
##   "GISS-E2-1-H"    "CNRM-CM6-1"  "IPSL-CM6A-LR" "CanESM5-CanOE"   "UKESM1-0-LL" 
##              11              12              13              14              15 
## "CNRM-CM6-1-HR" "MPI-ESM1-2-HR"    "MRI-ESM2-0"        "MIROC6"    "MIROC-ES2L" 
##              16 
##    "ACCESS-CM2" 
## 
## $suggested_gcms$k17
##                 1                 2                 3                 4 
##      "MIROC-ES2L"    "IPSL-CM6A-LR"   "CNRM-CM6-1-HR"     "GISS-E2-1-G" 
##                 5                 6                 7                 8 
##   "MPI-ESM1-2-LR"   "ACCESS-ESM1-5"   "EC-Earth3-Veg"       "INM-CM5-0" 
##                 9                10                11                12 
##          "MIROC6"   "MPI-ESM1-2-HR"       "CMCC-ESM2"      "MRI-ESM2-0" 
##                13                14                15                16 
##      "ACCESS-CM2"      "CNRM-CM6-1" "HadGEM3-GC31-LL"     "GISS-E2-1-H" 
##                17 
##   "CanESM5-CanOE" 
## 
## $suggested_gcms$k18
##                 1                 2                 3                 4 
##      "CNRM-CM6-1"     "GISS-E2-1-G"       "INM-CM4-8"   "CanESM5-CanOE" 
##                 5                 6                 7                 8 
## "HadGEM3-GC31-LL"          "MIROC6"   "ACCESS-ESM1-5"    "IPSL-CM6A-LR" 
##                 9                10                11                12 
##       "INM-CM5-0"       "CMCC-ESM2"   "CNRM-CM6-1-HR"      "MIROC-ES2L" 
##                13                14                15                16 
##      "MRI-ESM2-0"   "MPI-ESM1-2-HR"      "ACCESS-CM2"   "EC-Earth3-Veg" 
##                17                18 
##     "GISS-E2-1-H"   "MPI-ESM1-2-LR" 
## 
## $suggested_gcms$k19
##                  1                  2                  3                  4 
##    "MPI-ESM1-2-HR"        "INM-CM5-0"       "CNRM-CM6-1"    "EC-Earth3-Veg" 
##                  5                  6                  7                  8 
##  "HadGEM3-GC31-LL"       "MIROC-ES2L"        "CMCC-ESM2"      "GISS-E2-1-G" 
##                  9                 10                 11                 12 
##    "CanESM5-CanOE"    "MPI-ESM1-2-LR"    "CNRM-CM6-1-HR"     "IPSL-CM6A-LR" 
##                 13                 14                 15                 16 
##      "GISS-E2-1-H"    "ACCESS-ESM1-5"       "ACCESS-CM2"       "MRI-ESM2-0" 
##                 17                 18                 19 
##        "INM-CM4-8"           "MIROC6" "EC-Earth3-Veg-LR" 
## 
## $suggested_gcms$k20
##                  1                  2                  3                  4 
## "EC-Earth3-Veg-LR"    "MPI-ESM1-2-LR"    "ACCESS-ESM1-5"        "INM-CM5-0" 
##                  5                  6                  7                  8 
##    "MPI-ESM1-2-HR"       "ACCESS-CM2"    "CNRM-CM6-1-HR"           "MIROC6" 
##                  9                 10                 11                 12 
##      "FIO-ESM-2-0"        "INM-CM4-8"      "GISS-E2-1-H"       "MRI-ESM2-0" 
##                 13                 14                 15                 16 
##      "GISS-E2-1-G"     "IPSL-CM6A-LR"       "CNRM-CM6-1"    "CanESM5-CanOE" 
##                 17                 18                 19                 20 
##       "MIROC-ES2L"  "HadGEM3-GC31-LL"        "CMCC-ESM2"    "EC-Earth3-Veg" 
## 
## $suggested_gcms$k21
##                  1                  2                  3                  4 
##     "IPSL-CM6A-LR"        "INM-CM4-8"    "MPI-ESM1-2-LR"    "ACCESS-ESM1-5" 
##                  5                  6                  7                  8 
##           "MIROC6"    "MPI-ESM1-2-HR"    "CNRM-CM6-1-HR" "EC-Earth3-Veg-LR" 
##                  9                 10                 11                 12 
##    "CanESM5-CanOE"      "FIO-ESM-2-0"      "CNRM-ESM2-1"        "INM-CM5-0" 
##                 13                 14                 15                 16 
##    "EC-Earth3-Veg"       "ACCESS-CM2"  "HadGEM3-GC31-LL"       "MIROC-ES2L" 
##                 17                 18                 19                 20 
##       "CNRM-CM6-1"       "MRI-ESM2-0"      "GISS-E2-1-G"        "CMCC-ESM2" 
##                 21 
##      "GISS-E2-1-H"
kmeans_subset10 <- mc_kmeans10$suggested_gcms$k5
tictoc::toc()
## K-means Clustering subset s10: 24.722 sec elapsed
tictoc::tic("K-means Clustering subset s5")
mc_kmeans5 <- montecarlo_gcms(s5, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             scale = TRUE,
                             perm = 10000, 
                             dist_method = "euclidean", 
                             clustering_method = "kmeans")
mc_kmeans5
## $montecarlo_plot

## 
## $suggested_gcms
## $suggested_gcms$k2
##               1               2 
##   "CNRM-ESM2-1" "CanESM5-CanOE" 
## 
## $suggested_gcms$k3
##               1               2               3 
## "CanESM5-CanOE"   "CNRM-ESM2-1"    "MRI-ESM2-0" 
## 
## $suggested_gcms$k4
##               1               2               3               4 
##   "CNRM-ESM2-1" "MPI-ESM1-2-HR"    "MRI-ESM2-0" "CanESM5-CanOE" 
## 
## $suggested_gcms$k5
##               1               2               3               4               5 
##    "CNRM-CM6-1"   "UKESM1-0-LL" "CanESM5-CanOE" "MPI-ESM1-2-HR"    "MRI-ESM2-0" 
## 
## $suggested_gcms$k6
##               1               2               3               4               5 
##    "MRI-ESM2-0" "CanESM5-CanOE"     "INM-CM4-8" "CNRM-CM6-1-HR"   "UKESM1-0-LL" 
##               6 
## "MPI-ESM1-2-HR" 
## 
## $suggested_gcms$k7
##               1               2               3               4               5 
## "CNRM-CM6-1-HR"   "FIO-ESM-2-0" "MPI-ESM1-2-HR"   "UKESM1-0-LL"     "INM-CM4-8" 
##               6               7 
##    "MRI-ESM2-0" "CanESM5-CanOE" 
## 
## $suggested_gcms$k8
##               1               2               3               4               5 
##  "IPSL-CM6A-LR" "CanESM5-CanOE" "MPI-ESM1-2-HR"   "GISS-E2-1-G"   "FIO-ESM-2-0" 
##               6               7               8 
##   "UKESM1-0-LL" "EC-Earth3-Veg"    "MIROC-ES2L" 
## 
## $suggested_gcms$k9
##               1               2               3               4               5 
## "CanESM5-CanOE"    "CNRM-CM6-1"   "GISS-E2-1-G"  "IPSL-CM6A-LR"    "MIROC-ES2L" 
##               6               7               8               9 
##   "UKESM1-0-LL"   "CNRM-ESM2-1"   "FIO-ESM-2-0" "MPI-ESM1-2-HR" 
## 
## $suggested_gcms$k10
##               1               2               3               4               5 
##   "CNRM-ESM2-1"  "IPSL-CM6A-LR"   "FIO-ESM-2-0" "CanESM5-CanOE"    "CNRM-CM6-1" 
##               6               7               8               9              10 
##    "MIROC-ES2L"   "UKESM1-0-LL"   "GISS-E2-1-H" "MPI-ESM1-2-HR"   "GISS-E2-1-G" 
## 
## $suggested_gcms$k11
##               1               2               3               4               5 
##    "CNRM-CM6-1" "CanESM5-CanOE" "MPI-ESM1-2-HR"    "MIROC-ES2L"   "GISS-E2-1-H" 
##               6               7               8               9              10 
##    "ACCESS-CM2"   "UKESM1-0-LL"   "GISS-E2-1-G"     "CMCC-ESM2"  "IPSL-CM6A-LR" 
##              11 
##   "CNRM-ESM2-1" 
## 
## $suggested_gcms$k12
##               1               2               3               4               5 
##    "CNRM-CM6-1" "MPI-ESM1-2-HR"     "CMCC-ESM2" "CanESM5-CanOE"    "MIROC-ES2L" 
##               6               7               8               9              10 
##    "ACCESS-CM2" "CNRM-CM6-1-HR"   "GISS-E2-1-H"   "UKESM1-0-LL"  "IPSL-CM6A-LR" 
##              11              12 
## "EC-Earth3-Veg"   "GISS-E2-1-G" 
## 
## $suggested_gcms$k13
##               1               2               3               4               5 
##  "IPSL-CM6A-LR" "MPI-ESM1-2-HR"    "CNRM-CM6-1"    "ACCESS-CM2" "CNRM-CM6-1-HR" 
##               6               7               8               9              10 
##     "CMCC-ESM2" "EC-Earth3-Veg"   "UKESM1-0-LL"    "MIROC-ES2L"     "INM-CM5-0" 
##              11              12              13 
## "CanESM5-CanOE"   "GISS-E2-1-G"   "GISS-E2-1-H" 
## 
## $suggested_gcms$k14
##               1               2               3               4               5 
## "MPI-ESM1-2-LR"   "GISS-E2-1-G"   "GISS-E2-1-H" "CNRM-CM6-1-HR" "EC-Earth3-Veg" 
##               6               7               8               9              10 
## "CanESM5-CanOE"    "CNRM-CM6-1"     "CMCC-ESM2"     "INM-CM5-0" "MPI-ESM1-2-HR" 
##              11              12              13              14 
##  "IPSL-CM6A-LR"    "ACCESS-CM2"    "MIROC-ES2L"   "UKESM1-0-LL" 
## 
## $suggested_gcms$k15
##               1               2               3               4               5 
## "CanESM5-CanOE"   "GISS-E2-1-G"     "CMCC-ESM2"  "IPSL-CM6A-LR"    "MIROC-ES2L" 
##               6               7               8               9              10 
## "MPI-ESM1-2-HR"     "INM-CM5-0"   "GISS-E2-1-H"    "ACCESS-CM2"    "CNRM-CM6-1" 
##              11              12              13              14              15 
##   "UKESM1-0-LL"    "MRI-ESM2-0" "MPI-ESM1-2-LR" "EC-Earth3-Veg" "CNRM-CM6-1-HR" 
## 
## $suggested_gcms$k16
##               1               2               3               4               5 
## "MPI-ESM1-2-LR"    "ACCESS-CM2"     "CMCC-ESM2" "MPI-ESM1-2-HR"   "GISS-E2-1-H" 
##               6               7               8               9              10 
## "CanESM5-CanOE"   "UKESM1-0-LL"        "MIROC6"    "MRI-ESM2-0"  "IPSL-CM6A-LR" 
##              11              12              13              14              15 
##   "GISS-E2-1-G" "CNRM-CM6-1-HR"     "INM-CM5-0" "EC-Earth3-Veg"    "CNRM-CM6-1" 
##              16 
##    "MIROC-ES2L" 
## 
## $suggested_gcms$k17
##                 1                 2                 3                 4 
##   "EC-Earth3-Veg"   "MPI-ESM1-2-HR"      "MIROC-ES2L"   "MPI-ESM1-2-LR" 
##                 5                 6                 7                 8 
##      "MRI-ESM2-0"       "CMCC-ESM2"          "MIROC6"      "CNRM-CM6-1" 
##                 9                10                11                12 
##     "GISS-E2-1-G"    "IPSL-CM6A-LR"     "GISS-E2-1-H"   "ACCESS-ESM1-5" 
##                13                14                15                16 
##      "ACCESS-CM2"   "CanESM5-CanOE"   "CNRM-CM6-1-HR" "HadGEM3-GC31-LL" 
##                17 
##       "INM-CM5-0" 
## 
## $suggested_gcms$k18
##                 1                 2                 3                 4 
##     "GISS-E2-1-H"   "EC-Earth3-Veg"   "CanESM5-CanOE"    "IPSL-CM6A-LR" 
##                 5                 6                 7                 8 
##       "CMCC-ESM2"   "MPI-ESM1-2-LR" "HadGEM3-GC31-LL"      "ACCESS-CM2" 
##                 9                10                11                12 
##   "ACCESS-ESM1-5"       "INM-CM5-0"   "CNRM-CM6-1-HR"   "MPI-ESM1-2-HR" 
##                13                14                15                16 
##          "MIROC6"     "GISS-E2-1-G"       "INM-CM4-8"      "MRI-ESM2-0" 
##                17                18 
##      "CNRM-CM6-1"      "MIROC-ES2L" 
## 
## $suggested_gcms$k19
##                  1                  2                  3                  4 
##       "MIROC-ES2L"    "CanESM5-CanOE"    "EC-Earth3-Veg"    "MPI-ESM1-2-LR" 
##                  5                  6                  7                  8 
##       "MRI-ESM2-0"        "CMCC-ESM2"      "GISS-E2-1-G"  "HadGEM3-GC31-LL" 
##                  9                 10                 11                 12 
##       "CNRM-CM6-1"       "ACCESS-CM2" "EC-Earth3-Veg-LR"        "INM-CM4-8" 
##                 13                 14                 15                 16 
##           "MIROC6"     "IPSL-CM6A-LR"    "ACCESS-ESM1-5"    "MPI-ESM1-2-HR" 
##                 17                 18                 19 
##    "CNRM-CM6-1-HR"        "INM-CM5-0"      "GISS-E2-1-H" 
## 
## $suggested_gcms$k20
##                  1                  2                  3                  4 
##    "EC-Earth3-Veg"      "GISS-E2-1-H" "EC-Earth3-Veg-LR"    "ACCESS-ESM1-5" 
##                  5                  6                  7                  8 
##        "CMCC-ESM2"        "INM-CM5-0"    "MPI-ESM1-2-HR"     "IPSL-CM6A-LR" 
##                  9                 10                 11                 12 
##    "CanESM5-CanOE"    "MPI-ESM1-2-LR"       "MRI-ESM2-0"    "CNRM-CM6-1-HR" 
##                 13                 14                 15                 16 
##       "MIROC-ES2L"        "INM-CM4-8"  "HadGEM3-GC31-LL"           "MIROC6" 
##                 17                 18                 19                 20 
##       "ACCESS-CM2"      "GISS-E2-1-G"       "CNRM-CM6-1"      "FIO-ESM-2-0" 
## 
## $suggested_gcms$k21
##                  1                  2                  3                  4 
##    "ACCESS-ESM1-5"    "MPI-ESM1-2-LR"        "CMCC-ESM2"        "INM-CM4-8" 
##                  5                  6                  7                  8 
##     "IPSL-CM6A-LR"        "INM-CM5-0"    "CanESM5-CanOE"           "MIROC6" 
##                  9                 10                 11                 12 
##      "GISS-E2-1-G"  "HadGEM3-GC31-LL"    "MPI-ESM1-2-HR"      "CNRM-ESM2-1" 
##                 13                 14                 15                 16 
##       "MIROC-ES2L"      "GISS-E2-1-H"       "MRI-ESM2-0"       "ACCESS-CM2" 
##                 17                 18                 19                 20 
##      "FIO-ESM-2-0"       "CNRM-CM6-1"    "EC-Earth3-Veg"    "CNRM-CM6-1-HR" 
##                 21 
## "EC-Earth3-Veg-LR"
kmeans_subset5 <- mc_kmeans5$suggested_gcms$k5
tictoc::toc()
## K-means Clustering subset s5: 34.355 sec elapsed
tictoc::tic("K-means Clustering subset s25")
mc_kmeans25 <- montecarlo_gcms(s25, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             scale = TRUE,
                             perm = 10000, 
                             dist_method = "euclidean", 
                             clustering_method = "kmeans")
mc_kmeans25
## $montecarlo_plot

## 
## $suggested_gcms
## $suggested_gcms$k2
##               1               2 
## "CanESM5-CanOE"   "CNRM-ESM2-1" 
## 
## $suggested_gcms$k3
##               1               2               3 
##    "MRI-ESM2-0" "CanESM5-CanOE"   "CNRM-ESM2-1" 
## 
## $suggested_gcms$k4
##               1               2               3               4 
## "CanESM5-CanOE"    "MRI-ESM2-0" "MPI-ESM1-2-HR"   "CNRM-ESM2-1" 
## 
## $suggested_gcms$k5
##               1               2               3               4               5 
## "MPI-ESM1-2-HR"    "CNRM-CM6-1" "CanESM5-CanOE"    "MRI-ESM2-0"   "UKESM1-0-LL" 
## 
## $suggested_gcms$k6
##               1               2               3               4               5 
## "MPI-ESM1-2-HR"     "INM-CM4-8" "CanESM5-CanOE"    "MRI-ESM2-0" "CNRM-CM6-1-HR" 
##               6 
##   "UKESM1-0-LL" 
## 
## $suggested_gcms$k7
##               1               2               3               4               5 
##    "MRI-ESM2-0"  "IPSL-CM6A-LR" "EC-Earth3-Veg" "CanESM5-CanOE" "MPI-ESM1-2-HR" 
##               6               7 
##   "UKESM1-0-LL"   "FIO-ESM-2-0" 
## 
## $suggested_gcms$k8
##               1               2               3               4               5 
## "EC-Earth3-Veg"   "GISS-E2-1-G" "MPI-ESM1-2-HR"   "FIO-ESM-2-0"    "MIROC-ES2L" 
##               6               7               8 
## "CanESM5-CanOE"  "IPSL-CM6A-LR"   "UKESM1-0-LL" 
## 
## $suggested_gcms$k9
##               1               2               3               4               5 
##   "GISS-E2-1-G"   "FIO-ESM-2-0"    "MIROC-ES2L"   "UKESM1-0-LL"    "CNRM-CM6-1" 
##               6               7               8               9 
## "CanESM5-CanOE" "MPI-ESM1-2-HR"  "IPSL-CM6A-LR"   "CNRM-ESM2-1" 
## 
## $suggested_gcms$k10
##               1               2               3               4               5 
##    "CNRM-CM6-1"   "GISS-E2-1-G"   "GISS-E2-1-H"  "IPSL-CM6A-LR"   "UKESM1-0-LL" 
##               6               7               8               9              10 
##   "CNRM-ESM2-1"    "MIROC-ES2L"   "FIO-ESM-2-0" "MPI-ESM1-2-HR" "CanESM5-CanOE" 
## 
## $suggested_gcms$k11
##               1               2               3               4               5 
##   "UKESM1-0-LL"   "GISS-E2-1-H"    "MIROC-ES2L"  "IPSL-CM6A-LR" "MPI-ESM1-2-HR" 
##               6               7               8               9              10 
##    "ACCESS-CM2"   "CNRM-ESM2-1"   "GISS-E2-1-G"     "CMCC-ESM2" "CanESM5-CanOE" 
##              11 
##    "CNRM-CM6-1" 
## 
## $suggested_gcms$k12
##               1               2               3               4               5 
## "EC-Earth3-Veg"   "UKESM1-0-LL"    "CNRM-CM6-1"    "MIROC-ES2L"   "GISS-E2-1-G" 
##               6               7               8               9              10 
##   "GISS-E2-1-H" "MPI-ESM1-2-HR" "CanESM5-CanOE"    "ACCESS-CM2"  "IPSL-CM6A-LR" 
##              11              12 
##     "CMCC-ESM2" "CNRM-CM6-1-HR" 
## 
## $suggested_gcms$k13
##               1               2               3               4               5 
##    "ACCESS-CM2"     "CMCC-ESM2" "CNRM-CM6-1-HR"   "UKESM1-0-LL"    "CNRM-CM6-1" 
##               6               7               8               9              10 
## "CanESM5-CanOE"   "GISS-E2-1-G" "EC-Earth3-Veg"    "MIROC-ES2L" "MPI-ESM1-2-HR" 
##              11              12              13 
##   "GISS-E2-1-H"  "IPSL-CM6A-LR"     "INM-CM5-0" 
## 
## $suggested_gcms$k14
##               1               2               3               4               5 
##   "GISS-E2-1-G"     "INM-CM5-0"  "IPSL-CM6A-LR"   "UKESM1-0-LL"    "MIROC-ES2L" 
##               6               7               8               9              10 
## "CNRM-CM6-1-HR"    "CNRM-CM6-1" "MPI-ESM1-2-LR" "EC-Earth3-Veg" "CanESM5-CanOE" 
##              11              12              13              14 
##    "ACCESS-CM2"     "CMCC-ESM2"   "GISS-E2-1-H" "MPI-ESM1-2-HR" 
## 
## $suggested_gcms$k15
##               1               2               3               4               5 
##    "MRI-ESM2-0"     "INM-CM5-0" "EC-Earth3-Veg"   "UKESM1-0-LL" "MPI-ESM1-2-HR" 
##               6               7               8               9              10 
##  "IPSL-CM6A-LR"    "ACCESS-CM2" "CanESM5-CanOE" "CNRM-CM6-1-HR"   "GISS-E2-1-H" 
##              11              12              13              14              15 
##     "CMCC-ESM2" "MPI-ESM1-2-LR"    "CNRM-CM6-1"    "MIROC-ES2L"   "GISS-E2-1-G" 
## 
## $suggested_gcms$k16
##               1               2               3               4               5 
##   "UKESM1-0-LL" "MPI-ESM1-2-HR" "CanESM5-CanOE"   "GISS-E2-1-H"   "GISS-E2-1-G" 
##               6               7               8               9              10 
##     "CMCC-ESM2" "MPI-ESM1-2-LR"    "ACCESS-CM2"    "MRI-ESM2-0"     "INM-CM5-0" 
##              11              12              13              14              15 
##    "MIROC-ES2L"  "IPSL-CM6A-LR"    "CNRM-CM6-1" "CNRM-CM6-1-HR"        "MIROC6" 
##              16 
## "EC-Earth3-Veg" 
## 
## $suggested_gcms$k17
##                 1                 2                 3                 4 
##      "ACCESS-CM2" "HadGEM3-GC31-LL"     "GISS-E2-1-G"   "CNRM-CM6-1-HR" 
##                 5                 6                 7                 8 
##   "MPI-ESM1-2-HR"   "EC-Earth3-Veg"     "GISS-E2-1-H"          "MIROC6" 
##                 9                10                11                12 
##      "CNRM-CM6-1"   "MPI-ESM1-2-LR"   "ACCESS-ESM1-5"    "IPSL-CM6A-LR" 
##                13                14                15                16 
##   "CanESM5-CanOE"       "INM-CM5-0"       "CMCC-ESM2"      "MIROC-ES2L" 
##                17 
##      "MRI-ESM2-0" 
## 
## $suggested_gcms$k18
##                 1                 2                 3                 4 
##          "MIROC6"     "GISS-E2-1-H"   "CanESM5-CanOE"   "MPI-ESM1-2-HR" 
##                 5                 6                 7                 8 
## "HadGEM3-GC31-LL"   "ACCESS-ESM1-5"       "CMCC-ESM2"   "MPI-ESM1-2-LR" 
##                 9                10                11                12 
##      "ACCESS-CM2"       "INM-CM5-0"    "IPSL-CM6A-LR"      "MIROC-ES2L" 
##                13                14                15                16 
##   "EC-Earth3-Veg"   "CNRM-CM6-1-HR"       "INM-CM4-8"      "CNRM-CM6-1" 
##                17                18 
##     "GISS-E2-1-G"      "MRI-ESM2-0" 
## 
## $suggested_gcms$k19
##                  1                  2                  3                  4 
## "EC-Earth3-Veg-LR"           "MIROC6"        "INM-CM4-8"      "GISS-E2-1-H" 
##                  5                  6                  7                  8 
##      "GISS-E2-1-G"    "CanESM5-CanOE"       "ACCESS-CM2"    "MPI-ESM1-2-HR" 
##                  9                 10                 11                 12 
##    "ACCESS-ESM1-5"       "CNRM-CM6-1"    "EC-Earth3-Veg"    "MPI-ESM1-2-LR" 
##                 13                 14                 15                 16 
##        "CMCC-ESM2"       "MRI-ESM2-0"       "MIROC-ES2L"        "INM-CM5-0" 
##                 17                 18                 19 
##    "CNRM-CM6-1-HR"     "IPSL-CM6A-LR"  "HadGEM3-GC31-LL" 
## 
## $suggested_gcms$k20
##                  1                  2                  3                  4 
##    "ACCESS-ESM1-5"      "FIO-ESM-2-0"    "EC-Earth3-Veg"        "INM-CM4-8" 
##                  5                  6                  7                  8 
##    "CanESM5-CanOE"        "INM-CM5-0"      "GISS-E2-1-G"    "MPI-ESM1-2-HR" 
##                  9                 10                 11                 12 
##    "MPI-ESM1-2-LR"       "MIROC-ES2L" "EC-Earth3-Veg-LR"    "CNRM-CM6-1-HR" 
##                 13                 14                 15                 16 
##           "MIROC6"  "HadGEM3-GC31-LL"        "CMCC-ESM2"       "MRI-ESM2-0" 
##                 17                 18                 19                 20 
##      "GISS-E2-1-H"     "IPSL-CM6A-LR"       "ACCESS-CM2"       "CNRM-CM6-1" 
## 
## $suggested_gcms$k21
##                  1                  2                  3                  4 
##    "ACCESS-ESM1-5"      "GISS-E2-1-H"           "MIROC6"    "CNRM-CM6-1-HR" 
##                  5                  6                  7                  8 
##      "GISS-E2-1-G"       "ACCESS-CM2"     "IPSL-CM6A-LR"        "CMCC-ESM2" 
##                  9                 10                 11                 12 
##        "INM-CM4-8"    "MPI-ESM1-2-LR" "EC-Earth3-Veg-LR"  "HadGEM3-GC31-LL" 
##                 13                 14                 15                 16 
##        "INM-CM5-0"    "MPI-ESM1-2-HR"    "EC-Earth3-Veg"    "CanESM5-CanOE" 
##                 17                 18                 19                 20 
##       "CNRM-CM6-1"       "MRI-ESM2-0"      "FIO-ESM-2-0"       "MIROC-ES2L" 
##                 21 
##      "CNRM-ESM2-1"
kmeans_subset25 <- mc_kmeans25$suggested_gcms$k5
tictoc::toc()
## K-means Clustering subset s25: 85.223 sec elapsed
tictoc::tic("K-means Clustering subset s30")
mc_kmeans30 <- montecarlo_gcms(s30, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             scale = TRUE,
                             perm = 10000, 
                             dist_method = "euclidean", 
                             clustering_method = "kmeans")
## |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          |---------|---------|---------|---------|=========================================                                          
mc_kmeans30
## $montecarlo_plot

## 
## $suggested_gcms
## $suggested_gcms$k2
##               1               2 
## "CanESM5-CanOE"   "CNRM-ESM2-1" 
## 
## $suggested_gcms$k3
##               1               2               3 
##    "MRI-ESM2-0"   "CNRM-ESM2-1" "CanESM5-CanOE" 
## 
## $suggested_gcms$k4
##               1               2               3               4 
##   "CNRM-ESM2-1"    "MRI-ESM2-0" "MPI-ESM1-2-HR" "CanESM5-CanOE" 
## 
## $suggested_gcms$k5
##               1               2               3               4               5 
##    "MRI-ESM2-0" "MPI-ESM1-2-HR"    "CNRM-CM6-1"   "UKESM1-0-LL" "CanESM5-CanOE" 
## 
## $suggested_gcms$k6
##               1               2               3               4               5 
##   "UKESM1-0-LL" "CanESM5-CanOE"    "MRI-ESM2-0" "CNRM-CM6-1-HR"     "INM-CM4-8" 
##               6 
## "MPI-ESM1-2-HR" 
## 
## $suggested_gcms$k7
##               1               2               3               4               5 
##  "IPSL-CM6A-LR"    "MRI-ESM2-0" "EC-Earth3-Veg"   "UKESM1-0-LL" "MPI-ESM1-2-HR" 
##               6               7 
##   "FIO-ESM-2-0" "CanESM5-CanOE" 
## 
## $suggested_gcms$k8
##               1               2               3               4               5 
## "MPI-ESM1-2-HR"  "IPSL-CM6A-LR" "EC-Earth3-Veg"   "GISS-E2-1-G"   "FIO-ESM-2-0" 
##               6               7               8 
##   "UKESM1-0-LL" "CanESM5-CanOE"    "MIROC-ES2L" 
## 
## $suggested_gcms$k9
##               1               2               3               4               5 
##   "GISS-E2-1-G"   "UKESM1-0-LL" "CanESM5-CanOE" "MPI-ESM1-2-HR"   "CNRM-ESM2-1" 
##               6               7               8               9 
##    "MIROC-ES2L"  "IPSL-CM6A-LR"   "FIO-ESM-2-0"    "CNRM-CM6-1" 
## 
## $suggested_gcms$k10
##               1               2               3               4               5 
##   "UKESM1-0-LL"  "IPSL-CM6A-LR"   "GISS-E2-1-G"   "CNRM-ESM2-1"    "CNRM-CM6-1" 
##               6               7               8               9              10 
##    "MIROC-ES2L"   "GISS-E2-1-H"   "FIO-ESM-2-0" "CanESM5-CanOE" "MPI-ESM1-2-HR" 
## 
## $suggested_gcms$k11
##               1               2               3               4               5 
##   "UKESM1-0-LL" "MPI-ESM1-2-HR"     "CMCC-ESM2"  "IPSL-CM6A-LR"   "CNRM-ESM2-1" 
##               6               7               8               9              10 
## "CanESM5-CanOE"   "GISS-E2-1-G"   "GISS-E2-1-H"    "ACCESS-CM2"    "CNRM-CM6-1" 
##              11 
##    "MIROC-ES2L" 
## 
## $suggested_gcms$k12
##               1               2               3               4               5 
##   "GISS-E2-1-H" "MPI-ESM1-2-HR"   "GISS-E2-1-G"    "ACCESS-CM2" "EC-Earth3-Veg" 
##               6               7               8               9              10 
##    "MIROC-ES2L"    "CNRM-CM6-1"     "CMCC-ESM2" "CNRM-CM6-1-HR" "CanESM5-CanOE" 
##              11              12 
##  "IPSL-CM6A-LR"   "UKESM1-0-LL" 
## 
## $suggested_gcms$k13
##               1               2               3               4               5 
##  "IPSL-CM6A-LR" "MPI-ESM1-2-HR"     "CMCC-ESM2"    "ACCESS-CM2"   "UKESM1-0-LL" 
##               6               7               8               9              10 
##    "MIROC-ES2L" "EC-Earth3-Veg" "CNRM-CM6-1-HR"   "GISS-E2-1-G" "CanESM5-CanOE" 
##              11              12              13 
##     "INM-CM5-0"   "GISS-E2-1-H"    "CNRM-CM6-1" 
## 
## $suggested_gcms$k14
##               1               2               3               4               5 
##    "MIROC-ES2L"  "IPSL-CM6A-LR"    "CNRM-CM6-1" "EC-Earth3-Veg"   "UKESM1-0-LL" 
##               6               7               8               9              10 
##     "INM-CM5-0"    "ACCESS-CM2" "CNRM-CM6-1-HR"   "GISS-E2-1-H" "CanESM5-CanOE" 
##              11              12              13              14 
## "MPI-ESM1-2-HR"   "GISS-E2-1-G"     "CMCC-ESM2" "MPI-ESM1-2-LR" 
## 
## $suggested_gcms$k15
##               1               2               3               4               5 
##  "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "MPI-ESM1-2-LR"   "GISS-E2-1-H"   "GISS-E2-1-G" 
##               6               7               8               9              10 
##     "CMCC-ESM2"     "INM-CM5-0"    "CNRM-CM6-1"    "ACCESS-CM2"    "MRI-ESM2-0" 
##              11              12              13              14              15 
## "CNRM-CM6-1-HR" "CanESM5-CanOE"    "MIROC-ES2L" "EC-Earth3-Veg"   "UKESM1-0-LL" 
## 
## $suggested_gcms$k16
##               1               2               3               4               5 
##   "UKESM1-0-LL" "EC-Earth3-Veg"    "MIROC-ES2L" "CNRM-CM6-1-HR"    "CNRM-CM6-1" 
##               6               7               8               9              10 
##   "GISS-E2-1-G"     "INM-CM5-0" "MPI-ESM1-2-LR"    "ACCESS-CM2"  "IPSL-CM6A-LR" 
##              11              12              13              14              15 
## "MPI-ESM1-2-HR"   "GISS-E2-1-H"        "MIROC6" "CanESM5-CanOE"     "CMCC-ESM2" 
##              16 
##    "MRI-ESM2-0" 
## 
## $suggested_gcms$k17
##                 1                 2                 3                 4 
##   "ACCESS-ESM1-5"   "CNRM-CM6-1-HR"       "CMCC-ESM2"      "ACCESS-CM2" 
##                 5                 6                 7                 8 
##     "GISS-E2-1-H"      "MIROC-ES2L"      "CNRM-CM6-1"   "CanESM5-CanOE" 
##                 9                10                11                12 
##    "IPSL-CM6A-LR"     "GISS-E2-1-G"      "MRI-ESM2-0"   "EC-Earth3-Veg" 
##                13                14                15                16 
##   "MPI-ESM1-2-HR"          "MIROC6"   "MPI-ESM1-2-LR" "HadGEM3-GC31-LL" 
##                17 
##       "INM-CM5-0" 
## 
## $suggested_gcms$k18
##                 1                 2                 3                 4 
##   "EC-Earth3-Veg"   "CNRM-CM6-1-HR"   "MPI-ESM1-2-HR"      "MRI-ESM2-0" 
##                 5                 6                 7                 8 
##   "ACCESS-ESM1-5"      "CNRM-CM6-1"          "MIROC6"     "GISS-E2-1-H" 
##                 9                10                11                12 
##   "MPI-ESM1-2-LR"       "CMCC-ESM2"   "CanESM5-CanOE"      "MIROC-ES2L" 
##                13                14                15                16 
## "HadGEM3-GC31-LL"       "INM-CM5-0"      "ACCESS-CM2"    "IPSL-CM6A-LR" 
##                17                18 
##     "GISS-E2-1-G"       "INM-CM4-8" 
## 
## $suggested_gcms$k19
##                  1                  2                  3                  4 
##     "IPSL-CM6A-LR"      "GISS-E2-1-G"       "ACCESS-CM2"    "ACCESS-ESM1-5" 
##                  5                  6                  7                  8 
##           "MIROC6"        "INM-CM5-0"    "MPI-ESM1-2-HR" "EC-Earth3-Veg-LR" 
##                  9                 10                 11                 12 
##    "CanESM5-CanOE"       "MIROC-ES2L"    "CNRM-CM6-1-HR"       "CNRM-CM6-1" 
##                 13                 14                 15                 16 
##        "INM-CM4-8"  "HadGEM3-GC31-LL"        "CMCC-ESM2"    "EC-Earth3-Veg" 
##                 17                 18                 19 
##      "GISS-E2-1-H"    "MPI-ESM1-2-LR"       "MRI-ESM2-0" 
## 
## $suggested_gcms$k20
##                  1                  2                  3                  4 
##     "IPSL-CM6A-LR"      "FIO-ESM-2-0"       "ACCESS-CM2"        "INM-CM5-0" 
##                  5                  6                  7                  8 
##       "CNRM-CM6-1"      "GISS-E2-1-H"       "MRI-ESM2-0"    "MPI-ESM1-2-HR" 
##                  9                 10                 11                 12 
##  "HadGEM3-GC31-LL"    "MPI-ESM1-2-LR"        "CMCC-ESM2"    "EC-Earth3-Veg" 
##                 13                 14                 15                 16 
## "EC-Earth3-Veg-LR"    "ACCESS-ESM1-5"    "CanESM5-CanOE"           "MIROC6" 
##                 17                 18                 19                 20 
##        "INM-CM4-8"       "MIROC-ES2L"    "CNRM-CM6-1-HR"      "GISS-E2-1-G" 
## 
## $suggested_gcms$k21
##                  1                  2                  3                  4 
##       "CNRM-CM6-1"  "HadGEM3-GC31-LL"    "MPI-ESM1-2-HR"           "MIROC6" 
##                  5                  6                  7                  8 
##      "FIO-ESM-2-0"    "CanESM5-CanOE"    "CNRM-CM6-1-HR"      "CNRM-ESM2-1" 
##                  9                 10                 11                 12 
##     "IPSL-CM6A-LR"      "GISS-E2-1-G" "EC-Earth3-Veg-LR"       "ACCESS-CM2" 
##                 13                 14                 15                 16 
##       "MIROC-ES2L"    "MPI-ESM1-2-LR"        "INM-CM5-0"    "ACCESS-ESM1-5" 
##                 17                 18                 19                 20 
##        "INM-CM4-8"        "CMCC-ESM2"       "MRI-ESM2-0"      "GISS-E2-1-H" 
##                 21 
##    "EC-Earth3-Veg"
kmeans_subset30 <- mc_kmeans30$suggested_gcms$k5
tictoc::toc()
## K-means Clustering subset s30: 2232.994 sec elapsed

Closestdist selection

tictoc::tic("Closestdist subset s10")
mc_closestdist10 <- closestdist_gcms(s10, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist10
## $suggested_gcms
## [1] "CNRM-CM6-1"    "MPI-ESM1-2-HR" "MPI-ESM1-2-LR" "MIROC-ES2L"   
## [5] "MIROC6"        "INM-CM5-0"    
## 
## $best_mean_diff
## [1] 0.0008346833
## 
## $global_mean
## [1] 38.9711
closestdist_subset10 <- mc_closestdist10$suggested_gcms
tictoc::toc()
## Closestdist subset s10: 2.935 sec elapsed
tictoc::tic("Closestdist subset s5")
mc_closestdist5 <- closestdist_gcms(s5, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist5
## $suggested_gcms
## [1] "FIO-ESM-2-0"  "MRI-ESM2-0"   "IPSL-CM6A-LR" "GISS-E2-1-H" 
## 
## $best_mean_diff
## [1] 0.002049127
## 
## $global_mean
## [1] 77.77632
closestdist_subset5 <- mc_closestdist5$suggested_gcms
tictoc::toc()
## Closestdist subset s5: 8.157 sec elapsed
tictoc::tic("Closestdist subset s25")
mc_closestdist25 <- closestdist_gcms(s25, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist25
## $suggested_gcms
## [1] "IPSL-CM6A-LR"  "MPI-ESM1-2-HR" "MPI-ESM1-2-LR" "INM-CM5-0"    
## [5] "MIROC-ES2L"    "MIROC6"        "CMCC-ESM2"     "ACCESS-ESM1-5"
## [9] "CNRM-CM6-1"   
## 
## $best_mean_diff
## [1] 0.0004073579
## 
## $global_mean
## [1] 155.428
closestdist_subset25 <- mc_closestdist25$suggested_gcms
tictoc::toc()
## Closestdist subset s25: 31.58 sec elapsed
tictoc::tic("Closestdist subset s30")
mc_closestdist30 <- closestdist_gcms(s30, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist30
## $suggested_gcms
## [1] "CanESM5-CanOE" "GISS-E2-1-H"   "INM-CM4-8"     "CNRM-CM6-1"   
## [5] "IPSL-CM6A-LR"  "EC-Earth3-Veg" "MPI-ESM1-2-LR" "ACCESS-ESM1-5"
## 
## $best_mean_diff
## [1] 0.0212276
## 
## $global_mean
## [1] 774.4607
closestdist_subset30 <- mc_closestdist30$suggested_gcms
tictoc::toc()
## Closestdist subset s30: 852.672 sec elapsed

Closestdist selection with fixed k

tictoc::tic("Closestdist3 subset s10")
mc_closestdist310 <- closestdist_gcms(s10, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             method = "euclidean",
                             k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist310
## $suggested_gcms
## [1] "ACCESS-ESM1-5" "CNRM-CM6-1"    "FIO-ESM-2-0"  
## 
## $best_mean_diff
## [1] 0.003674818
## 
## $global_mean
## [1] 38.9711
closestdist3_subset10 <- mc_closestdist310$suggested_gcms
tictoc::toc()
## Closestdist3 subset s10: 3.013 sec elapsed
tictoc::tic("Closestdist3 subset s5")
mc_closestdist35 <- closestdist_gcms(s5, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             method = "euclidean",
                             k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist35
## $suggested_gcms
## [1] "CMCC-ESM2"        "CNRM-CM6-1"       "EC-Earth3-Veg-LR"
## 
## $best_mean_diff
## [1] 0.01299014
## 
## $global_mean
## [1] 77.77632
closestdist3_subset5 <- mc_closestdist35$suggested_gcms
tictoc::toc()
## Closestdist3 subset s5: 8.655 sec elapsed
tictoc::tic("Closestdist3 subset s25")
mc_closestdist325 <- closestdist_gcms(s25, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             method = "euclidean",
                             k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist325
## $suggested_gcms
## [1] "CNRM-CM6-1"  "FIO-ESM-2-0" "MIROC-ES2L" 
## 
## $best_mean_diff
## [1] 0.1357029
## 
## $global_mean
## [1] 155.428
closestdist3_subset25 <- mc_closestdist325$suggested_gcms
tictoc::toc()
## Closestdist3 subset s25: 30.279 sec elapsed
tictoc::tic("Closestdist3 subset s30")
mc_closestdist330 <- closestdist_gcms(s30, 
                             var_names = c("bio1", "bio12"), 
                             study_area = study_area, 
                             method = "euclidean",
                             k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist330
## $suggested_gcms
## [1] "FIO-ESM-2-0"  "INM-CM5-0"    "IPSL-CM6A-LR"
## 
## $best_mean_diff
## [1] 0.2348406
## 
## $global_mean
## [1] 774.4607
closestdist3_subset30 <- mc_closestdist330$suggested_gcms
tictoc::toc()
## Closestdist3 subset s30: 841.433 sec elapsed

Results

Contrary to our expectations, the change in resolution affected the outputs in every algorithm implemented. The only algorithm with a more stable result was the Kmeans Clustering.

table(c(hclust_subset10, hclust_subset5, hclust_subset25, hclust_subset30))
## 
##       ACCESS-CM2    ACCESS-ESM1-5    CanESM5-CanOE        CMCC-ESM2 
##                2                1                4                1 
##      CNRM-ESM2-1 EC-Earth3-Veg-LR      FIO-ESM-2-0    MPI-ESM1-2-HR 
##                1                3                2                4 
##      UKESM1-0-LL 
##                2
table(c(kmeans_subset10, kmeans_subset5, kmeans_subset25, kmeans_subset30))
## 
## CanESM5-CanOE    CNRM-CM6-1 MPI-ESM1-2-HR    MRI-ESM2-0   UKESM1-0-LL 
##             4             4             4             4             4
table(c(closestdist_subset10, closestdist_subset5, closestdist_subset25, closestdist_subset30))
## 
## ACCESS-ESM1-5 CanESM5-CanOE     CMCC-ESM2    CNRM-CM6-1 EC-Earth3-Veg 
##             2             1             1             3             1 
##   FIO-ESM-2-0   GISS-E2-1-H     INM-CM4-8     INM-CM5-0  IPSL-CM6A-LR 
##             1             2             1             2             3 
##    MIROC-ES2L        MIROC6 MPI-ESM1-2-HR MPI-ESM1-2-LR    MRI-ESM2-0 
##             2             2             2             3             1
table(c(closestdist3_subset10, closestdist3_subset5, closestdist3_subset25, closestdist3_subset30))
## 
##    ACCESS-ESM1-5        CMCC-ESM2       CNRM-CM6-1 EC-Earth3-Veg-LR 
##                1                1                3                1 
##      FIO-ESM-2-0        INM-CM5-0     IPSL-CM6A-LR       MIROC-ES2L 
##                3                1                1                1