
How chooseGCM selection changes with increasing area?
Source:vignettes/articles/Increasing-Area-Effect.Rmd
Increasing-Area-Effect.Rmd
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 variables, allowing better comparison. Here, we have already downloaded GCMs data.
This Rmarkdown will apply different algorithms implemented in chooseGCM in an increasing area. The aim is to understand from which point the GCM selection starts to change. For that, we will use Araucaria angustifolia records and will create a buffer from increassing size.
# 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
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)) {
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.366 sec elapsed
Species Data
For this demonstration, we will use Araucaria angustifolia, the brazilian pine, as a study case. This flagship species is widely modeled and know, and 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 10 buffers from growing size, each buffer 1 degree-wide bigger.
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)
buffer50 <- 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 = 50000) |>
sf::st_union()
buffer100 <- 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 = 100000) |>
sf::st_union()
buffer150 <- 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 = 150000) |>
sf::st_union()
buffer200 <- 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 = 200000) |>
sf::st_union()
buffer250 <- 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 = 250000) |>
sf::st_union()
buffer300 <- 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 = 300000) |>
sf::st_union()
buffer350 <- 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 = 350000) |>
sf::st_union()
buffer400 <- 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 = 400000) |>
sf::st_union()
buffer450 <- 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 = 450000) |>
sf::st_union()
buffer500 <- 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()
plot(buffer50, axes=T)
Applying algorithms
First we will set a seed to standardize randomic outputs.
set.seed(1)
Now we will perform the Monte Carlo analysis to each type of algorithm and to different sets of variables.
Hierarchical Clustering selection
tictoc::tic("Hierarchical Clustering 50")
mc_hclust_50 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer50,
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_hclust_50
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## [1] "CMCC-ESM2" "MPI-ESM1-2-LR"
##
## $suggested_gcms$k3
## [1] "CMCC-ESM2" "IPSL-CM6A-LR" "MPI-ESM1-2-LR"
##
## $suggested_gcms$k4
## [1] "CMCC-ESM2" "IPSL-CM6A-LR" "MPI-ESM1-2-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## [1] "CMCC-ESM2" "IPSL-CM6A-LR" "MPI-ESM1-2-LR" "FIO-ESM-2-0"
## [5] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## [1] "CMCC-ESM2" "HadGEM3-GC31-LL" "IPSL-CM6A-LR" "MPI-ESM1-2-LR"
## [5] "FIO-ESM-2-0" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## [1] "CMCC-ESM2" "HadGEM3-GC31-LL" "CanESM5-CanOE" "MPI-ESM1-2-LR"
## [5] "FIO-ESM-2-0" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## [1] "CMCC-ESM2" "HadGEM3-GC31-LL" "CanESM5-CanOE" "MPI-ESM1-2-LR"
## [5] "CNRM-ESM2-1" "FIO-ESM-2-0" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## [1] "CMCC-ESM2" "HadGEM3-GC31-LL" "CanESM5-CanOE" "MPI-ESM1-2-LR"
## [5] "CNRM-ESM2-1" "FIO-ESM-2-0" "GISS-E2-1-H" "IPSL-CM6A-LR"
## [9] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## [1] "ACCESS-CM2" "HadGEM3-GC31-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "MPI-ESM1-2-LR" "CNRM-ESM2-1" "FIO-ESM-2-0" "GISS-E2-1-H"
## [9] "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k11
## [1] "ACCESS-CM2" "HadGEM3-GC31-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-ESM2-1" "FIO-ESM-2-0" "GISS-E2-1-H"
## [9] "IPSL-CM6A-LR" "MPI-ESM1-2-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k12
## [1] "ACCESS-CM2" "HadGEM3-GC31-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-ESM2-1" "FIO-ESM-2-0" "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" "MPI-ESM1-2-LR"
## [13] "MIROC6" "MPI-ESM1-2-HR"
##
## $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] "MPI-ESM1-2-LR" "MIROC6" "MPI-ESM1-2-HR"
##
## $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" "MPI-ESM1-2-LR" "MIROC6" "MPI-ESM1-2-HR"
##
## $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" "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"
##
## $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_50 <- mc_hclust_50$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 50: 12.179 sec elapsed
tictoc::tic("Hierarchical Clustering 100")
mc_hclust_100 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer100,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "hclust")
mc_hclust_100
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## [1] "MRI-ESM2-0" "CNRM-CM6-1-HR"
##
## $suggested_gcms$k3
## [1] "MRI-ESM2-0" "CNRM-CM6-1-HR" "CanESM5-CanOE"
##
## $suggested_gcms$k4
## [1] "MRI-ESM2-0" "CNRM-CM6-1-HR" "CanESM5-CanOE" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "GISS-E2-1-H" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "GISS-E2-1-H" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "MRI-ESM2-0" "GISS-E2-1-H" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "MRI-ESM2-0" "GISS-E2-1-H" "IPSL-CM6A-LR" "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-HR" "MRI-ESM2-0" "GISS-E2-1-H" "IPSL-CM6A-LR"
## [9] "MPI-ESM1-2-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k11
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "EC-Earth3-Veg-LR" "CNRM-CM6-1-HR" "MRI-ESM2-0" "GISS-E2-1-H"
## [9] "IPSL-CM6A-LR" "MPI-ESM1-2-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k12
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "EC-Earth3-Veg-LR" "CNRM-CM6-1-HR" "MRI-ESM2-0" "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" "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" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "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] "MIROC6" "MPI-ESM1-2-HR"
##
## $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" "MRI-ESM2-0"
## [9] "GISS-E2-1-H" "INM-CM4-8" "INM-CM5-0" "IPSL-CM6A-LR"
## [13] "MPI-ESM1-2-LR" "MIROC6" "MPI-ESM1-2-HR"
##
## $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" "MRI-ESM2-0"
## [9] "GISS-E2-1-G" "GISS-E2-1-H" "INM-CM4-8" "INM-CM5-0"
## [13] "IPSL-CM6A-LR" "MPI-ESM1-2-LR" "MIROC6" "MPI-ESM1-2-HR"
##
## $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" "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" "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" "MRI-ESM2-0"
##
## $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_100 <- mc_hclust_100$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 100: 12.606 sec elapsed
tictoc::tic("Hierarchical Clustering 150")
mc_hclust_150 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer150,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "hclust")
mc_hclust_150
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## [1] "MIROC6" "CanESM5-CanOE"
##
## $suggested_gcms$k3
## [1] "MIROC6" "CanESM5-CanOE" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k4
## [1] "UKESM1-0-LL" "CanESM5-CanOE" "MIROC6" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## [1] "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR" "MIROC6"
## [5] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "MIROC6" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "GISS-E2-1-H" "MIROC6" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "GISS-E2-1-H" "MIROC6" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "GISS-E2-1-H" "MIROC6" "IPSL-CM6A-LR" "MIROC-ES2L"
## [9] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "EC-Earth3-Veg"
## [5] "CNRM-CM6-1-HR" "GISS-E2-1-H" "MIROC6" "IPSL-CM6A-LR"
## [9] "MIROC-ES2L" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k11
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "EC-Earth3-Veg" "CNRM-CM6-1-HR" "GISS-E2-1-H" "MIROC6"
## [9] "IPSL-CM6A-LR" "MIROC-ES2L" "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" "GISS-E2-1-H"
## [9] "MIROC6" "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-CM6-1-HR" "EC-Earth3-Veg" "GISS-E2-1-H"
## [9] "INM-CM5-0" "IPSL-CM6A-LR" "MIROC-ES2L" "MIROC6"
## [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" "FIO-ESM-2-0"
## [9] "GISS-E2-1-H" "INM-CM5-0" "IPSL-CM6A-LR" "MIROC-ES2L"
## [13] "MIROC6" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k15
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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" "MIROC6" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k16
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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"
##
## $suggested_gcms$k17
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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" "MRI-ESM2-0"
##
## $suggested_gcms$k19
## [1] "ACCESS-CM2" "UKESM1-0-LL" "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" "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" "UKESM1-0-LL" "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_150 <- mc_hclust_150$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 150: 11.605 sec elapsed
tictoc::tic("Hierarchical Clustering 200")
mc_hclust_200 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer200,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "hclust")
mc_hclust_200
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## [1] "CNRM-CM6-1" "IPSL-CM6A-LR"
##
## $suggested_gcms$k3
## [1] "CNRM-CM6-1" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k4
## [1] "MPI-ESM1-2-LR" "IPSL-CM6A-LR" "CNRM-CM6-1" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## [1] "MPI-ESM1-2-LR" "IPSL-CM6A-LR" "CNRM-CM6-1" "GISS-E2-1-G"
## [5] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## [1] "FIO-ESM-2-0" "MPI-ESM1-2-LR" "IPSL-CM6A-LR" "CNRM-CM6-1"
## [5] "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## [1] "FIO-ESM-2-0" "UKESM1-0-LL" "IPSL-CM6A-LR" "CNRM-CM6-1"
## [5] "GISS-E2-1-G" "MPI-ESM1-2-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## [1] "FIO-ESM-2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "GISS-E2-1-G" "MPI-ESM1-2-LR" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## [1] "FIO-ESM-2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "GISS-E2-1-G" "MRI-ESM2-0" "IPSL-CM6A-LR" "MPI-ESM1-2-LR"
## [9] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## [1] "FIO-ESM-2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "CNRM-CM6-1-HR" "GISS-E2-1-G" "MRI-ESM2-0" "IPSL-CM6A-LR"
## [9] "MPI-ESM1-2-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k11
## [1] "FIO-ESM-2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "GISS-E2-1-G" "MRI-ESM2-0"
## [9] "IPSL-CM6A-LR" "MPI-ESM1-2-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k12
## [1] "FIO-ESM-2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg-LR" "GISS-E2-1-G"
## [9] "MRI-ESM2-0" "IPSL-CM6A-LR" "MPI-ESM1-2-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k13
## [1] "FIO-ESM-2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg-LR" "GISS-E2-1-G"
## [9] "INM-CM5-0" "IPSL-CM6A-LR" "MPI-ESM1-2-LR" "MRI-ESM2-0"
## [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-G" "INM-CM5-0" "IPSL-CM6A-LR" "MPI-ESM1-2-LR"
## [13] "MRI-ESM2-0" "MPI-ESM1-2-HR"
##
## $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] "MPI-ESM1-2-LR" "MRI-ESM2-0" "MPI-ESM1-2-HR"
##
## $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" "MPI-ESM1-2-LR" "MRI-ESM2-0" "MPI-ESM1-2-HR"
##
## $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" "MRI-ESM2-0" "MPI-ESM1-2-HR"
## [17] "MPI-ESM1-2-LR"
##
## $suggested_gcms$k18
## [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" "MRI-ESM2-0"
##
## $suggested_gcms$k19
## [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" "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" "UKESM1-0-LL" "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_200 <- mc_hclust_200$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 200: 12.561 sec elapsed
tictoc::tic("Hierarchical Clustering 250")
mc_hclust_250 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer250,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "hclust")
mc_hclust_250
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## [1] "CNRM-CM6-1" "CanESM5-CanOE"
##
## $suggested_gcms$k3
## [1] "CNRM-CM6-1" "CanESM5-CanOE" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k4
## [1] "ACCESS-CM2" "CNRM-CM6-1" "CanESM5-CanOE" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## [1] "ACCESS-CM2" "MIROC-ES2L" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## [1] "ACCESS-CM2" "MIROC-ES2L" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "GISS-E2-1-G" "MIROC-ES2L" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "GISS-E2-1-G" "MIROC-ES2L" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "CNRM-CM6-1-HR" "GISS-E2-1-G" "MIROC-ES2L" "IPSL-CM6A-LR"
## [9] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "GISS-E2-1-G" "MIROC-ES2L"
## [9] "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k11
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "GISS-E2-1-G"
## [9] "MIROC-ES2L" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k12
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "FIO-ESM-2-0"
## [9] "GISS-E2-1-G" "INM-CM5-0" "IPSL-CM6A-LR" "MIROC-ES2L"
## [13] "MIROC6" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k15
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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" "MIROC6" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k16
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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"
##
## $suggested_gcms$k17
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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-CM6-1-HR" "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" "MRI-ESM2-0"
##
## $suggested_gcms$k19
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "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_250 <- mc_hclust_250$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 250: 11.8 sec elapsed
tictoc::tic("Hierarchical Clustering 300")
mc_hclust_300 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer300,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "hclust")
mc_hclust_300
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## [1] "MRI-ESM2-0" "UKESM1-0-LL"
##
## $suggested_gcms$k3
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE"
##
## $suggested_gcms$k4
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "IPSL-CM6A-LR"
## [5] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "IPSL-CM6A-LR"
## [5] "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "IPSL-CM6A-LR"
## [5] "GISS-E2-1-G" "MIROC6" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "EC-Earth3-Veg"
## [5] "GISS-E2-1-G" "MIROC6" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "MRI-ESM2-0"
## [5] "EC-Earth3-Veg" "GISS-E2-1-G" "MIROC6" "IPSL-CM6A-LR"
## [9] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "MRI-ESM2-0"
## [5] "EC-Earth3-Veg" "CNRM-ESM2-1" "GISS-E2-1-G" "MIROC6"
## [9] "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k11
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "MRI-ESM2-0"
## [5] "CNRM-CM6-1" "CNRM-ESM2-1" "EC-Earth3-Veg" "GISS-E2-1-G"
## [9] "MIROC6" "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-ESM2-1" "EC-Earth3-Veg" "MRI-ESM2-0"
## [9] "GISS-E2-1-G" "MIROC6" "IPSL-CM6A-LR" "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" "MRI-ESM2-0"
## [9] "GISS-E2-1-G" "INM-CM5-0" "IPSL-CM6A-LR" "MIROC6"
## [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" "MRI-ESM2-0"
## [9] "GISS-E2-1-G" "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-ESM2-1" "EC-Earth3-Veg" "MRI-ESM2-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-ESM2-1" "EC-Earth3-Veg" "MRI-ESM2-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-ESM2-1" "EC-Earth3-Veg" "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" "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" "MRI-ESM2-0"
##
## $suggested_gcms$k19
## [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" "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" "UKESM1-0-LL" "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_300 <- mc_hclust_300$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 300: 12.689 sec elapsed
tictoc::tic("Hierarchical Clustering 350")
mc_hclust_350 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer350,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "hclust")
mc_hclust_350
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## [1] "ACCESS-ESM1-5" "CNRM-CM6-1-HR"
##
## $suggested_gcms$k3
## [1] "ACCESS-ESM1-5" "CNRM-CM6-1-HR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k4
## [1] "ACCESS-ESM1-5" "CanESM5-CanOE" "CNRM-CM6-1-HR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## [1] "MRI-ESM2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## [1] "MRI-ESM2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## [5] "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## [1] "MRI-ESM2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "CNRM-CM6-1-HR" "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## [1] "MRI-ESM2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "CNRM-CM6-1-HR" "GISS-E2-1-G" "INM-CM5-0" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## [1] "MRI-ESM2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "CNRM-CM6-1-HR" "EC-Earth3-Veg" "GISS-E2-1-G" "INM-CM5-0"
## [9] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## [1] "MRI-ESM2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "GISS-E2-1-G"
## [9] "INM-CM5-0" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k11
## [1] "MRI-ESM2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "GISS-E2-1-G"
## [9] "INM-CM5-0" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k12
## [1] "MRI-ESM2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "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" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "MRI-ESM2-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" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "MRI-ESM2-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" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "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" "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" "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" "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" "MRI-ESM2-0"
##
## $suggested_gcms$k19
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "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_350 <- mc_hclust_350$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 350: 12.966 sec elapsed
tictoc::tic("Hierarchical Clustering 400")
mc_hclust_400 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer400,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "hclust")
mc_hclust_400
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## [1] "MRI-ESM2-0" "IPSL-CM6A-LR"
##
## $suggested_gcms$k3
## [1] "MRI-ESM2-0" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k4
## [1] "MRI-ESM2-0" "CanESM5-CanOE" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "IPSL-CM6A-LR"
## [5] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "IPSL-CM6A-LR"
## [5] "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "IPSL-CM6A-LR"
## [5] "EC-Earth3-Veg-LR" "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "IPSL-CM6A-LR"
## [5] "EC-Earth3-Veg-LR" "GISS-E2-1-G" "MIROC-ES2L" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "IPSL-CM6A-LR"
## [5] "CNRM-CM6-1-HR" "EC-Earth3-Veg-LR" "GISS-E2-1-G" "MIROC-ES2L"
## [9] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## [1] "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1"
## [5] "CNRM-CM6-1-HR" "EC-Earth3-Veg-LR" "GISS-E2-1-G" "MIROC-ES2L"
## [9] "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k11
## [1] "ACCESS-CM2" "UKESM1-0-LL" "CanESM5-CanOE" "MRI-ESM2-0"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg-LR" "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" "CMCC-ESM2"
## [5] "CNRM-CM6-1" "CNRM-CM6-1-HR" "EC-Earth3-Veg-LR" "MRI-ESM2-0"
## [9] "GISS-E2-1-G" "MIROC-ES2L" "IPSL-CM6A-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" "MRI-ESM2-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-CM6-1-HR" "EC-Earth3-Veg-LR" "MRI-ESM2-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-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" "UKESM1-0-LL" "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" "UKESM1-0-LL" "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" "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" "MRI-ESM2-0"
##
## $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_400 <- mc_hclust_400$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 400: 13.137 sec elapsed
tictoc::tic("Hierarchical Clustering 450")
mc_hclust_450 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer450,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "hclust")
mc_hclust_450
## $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] "FIO-ESM-2-0" "MIROC-ES2L" "CanESM5-CanOE" "CNRM-ESM2-1"
## [5] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## [1] "FIO-ESM-2-0" "MIROC-ES2L" "CanESM5-CanOE" "CNRM-ESM2-1"
## [5] "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## [1] "FIO-ESM-2-0" "MIROC-ES2L" "CanESM5-CanOE" "INM-CM4-8"
## [5] "CNRM-ESM2-1" "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## [1] "FIO-ESM-2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "INM-CM4-8"
## [5] "CNRM-ESM2-1" "GISS-E2-1-G" "MIROC-ES2L" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## [1] "FIO-ESM-2-0" "ACCESS-ESM1-5" "CanESM5-CanOE" "INM-CM4-8"
## [5] "CNRM-ESM2-1" "EC-Earth3-Veg-LR" "GISS-E2-1-G" "MIROC-ES2L"
## [9] "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "FIO-ESM-2-0"
## [5] "INM-CM4-8" "CNRM-ESM2-1" "EC-Earth3-Veg-LR" "GISS-E2-1-G"
## [9] "MIROC-ES2L" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k11
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "FIO-ESM-2-0"
## [5] "INM-CM4-8" "CNRM-ESM2-1" "EC-Earth3-Veg-LR" "GISS-E2-1-G"
## [9] "MIROC-ES2L" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k12
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "FIO-ESM-2-0"
## [5] "INM-CM4-8" "CNRM-ESM2-1" "EC-Earth3-Veg-LR" "GISS-E2-1-G"
## [9] "INM-CM5-0" "IPSL-CM6A-LR" "MIROC-ES2L" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k13
## [1] "ACCESS-CM2" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "INM-CM4-8" "CNRM-ESM2-1" "EC-Earth3-Veg-LR" "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" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "INM-CM4-8" "CNRM-ESM2-1" "EC-Earth3-Veg-LR" "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" "ACCESS-ESM1-5" "CanESM5-CanOE" "CMCC-ESM2"
## [5] "INM-CM4-8" "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] "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-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" "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-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" "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-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-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_450 <- mc_hclust_450$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 450: 13.076 sec elapsed
tictoc::tic("Hierarchical Clustering 500")
mc_hclust_500 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer500,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "hclust")
mc_hclust_500
## $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_500 <- mc_hclust_500$suggested_gcms$k3
tictoc::toc()
## Hierarchical Clustering 500: 13.193 sec elapsed
K-means Clustering selection
tictoc::tic("K-means Clustering 50")
mc_kmeans_50 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer50,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_50
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## 1 2
## "CNRM-ESM2-1" "CanESM5-CanOE"
##
## $suggested_gcms$k3
## 1 2 3
## "CNRM-ESM2-1" "CanESM5-CanOE" "MRI-ESM2-0"
##
## $suggested_gcms$k4
## 1 2 3 4
## "MPI-ESM1-2-HR" "CNRM-ESM2-1" "CanESM5-CanOE" "MRI-ESM2-0"
##
## $suggested_gcms$k5
## 1 2 3 4 5
## "CanESM5-CanOE" "MRI-ESM2-0" "MPI-ESM1-2-HR" "INM-CM4-8" "UKESM1-0-LL"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "INM-CM4-8" "CanESM5-CanOE" "UKESM1-0-LL" "FIO-ESM-2-0"
## 6
## "MRI-ESM2-0"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "IPSL-CM6A-LR" "CanESM5-CanOE" "MRI-ESM2-0" "MPI-ESM1-2-HR" "UKESM1-0-LL"
## 6 7
## "EC-Earth3-Veg" "FIO-ESM-2-0"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "IPSL-CM6A-LR" "CanESM5-CanOE" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "FIO-ESM-2-0"
## 6 7 8
## "MPI-ESM1-2-HR" "UKESM1-0-LL" "MRI-ESM2-0"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "CNRM-ESM2-1" "INM-CM4-8" "UKESM1-0-LL" "MRI-ESM2-0" "CanESM5-CanOE"
## 6 7 8 9
## "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "GISS-E2-1-G" "FIO-ESM-2-0"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "CanESM5-CanOE" "UKESM1-0-LL" "FIO-ESM-2-0" "MRI-ESM2-0"
## 6 7 8 9 10
## "EC-Earth3-Veg" "CNRM-CM6-1-HR" "IPSL-CM6A-LR" "MIROC-ES2L" "GISS-E2-1-G"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "GISS-E2-1-G" "MPI-ESM1-2-HR" "UKESM1-0-LL" "IPSL-CM6A-LR" "CMCC-ESM2"
## 6 7 8 9 10
## "MIROC-ES2L" "EC-Earth3-Veg" "CanESM5-CanOE" "MRI-ESM2-0" "ACCESS-CM2"
## 11
## "CNRM-CM6-1-HR"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "ACCESS-CM2" "MPI-ESM1-2-HR" "CMCC-ESM2" "CanESM5-CanOE" "EC-Earth3-Veg"
## 6 7 8 9 10
## "GISS-E2-1-H" "MIROC-ES2L" "UKESM1-0-LL" "FIO-ESM-2-0" "IPSL-CM6A-LR"
## 11 12
## "MRI-ESM2-0" "CNRM-CM6-1-HR"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "EC-Earth3-Veg" "GISS-E2-1-H" "CMCC-ESM2" "MRI-ESM2-0" "IPSL-CM6A-LR"
## 6 7 8 9 10
## "MPI-ESM1-2-HR" "UKESM1-0-LL" "ACCESS-CM2" "CNRM-CM6-1-HR" "CanESM5-CanOE"
## 11 12 13
## "FIO-ESM-2-0" "MIROC-ES2L" "CNRM-CM6-1"
##
## $suggested_gcms$k14
## 1 2 3 4 5
## "EC-Earth3-Veg" "CNRM-CM6-1-HR" "UKESM1-0-LL" "MIROC6" "GISS-E2-1-H"
## 6 7 8 9 10
## "CNRM-CM6-1" "IPSL-CM6A-LR" "CanESM5-CanOE" "ACCESS-CM2" "FIO-ESM-2-0"
## 11 12 13 14
## "MIROC-ES2L" "INM-CM5-0" "MPI-ESM1-2-HR" "CMCC-ESM2"
##
## $suggested_gcms$k15
## 1 2 3 4 5
## "INM-CM5-0" "MIROC6" "INM-CM4-8" "GISS-E2-1-H" "MIROC-ES2L"
## 6 7 8 9 10
## "CNRM-CM6-1-HR" "UKESM1-0-LL" "CNRM-CM6-1" "CanESM5-CanOE" "CMCC-ESM2"
## 11 12 13 14 15
## "FIO-ESM-2-0" "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "EC-Earth3-Veg" "ACCESS-CM2"
##
## $suggested_gcms$k16
## 1 2 3 4 5
## "INM-CM4-8" "CMCC-ESM2" "GISS-E2-1-G" "INM-CM5-0" "CNRM-CM6-1"
## 6 7 8 9 10
## "IPSL-CM6A-LR" "FIO-ESM-2-0" "MPI-ESM1-2-HR" "MIROC6" "UKESM1-0-LL"
## 11 12 13 14 15
## "MIROC-ES2L" "CanESM5-CanOE" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "GISS-E2-1-H"
## 16
## "ACCESS-CM2"
##
## $suggested_gcms$k17
## 1 2 3 4
## "FIO-ESM-2-0" "EC-Earth3-Veg" "CanESM5-CanOE" "GISS-E2-1-H"
## 5 6 7 8
## "MIROC-ES2L" "CMCC-ESM2" "GISS-E2-1-G" "INM-CM4-8"
## 9 10 11 12
## "INM-CM5-0" "ACCESS-CM2" "MPI-ESM1-2-HR" "IPSL-CM6A-LR"
## 13 14 15 16
## "MIROC6" "ACCESS-ESM1-5" "CNRM-CM6-1-HR" "CNRM-CM6-1"
## 17
## "HadGEM3-GC31-LL"
##
## $suggested_gcms$k18
## 1 2 3 4
## "INM-CM5-0" "ACCESS-CM2" "MPI-ESM1-2-LR" "INM-CM4-8"
## 5 6 7 8
## "MPI-ESM1-2-HR" "FIO-ESM-2-0" "GISS-E2-1-H" "CanESM5-CanOE"
## 9 10 11 12
## "GISS-E2-1-G" "CMCC-ESM2" "IPSL-CM6A-LR" "CNRM-CM6-1-HR"
## 13 14 15 16
## "EC-Earth3-Veg" "MIROC-ES2L" "HadGEM3-GC31-LL" "ACCESS-ESM1-5"
## 17 18
## "MIROC6" "CNRM-CM6-1"
##
## $suggested_gcms$k19
## 1 2 3 4
## "MRI-ESM2-0" "ACCESS-CM2" "EC-Earth3-Veg" "ACCESS-ESM1-5"
## 5 6 7 8
## "CanESM5-CanOE" "CNRM-CM6-1-HR" "INM-CM5-0" "IPSL-CM6A-LR"
## 9 10 11 12
## "GISS-E2-1-G" "INM-CM4-8" "GISS-E2-1-H" "MIROC6"
## 13 14 15 16
## "MIROC-ES2L" "MPI-ESM1-2-HR" "FIO-ESM-2-0" "CMCC-ESM2"
## 17 18 19
## "CNRM-CM6-1" "HadGEM3-GC31-LL" "MPI-ESM1-2-LR"
##
## $suggested_gcms$k20
## 1 2 3 4
## "ACCESS-ESM1-5" "CMCC-ESM2" "INM-CM5-0" "MPI-ESM1-2-LR"
## 5 6 7 8
## "HadGEM3-GC31-LL" "MIROC6" "MRI-ESM2-0" "MPI-ESM1-2-HR"
## 9 10 11 12
## "GISS-E2-1-H" "CNRM-CM6-1-HR" "CNRM-CM6-1" "CanESM5-CanOE"
## 13 14 15 16
## "MIROC-ES2L" "EC-Earth3-Veg-LR" "INM-CM4-8" "FIO-ESM-2-0"
## 17 18 19 20
## "ACCESS-CM2" "EC-Earth3-Veg" "GISS-E2-1-G" "IPSL-CM6A-LR"
##
## $suggested_gcms$k21
## 1 2 3 4
## "CNRM-CM6-1-HR" "MIROC6" "GISS-E2-1-G" "MPI-ESM1-2-LR"
## 5 6 7 8
## "MIROC-ES2L" "ACCESS-CM2" "IPSL-CM6A-LR" "EC-Earth3-Veg"
## 9 10 11 12
## "ACCESS-ESM1-5" "HadGEM3-GC31-LL" "CNRM-CM6-1" "UKESM1-0-LL"
## 13 14 15 16
## "INM-CM5-0" "EC-Earth3-Veg-LR" "CMCC-ESM2" "MPI-ESM1-2-HR"
## 17 18 19 20
## "FIO-ESM-2-0" "MRI-ESM2-0" "INM-CM4-8" "GISS-E2-1-H"
## 21
## "CanESM5-CanOE"
kmeans_50 <- mc_kmeans_50$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 50: 22.477 sec elapsed
tictoc::tic("K-means Clustering 100")
mc_kmeans_100 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer100,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_100
## $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
## "CNRM-ESM2-1" "MRI-ESM2-0" "CanESM5-CanOE" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## 1 2 3 4 5
## "UKESM1-0-LL" "MPI-ESM1-2-HR" "MRI-ESM2-0" "CanESM5-CanOE" "INM-CM4-8"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "INM-CM4-8" "CanESM5-CanOE" "FIO-ESM-2-0" "MPI-ESM1-2-HR" "UKESM1-0-LL"
## 6
## "MRI-ESM2-0"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "UKESM1-0-LL" "MPI-ESM1-2-HR" "MRI-ESM2-0" "FIO-ESM-2-0" "CNRM-ESM2-1"
## 6 7
## "INM-CM4-8" "CanESM5-CanOE"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "CNRM-ESM2-1" "INM-CM4-8" "FIO-ESM-2-0" "IPSL-CM6A-LR" "UKESM1-0-LL"
## 6 7 8
## "CanESM5-CanOE" "MPI-ESM1-2-HR" "MRI-ESM2-0"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "UKESM1-0-LL" "MRI-ESM2-0" "GISS-E2-1-G" "CanESM5-CanOE"
## 6 7 8 9
## "CNRM-ESM2-1" "IPSL-CM6A-LR" "FIO-ESM-2-0" "INM-CM4-8"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "MIROC-ES2L" "CNRM-ESM2-1" "CNRM-CM6-1" "CanESM5-CanOE" "UKESM1-0-LL"
## 6 7 8 9 10
## "IPSL-CM6A-LR" "MRI-ESM2-0" "GISS-E2-1-G" "MPI-ESM1-2-HR" "FIO-ESM-2-0"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "MIROC-ES2L" "CNRM-CM6-1" "CNRM-ESM2-1" "MPI-ESM1-2-HR" "UKESM1-0-LL"
## 6 7 8 9 10
## "ACCESS-CM2" "CanESM5-CanOE" "MRI-ESM2-0" "IPSL-CM6A-LR" "GISS-E2-1-G"
## 11
## "CMCC-ESM2"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "CanESM5-CanOE" "UKESM1-0-LL" "IPSL-CM6A-LR" "MIROC-ES2L" "CNRM-CM6-1"
## 6 7 8 9 10
## "GISS-E2-1-G" "CMCC-ESM2" "MPI-ESM1-2-HR" "ACCESS-CM2" "MRI-ESM2-0"
## 11 12
## "CNRM-CM6-1-HR" "EC-Earth3-Veg"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "CanESM5-CanOE" "CNRM-CM6-1" "MPI-ESM1-2-HR" "GISS-E2-1-H" "UKESM1-0-LL"
## 6 7 8 9 10
## "ACCESS-CM2" "EC-Earth3-Veg" "FIO-ESM-2-0" "CMCC-ESM2" "MIROC-ES2L"
## 11 12 13
## "MRI-ESM2-0" "IPSL-CM6A-LR" "CNRM-CM6-1-HR"
##
## $suggested_gcms$k14
## 1 2 3 4 5
## "UKESM1-0-LL" "CanESM5-CanOE" "FIO-ESM-2-0" "EC-Earth3-Veg" "GISS-E2-1-H"
## 6 7 8 9 10
## "MIROC6" "MIROC-ES2L" "ACCESS-CM2" "MPI-ESM1-2-HR" "IPSL-CM6A-LR"
## 11 12 13 14
## "CMCC-ESM2" "CNRM-CM6-1" "CNRM-CM6-1-HR" "INM-CM5-0"
##
## $suggested_gcms$k15
## 1 2 3 4 5
## "IPSL-CM6A-LR" "ACCESS-CM2" "EC-Earth3-Veg" "CMCC-ESM2" "CanESM5-CanOE"
## 6 7 8 9 10
## "MPI-ESM1-2-HR" "UKESM1-0-LL" "INM-CM5-0" "MIROC6" "CNRM-CM6-1-HR"
## 11 12 13 14 15
## "GISS-E2-1-H" "GISS-E2-1-G" "CNRM-CM6-1" "MIROC-ES2L" "FIO-ESM-2-0"
##
## $suggested_gcms$k16
## 1 2 3 4
## "FIO-ESM-2-0" "INM-CM5-0" "GISS-E2-1-H" "GISS-E2-1-G"
## 5 6 7 8
## "EC-Earth3-Veg" "ACCESS-CM2" "CanESM5-CanOE" "CNRM-CM6-1-HR"
## 9 10 11 12
## "CNRM-CM6-1" "HadGEM3-GC31-LL" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
## 13 14 15 16
## "MIROC6" "CMCC-ESM2" "MIROC-ES2L" "ACCESS-ESM1-5"
##
## $suggested_gcms$k17
## 1 2 3 4
## "MIROC6" "CMCC-ESM2" "ACCESS-ESM1-5" "GISS-E2-1-H"
## 5 6 7 8
## "IPSL-CM6A-LR" "INM-CM5-0" "MIROC-ES2L" "HadGEM3-GC31-LL"
## 9 10 11 12
## "ACCESS-CM2" "CNRM-CM6-1" "EC-Earth3-Veg" "FIO-ESM-2-0"
## 13 14 15 16
## "INM-CM4-8" "CanESM5-CanOE" "GISS-E2-1-G" "CNRM-CM6-1-HR"
## 17
## "MPI-ESM1-2-HR"
##
## $suggested_gcms$k18
## 1 2 3 4
## "EC-Earth3-Veg" "CanESM5-CanOE" "INM-CM4-8" "ACCESS-ESM1-5"
## 5 6 7 8
## "MPI-ESM1-2-HR" "GISS-E2-1-H" "INM-CM5-0" "GISS-E2-1-G"
## 9 10 11 12
## "FIO-ESM-2-0" "MPI-ESM1-2-LR" "MIROC6" "CNRM-CM6-1"
## 13 14 15 16
## "IPSL-CM6A-LR" "MIROC-ES2L" "ACCESS-CM2" "CMCC-ESM2"
## 17 18
## "HadGEM3-GC31-LL" "CNRM-CM6-1-HR"
##
## $suggested_gcms$k19
## 1 2 3 4
## "INM-CM4-8" "HadGEM3-GC31-LL" "CNRM-CM6-1-HR" "CanESM5-CanOE"
## 5 6 7 8
## "FIO-ESM-2-0" "INM-CM5-0" "MIROC6" "MIROC-ES2L"
## 9 10 11 12
## "ACCESS-CM2" "GISS-E2-1-G" "EC-Earth3-Veg" "CNRM-CM6-1"
## 13 14 15 16
## "GISS-E2-1-H" "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR" "ACCESS-ESM1-5"
## 17 18 19
## "MPI-ESM1-2-LR" "IPSL-CM6A-LR" "CMCC-ESM2"
##
## $suggested_gcms$k20
## 1 2 3 4
## "INM-CM4-8" "GISS-E2-1-H" "EC-Earth3-Veg-LR" "EC-Earth3-Veg"
## 5 6 7 8
## "INM-CM5-0" "CNRM-CM6-1" "GISS-E2-1-G" "CNRM-CM6-1-HR"
## 9 10 11 12
## "ACCESS-CM2" "ACCESS-ESM1-5" "HadGEM3-GC31-LL" "CanESM5-CanOE"
## 13 14 15 16
## "MRI-ESM2-0" "MPI-ESM1-2-LR" "MIROC-ES2L" "CMCC-ESM2"
## 17 18 19 20
## "MPI-ESM1-2-HR" "MIROC6" "IPSL-CM6A-LR" "FIO-ESM-2-0"
##
## $suggested_gcms$k21
## 1 2 3 4
## "EC-Earth3-Veg" "CNRM-CM6-1" "INM-CM5-0" "MIROC6"
## 5 6 7 8
## "CMCC-ESM2" "HadGEM3-GC31-LL" "MIROC-ES2L" "GISS-E2-1-G"
## 9 10 11 12
## "IPSL-CM6A-LR" "ACCESS-CM2" "ACCESS-ESM1-5" "GISS-E2-1-H"
## 13 14 15 16
## "INM-CM4-8" "EC-Earth3-Veg-LR" "MPI-ESM1-2-LR" "CanESM5-CanOE"
## 17 18 19 20
## "FIO-ESM-2-0" "MPI-ESM1-2-HR" "MRI-ESM2-0" "CNRM-CM6-1-HR"
## 21
## "UKESM1-0-LL"
kmeans_100 <- mc_kmeans_100$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 100: 22.801 sec elapsed
tictoc::tic("K-means Clustering 150")
mc_kmeans_150 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer150,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_150
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## 1 2
## "CNRM-ESM2-1" "CanESM5-CanOE"
##
## $suggested_gcms$k3
## 1 2 3
## "CNRM-ESM2-1" "CanESM5-CanOE" "MRI-ESM2-0"
##
## $suggested_gcms$k4
## 1 2 3 4
## "MRI-ESM2-0" "CanESM5-CanOE" "MPI-ESM1-2-HR" "CNRM-ESM2-1"
##
## $suggested_gcms$k5
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "MRI-ESM2-0" "CanESM5-CanOE" "INM-CM4-8" "CNRM-ESM2-1"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "CanESM5-CanOE" "FIO-ESM-2-0" "MPI-ESM1-2-HR" "MRI-ESM2-0" "CNRM-ESM2-1"
## 6
## "INM-CM4-8"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "MRI-ESM2-0" "MPI-ESM1-2-HR" "UKESM1-0-LL" "CNRM-ESM2-1" "FIO-ESM-2-0"
## 6 7
## "CanESM5-CanOE" "INM-CM4-8"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "CanESM5-CanOE" "GISS-E2-1-G" "MPI-ESM1-2-HR" "MRI-ESM2-0" "INM-CM4-8"
## 6 7 8
## "CNRM-ESM2-1" "FIO-ESM-2-0" "UKESM1-0-LL"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "IPSL-CM6A-LR" "UKESM1-0-LL" "MRI-ESM2-0" "CNRM-ESM2-1"
## 6 7 8 9
## "GISS-E2-1-G" "CanESM5-CanOE" "FIO-ESM-2-0" "CNRM-CM6-1"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "CNRM-ESM2-1" "MIROC-ES2L" "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "CNRM-CM6-1"
## 6 7 8 9 10
## "MRI-ESM2-0" "GISS-E2-1-G" "CanESM5-CanOE" "UKESM1-0-LL" "FIO-ESM-2-0"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "CNRM-CM6-1" "GISS-E2-1-G" "MPI-ESM1-2-HR" "CNRM-ESM2-1" "CMCC-ESM2"
## 6 7 8 9 10
## "MIROC-ES2L" "ACCESS-CM2" "MRI-ESM2-0" "IPSL-CM6A-LR" "CanESM5-CanOE"
## 11
## "UKESM1-0-LL"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "CMCC-ESM2" "MRI-ESM2-0" "ACCESS-CM2" "EC-Earth3-Veg" "CanESM5-CanOE"
## 6 7 8 9 10
## "GISS-E2-1-G" "IPSL-CM6A-LR" "MIROC-ES2L" "UKESM1-0-LL" "CNRM-CM6-1-HR"
## 11 12
## "CNRM-CM6-1" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "ACCESS-CM2" "GISS-E2-1-H" "MPI-ESM1-2-HR" "IPSL-CM6A-LR" "UKESM1-0-LL"
## 6 7 8 9 10
## "MRI-ESM2-0" "CanESM5-CanOE" "EC-Earth3-Veg" "CNRM-CM6-1-HR" "MIROC-ES2L"
## 11 12 13
## "CNRM-CM6-1" "CMCC-ESM2" "GISS-E2-1-G"
##
## $suggested_gcms$k14
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "GISS-E2-1-H" "INM-CM5-0" "IPSL-CM6A-LR" "GISS-E2-1-G"
## 6 7 8 9 10
## "EC-Earth3-Veg" "CMCC-ESM2" "CanESM5-CanOE" "CNRM-CM6-1" "ACCESS-CM2"
## 11 12 13 14
## "MIROC-ES2L" "CNRM-CM6-1-HR" "UKESM1-0-LL" "MIROC6"
##
## $suggested_gcms$k15
## 1 2 3 4 5
## "UKESM1-0-LL" "FIO-ESM-2-0" "MIROC6" "CMCC-ESM2" "CanESM5-CanOE"
## 6 7 8 9 10
## "GISS-E2-1-H" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "GISS-E2-1-G" "MPI-ESM1-2-HR"
## 11 12 13 14 15
## "CNRM-CM6-1" "INM-CM5-0" "IPSL-CM6A-LR" "MIROC-ES2L" "ACCESS-CM2"
##
## $suggested_gcms$k16
## 1 2 3 4
## "ACCESS-CM2" "CanESM5-CanOE" "EC-Earth3-Veg" "MIROC6"
## 5 6 7 8
## "IPSL-CM6A-LR" "FIO-ESM-2-0" "INM-CM5-0" "MPI-ESM1-2-HR"
## 9 10 11 12
## "CNRM-CM6-1" "HadGEM3-GC31-LL" "CMCC-ESM2" "MIROC-ES2L"
## 13 14 15 16
## "ACCESS-ESM1-5" "GISS-E2-1-G" "CNRM-CM6-1-HR" "GISS-E2-1-H"
##
## $suggested_gcms$k17
## 1 2 3 4
## "CNRM-CM6-1" "MIROC6" "INM-CM5-0" "ACCESS-CM2"
## 5 6 7 8
## "ACCESS-ESM1-5" "HadGEM3-GC31-LL" "GISS-E2-1-G" "GISS-E2-1-H"
## 9 10 11 12
## "CNRM-CM6-1-HR" "MIROC-ES2L" "MPI-ESM1-2-HR" "CanESM5-CanOE"
## 13 14 15 16
## "IPSL-CM6A-LR" "EC-Earth3-Veg" "CMCC-ESM2" "FIO-ESM-2-0"
## 17
## "INM-CM4-8"
##
## $suggested_gcms$k18
## 1 2 3 4
## "FIO-ESM-2-0" "GISS-E2-1-H" "MIROC6" "IPSL-CM6A-LR"
## 5 6 7 8
## "MPI-ESM1-2-HR" "CNRM-CM6-1" "CMCC-ESM2" "GISS-E2-1-G"
## 9 10 11 12
## "INM-CM4-8" "INM-CM5-0" "ACCESS-ESM1-5" "CNRM-CM6-1-HR"
## 13 14 15 16
## "EC-Earth3-Veg-LR" "ACCESS-CM2" "EC-Earth3-Veg" "CanESM5-CanOE"
## 17 18
## "HadGEM3-GC31-LL" "MIROC-ES2L"
##
## $suggested_gcms$k19
## 1 2 3 4
## "GISS-E2-1-H" "INM-CM4-8" "MIROC6" "CanESM5-CanOE"
## 5 6 7 8
## "GISS-E2-1-G" "CNRM-CM6-1-HR" "ACCESS-ESM1-5" "MPI-ESM1-2-LR"
## 9 10 11 12
## "HadGEM3-GC31-LL" "INM-CM5-0" "CNRM-CM6-1" "CMCC-ESM2"
## 13 14 15 16
## "MIROC-ES2L" "MPI-ESM1-2-HR" "FIO-ESM-2-0" "EC-Earth3-Veg"
## 17 18 19
## "ACCESS-CM2" "EC-Earth3-Veg-LR" "IPSL-CM6A-LR"
##
## $suggested_gcms$k20
## 1 2 3 4
## "EC-Earth3-Veg-LR" "HadGEM3-GC31-LL" "INM-CM5-0" "GISS-E2-1-G"
## 5 6 7 8
## "INM-CM4-8" "CMCC-ESM2" "ACCESS-ESM1-5" "ACCESS-CM2"
## 9 10 11 12
## "IPSL-CM6A-LR" "EC-Earth3-Veg" "GISS-E2-1-H" "MPI-ESM1-2-LR"
## 13 14 15 16
## "CanESM5-CanOE" "CNRM-CM6-1-HR" "MRI-ESM2-0" "CNRM-CM6-1"
## 17 18 19 20
## "MPI-ESM1-2-HR" "MIROC6" "MIROC-ES2L" "FIO-ESM-2-0"
##
## $suggested_gcms$k21
## 1 2 3 4
## "HadGEM3-GC31-LL" "INM-CM5-0" "MRI-ESM2-0" "IPSL-CM6A-LR"
## 5 6 7 8
## "CNRM-CM6-1-HR" "EC-Earth3-Veg" "INM-CM4-8" "ACCESS-ESM1-5"
## 9 10 11 12
## "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR" "CMCC-ESM2" "MIROC-ES2L"
## 13 14 15 16
## "ACCESS-CM2" "MIROC6" "GISS-E2-1-G" "GISS-E2-1-H"
## 17 18 19 20
## "MPI-ESM1-2-LR" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1"
## 21
## "FIO-ESM-2-0"
kmeans_150 <- mc_kmeans_150$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 150: 22.718 sec elapsed
tictoc::tic("K-means Clustering 200")
mc_kmeans_200 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer200,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_200
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## 1 2
## "CNRM-ESM2-1" "CanESM5-CanOE"
##
## $suggested_gcms$k3
## 1 2 3
## "MRI-ESM2-0" "CanESM5-CanOE" "CNRM-ESM2-1"
##
## $suggested_gcms$k4
## 1 2 3 4
## "CNRM-ESM2-1" "MPI-ESM1-2-HR" "CanESM5-CanOE" "MRI-ESM2-0"
##
## $suggested_gcms$k5
## 1 2 3 4 5
## "INM-CM4-8" "CNRM-ESM2-1" "MRI-ESM2-0" "CanESM5-CanOE" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "FIO-ESM-2-0" "MRI-ESM2-0" "INM-CM4-8" "CanESM5-CanOE" "MPI-ESM1-2-HR"
## 6
## "CNRM-ESM2-1"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "FIO-ESM-2-0" "UKESM1-0-LL" "MRI-ESM2-0" "MPI-ESM1-2-HR" "CNRM-ESM2-1"
## 6 7
## "CanESM5-CanOE" "INM-CM4-8"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "GISS-E2-1-G" "MPI-ESM1-2-HR" "MRI-ESM2-0" "UKESM1-0-LL" "CanESM5-CanOE"
## 6 7 8
## "CNRM-ESM2-1" "FIO-ESM-2-0" "INM-CM4-8"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "FIO-ESM-2-0" "EC-Earth3-Veg" "CanESM5-CanOE" "GISS-E2-1-G" "UKESM1-0-LL"
## 6 7 8 9
## "CNRM-ESM2-1" "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "MRI-ESM2-0"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "CNRM-ESM2-1" "CNRM-CM6-1" "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "UKESM1-0-LL"
## 6 7 8 9 10
## "MIROC-ES2L" "MRI-ESM2-0" "CanESM5-CanOE" "FIO-ESM-2-0" "GISS-E2-1-G"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "GISS-E2-1-G" "IPSL-CM6A-LR" "CNRM-CM6-1" "ACCESS-CM2"
## 6 7 8 9 10
## "MRI-ESM2-0" "CNRM-ESM2-1" "UKESM1-0-LL" "MIROC-ES2L" "CanESM5-CanOE"
## 11
## "CMCC-ESM2"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "EC-Earth3-Veg" "UKESM1-0-LL" "MRI-ESM2-0" "ACCESS-CM2" "CNRM-CM6-1-HR"
## 6 7 8 9 10
## "GISS-E2-1-G" "CMCC-ESM2" "CNRM-CM6-1" "CanESM5-CanOE" "MIROC-ES2L"
## 11 12
## "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "MRI-ESM2-0" "IPSL-CM6A-LR" "EC-Earth3-Veg" "UKESM1-0-LL" "MPI-ESM1-2-HR"
## 6 7 8 9 10
## "CNRM-CM6-1-HR" "CanESM5-CanOE" "GISS-E2-1-H" "MIROC-ES2L" "GISS-E2-1-G"
## 11 12 13
## "ACCESS-CM2" "CMCC-ESM2" "CNRM-CM6-1"
##
## $suggested_gcms$k14
## 1 2 3 4 5
## "ACCESS-CM2" "MPI-ESM1-2-HR" "INM-CM5-0" "MIROC-ES2L" "GISS-E2-1-H"
## 6 7 8 9 10
## "MIROC6" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "GISS-E2-1-G" "CMCC-ESM2"
## 11 12 13 14
## "CNRM-CM6-1" "UKESM1-0-LL" "CanESM5-CanOE" "IPSL-CM6A-LR"
##
## $suggested_gcms$k15
## 1 2 3 4
## "IPSL-CM6A-LR" "ACCESS-CM2" "EC-Earth3-Veg" "HadGEM3-GC31-LL"
## 5 6 7 8
## "INM-CM5-0" "MIROC6" "ACCESS-ESM1-5" "CNRM-CM6-1-HR"
## 9 10 11 12
## "MIROC-ES2L" "CNRM-CM6-1" "CMCC-ESM2" "CanESM5-CanOE"
## 13 14 15
## "GISS-E2-1-G" "GISS-E2-1-H" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k16
## 1 2 3 4
## "MIROC6" "IPSL-CM6A-LR" "GISS-E2-1-H" "HadGEM3-GC31-LL"
## 5 6 7 8
## "INM-CM5-0" "MIROC-ES2L" "CNRM-CM6-1-HR" "MPI-ESM1-2-HR"
## 9 10 11 12
## "CanESM5-CanOE" "FIO-ESM-2-0" "CMCC-ESM2" "GISS-E2-1-G"
## 13 14 15 16
## "CNRM-CM6-1" "ACCESS-ESM1-5" "ACCESS-CM2" "EC-Earth3-Veg"
##
## $suggested_gcms$k17
## 1 2 3 4
## "IPSL-CM6A-LR" "EC-Earth3-Veg-LR" "CanESM5-CanOE" "MPI-ESM1-2-HR"
## 5 6 7 8
## "ACCESS-CM2" "MIROC-ES2L" "CNRM-CM6-1-HR" "EC-Earth3-Veg"
## 9 10 11 12
## "GISS-E2-1-G" "GISS-E2-1-H" "ACCESS-ESM1-5" "HadGEM3-GC31-LL"
## 13 14 15 16
## "INM-CM5-0" "CMCC-ESM2" "CNRM-CM6-1" "FIO-ESM-2-0"
## 17
## "MIROC6"
##
## $suggested_gcms$k18
## 1 2 3 4
## "CanESM5-CanOE" "GISS-E2-1-G" "IPSL-CM6A-LR" "ACCESS-ESM1-5"
## 5 6 7 8
## "MIROC6" "GISS-E2-1-H" "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR"
## 9 10 11 12
## "INM-CM5-0" "INM-CM4-8" "CNRM-CM6-1" "MIROC-ES2L"
## 13 14 15 16
## "CMCC-ESM2" "CNRM-CM6-1-HR" "FIO-ESM-2-0" "EC-Earth3-Veg"
## 17 18
## "ACCESS-CM2" "HadGEM3-GC31-LL"
##
## $suggested_gcms$k19
## 1 2 3 4
## "CanESM5-CanOE" "CMCC-ESM2" "ACCESS-CM2" "CNRM-CM6-1"
## 5 6 7 8
## "MPI-ESM1-2-HR" "EC-Earth3-Veg" "MIROC6" "MIROC-ES2L"
## 9 10 11 12
## "GISS-E2-1-G" "HadGEM3-GC31-LL" "INM-CM5-0" "MPI-ESM1-2-LR"
## 13 14 15 16
## "CNRM-CM6-1-HR" "FIO-ESM-2-0" "IPSL-CM6A-LR" "INM-CM4-8"
## 17 18 19
## "ACCESS-ESM1-5" "EC-Earth3-Veg-LR" "GISS-E2-1-H"
##
## $suggested_gcms$k20
## 1 2 3 4
## "INM-CM4-8" "EC-Earth3-Veg" "MIROC6" "EC-Earth3-Veg-LR"
## 5 6 7 8
## "ACCESS-ESM1-5" "FIO-ESM-2-0" "MPI-ESM1-2-LR" "CMCC-ESM2"
## 9 10 11 12
## "IPSL-CM6A-LR" "INM-CM5-0" "GISS-E2-1-G" "CanESM5-CanOE"
## 13 14 15 16
## "MIROC-ES2L" "MRI-ESM2-0" "MPI-ESM1-2-HR" "CNRM-CM6-1-HR"
## 17 18 19 20
## "GISS-E2-1-H" "HadGEM3-GC31-LL" "ACCESS-CM2" "CNRM-CM6-1"
##
## $suggested_gcms$k21
## 1 2 3 4
## "MPI-ESM1-2-HR" "ACCESS-ESM1-5" "UKESM1-0-LL" "EC-Earth3-Veg-LR"
## 5 6 7 8
## "CNRM-CM6-1" "IPSL-CM6A-LR" "CMCC-ESM2" "INM-CM5-0"
## 9 10 11 12
## "MIROC6" "CanESM5-CanOE" "GISS-E2-1-G" "FIO-ESM-2-0"
## 13 14 15 16
## "MRI-ESM2-0" "ACCESS-CM2" "MPI-ESM1-2-LR" "EC-Earth3-Veg"
## 17 18 19 20
## "GISS-E2-1-H" "CNRM-CM6-1-HR" "HadGEM3-GC31-LL" "MIROC-ES2L"
## 21
## "INM-CM4-8"
kmeans_200 <- mc_kmeans_200$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 200: 23.178 sec elapsed
tictoc::tic("K-means Clustering 250")
mc_kmeans_250 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer250,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_250
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## 1 2
## "CNRM-ESM2-1" "CanESM5-CanOE"
##
## $suggested_gcms$k3
## 1 2 3
## "CNRM-ESM2-1" "CanESM5-CanOE" "MRI-ESM2-0"
##
## $suggested_gcms$k4
## 1 2 3 4
## "CanESM5-CanOE" "MPI-ESM1-2-HR" "MRI-ESM2-0" "CNRM-ESM2-1"
##
## $suggested_gcms$k5
## 1 2 3 4 5
## "INM-CM4-8" "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "FIO-ESM-2-0" "INM-CM4-8" "CNRM-ESM2-1" "CanESM5-CanOE"
## 6
## "GISS-E2-1-G"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "GISS-E2-1-G" "FIO-ESM-2-0" "CNRM-ESM2-1" "CanESM5-CanOE" "MRI-ESM2-0"
## 6 7
## "MPI-ESM1-2-HR" "INM-CM4-8"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "CNRM-ESM2-1" "MRI-ESM2-0" "CanESM5-CanOE" "UKESM1-0-LL" "FIO-ESM-2-0"
## 6 7 8
## "INM-CM4-8" "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "FIO-ESM-2-0" "UKESM1-0-LL" "MRI-ESM2-0" "CNRM-ESM2-1"
## 6 7 8 9
## "IPSL-CM6A-LR" "CNRM-CM6-1" "CanESM5-CanOE" "GISS-E2-1-G"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "MRI-ESM2-0" "GISS-E2-1-G" "FIO-ESM-2-0" "CanESM5-CanOE" "CNRM-ESM2-1"
## 6 7 8 9 10
## "MPI-ESM1-2-HR" "MIROC-ES2L" "CNRM-CM6-1" "IPSL-CM6A-LR" "UKESM1-0-LL"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "CMCC-ESM2" "UKESM1-0-LL" "MPI-ESM1-2-HR" "CanESM5-CanOE" "CNRM-CM6-1"
## 6 7 8 9 10
## "MIROC-ES2L" "MRI-ESM2-0" "IPSL-CM6A-LR" "CNRM-ESM2-1" "GISS-E2-1-G"
## 11
## "ACCESS-CM2"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "EC-Earth3-Veg" "MRI-ESM2-0" "IPSL-CM6A-LR" "ACCESS-CM2" "CNRM-CM6-1-HR"
## 6 7 8 9 10
## "CanESM5-CanOE" "CMCC-ESM2" "MPI-ESM1-2-HR" "MIROC-ES2L" "CNRM-CM6-1"
## 11 12
## "UKESM1-0-LL" "GISS-E2-1-G"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "CNRM-CM6-1-HR" "EC-Earth3-Veg" "MRI-ESM2-0" "ACCESS-CM2" "CanESM5-CanOE"
## 6 7 8 9 10
## "MIROC-ES2L" "UKESM1-0-LL" "MPI-ESM1-2-HR" "GISS-E2-1-G" "CNRM-CM6-1"
## 11 12 13
## "CMCC-ESM2" "GISS-E2-1-H" "IPSL-CM6A-LR"
##
## $suggested_gcms$k14
## 1 2 3 4 5
## "IPSL-CM6A-LR" "CNRM-CM6-1-HR" "MPI-ESM1-2-HR" "EC-Earth3-Veg" "CMCC-ESM2"
## 6 7 8 9 10
## "MIROC6" "GISS-E2-1-H" "ACCESS-CM2" "GISS-E2-1-G" "INM-CM5-0"
## 11 12 13 14
## "CanESM5-CanOE" "CNRM-CM6-1" "MIROC-ES2L" "UKESM1-0-LL"
##
## $suggested_gcms$k15
## 1 2 3 4
## "EC-Earth3-Veg" "ACCESS-CM2" "MIROC-ES2L" "INM-CM5-0"
## 5 6 7 8
## "GISS-E2-1-G" "MPI-ESM1-2-HR" "GISS-E2-1-H" "CMCC-ESM2"
## 9 10 11 12
## "CNRM-CM6-1-HR" "IPSL-CM6A-LR" "HadGEM3-GC31-LL" "CNRM-CM6-1"
## 13 14 15
## "ACCESS-ESM1-5" "CanESM5-CanOE" "MIROC6"
##
## $suggested_gcms$k16
## 1 2 3 4
## "CNRM-CM6-1" "ACCESS-ESM1-5" "MPI-ESM1-2-HR" "HadGEM3-GC31-LL"
## 5 6 7 8
## "CNRM-CM6-1-HR" "GISS-E2-1-H" "FIO-ESM-2-0" "IPSL-CM6A-LR"
## 9 10 11 12
## "GISS-E2-1-G" "MIROC-ES2L" "INM-CM5-0" "CMCC-ESM2"
## 13 14 15 16
## "EC-Earth3-Veg" "ACCESS-CM2" "MIROC6" "CanESM5-CanOE"
##
## $suggested_gcms$k17
## 1 2 3 4
## "EC-Earth3-Veg" "ACCESS-CM2" "IPSL-CM6A-LR" "CMCC-ESM2"
## 5 6 7 8
## "HadGEM3-GC31-LL" "EC-Earth3-Veg-LR" "CanESM5-CanOE" "GISS-E2-1-H"
## 9 10 11 12
## "ACCESS-ESM1-5" "CNRM-CM6-1-HR" "GISS-E2-1-G" "CNRM-CM6-1"
## 13 14 15 16
## "MIROC-ES2L" "FIO-ESM-2-0" "MPI-ESM1-2-HR" "MIROC6"
## 17
## "INM-CM5-0"
##
## $suggested_gcms$k18
## 1 2 3 4
## "MIROC6" "CNRM-CM6-1" "INM-CM5-0" "CanESM5-CanOE"
## 5 6 7 8
## "EC-Earth3-Veg" "FIO-ESM-2-0" "GISS-E2-1-H" "MPI-ESM1-2-HR"
## 9 10 11 12
## "EC-Earth3-Veg-LR" "HadGEM3-GC31-LL" "MIROC-ES2L" "MPI-ESM1-2-LR"
## 13 14 15 16
## "ACCESS-CM2" "CNRM-CM6-1-HR" "CMCC-ESM2" "IPSL-CM6A-LR"
## 17 18
## "GISS-E2-1-G" "ACCESS-ESM1-5"
##
## $suggested_gcms$k19
## 1 2 3 4
## "EC-Earth3-Veg-LR" "CNRM-CM6-1-HR" "CMCC-ESM2" "HadGEM3-GC31-LL"
## 5 6 7 8
## "FIO-ESM-2-0" "CNRM-CM6-1" "EC-Earth3-Veg" "CanESM5-CanOE"
## 9 10 11 12
## "MPI-ESM1-2-LR" "ACCESS-ESM1-5" "INM-CM5-0" "IPSL-CM6A-LR"
## 13 14 15 16
## "GISS-E2-1-G" "MIROC6" "INM-CM4-8" "ACCESS-CM2"
## 17 18 19
## "MPI-ESM1-2-HR" "GISS-E2-1-H" "MIROC-ES2L"
##
## $suggested_gcms$k20
## 1 2 3 4
## "CMCC-ESM2" "IPSL-CM6A-LR" "FIO-ESM-2-0" "HadGEM3-GC31-LL"
## 5 6 7 8
## "GISS-E2-1-H" "CNRM-CM6-1" "ACCESS-CM2" "MIROC-ES2L"
## 9 10 11 12
## "EC-Earth3-Veg-LR" "ACCESS-ESM1-5" "CanESM5-CanOE" "MIROC6"
## 13 14 15 16
## "INM-CM4-8" "CNRM-CM6-1-HR" "MPI-ESM1-2-LR" "INM-CM5-0"
## 17 18 19 20
## "GISS-E2-1-G" "MPI-ESM1-2-HR" "EC-Earth3-Veg" "MRI-ESM2-0"
##
## $suggested_gcms$k21
## 1 2 3 4
## "INM-CM4-8" "ACCESS-CM2" "CanESM5-CanOE" "GISS-E2-1-H"
## 5 6 7 8
## "MPI-ESM1-2-HR" "CNRM-CM6-1" "HadGEM3-GC31-LL" "MPI-ESM1-2-LR"
## 9 10 11 12
## "IPSL-CM6A-LR" "EC-Earth3-Veg" "FIO-ESM-2-0" "INM-CM5-0"
## 13 14 15 16
## "CNRM-CM6-1-HR" "CMCC-ESM2" "ACCESS-ESM1-5" "MRI-ESM2-0"
## 17 18 19 20
## "MIROC6" "GISS-E2-1-G" "EC-Earth3-Veg-LR" "MIROC-ES2L"
## 21
## "UKESM1-0-LL"
kmeans_250 <- mc_kmeans_250$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 250: 23.802 sec elapsed
tictoc::tic("K-means Clustering 300")
mc_kmeans_300 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer300,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_300
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## 1 2
## "CNRM-ESM2-1" "CanESM5-CanOE"
##
## $suggested_gcms$k3
## 1 2 3
## "CNRM-ESM2-1" "CanESM5-CanOE" "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
## "MRI-ESM2-0" "CNRM-ESM2-1" "MPI-ESM1-2-HR" "CanESM5-CanOE" "INM-CM4-8"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "INM-CM4-8" "CanESM5-CanOE" "FIO-ESM-2-0" "CNRM-ESM2-1"
## 6
## "GISS-E2-1-G"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "CanESM5-CanOE" "IPSL-CM6A-LR" "FIO-ESM-2-0" "GISS-E2-1-G" "EC-Earth3-Veg"
## 6 7
## "MPI-ESM1-2-HR" "UKESM1-0-LL"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "UKESM1-0-LL" "MPI-ESM1-2-HR" "GISS-E2-1-G" "INM-CM4-8" "CanESM5-CanOE"
## 6 7 8
## "FIO-ESM-2-0" "MRI-ESM2-0" "CNRM-ESM2-1"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "FIO-ESM-2-0" "GISS-E2-1-G" "CanESM5-CanOE" "CNRM-ESM2-1" "MPI-ESM1-2-HR"
## 6 7 8 9
## "UKESM1-0-LL" "IPSL-CM6A-LR" "CNRM-CM6-1" "MRI-ESM2-0"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "MIROC-ES2L" "CNRM-CM6-1" "IPSL-CM6A-LR" "UKESM1-0-LL" "MRI-ESM2-0"
## 6 7 8 9 10
## "MPI-ESM1-2-HR" "FIO-ESM-2-0" "CanESM5-CanOE" "CNRM-ESM2-1" "GISS-E2-1-G"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "CNRM-CM6-1" "MRI-ESM2-0" "MIROC-ES2L" "UKESM1-0-LL" "CanESM5-CanOE"
## 6 7 8 9 10
## "IPSL-CM6A-LR" "GISS-E2-1-G" "FIO-ESM-2-0" "MPI-ESM1-2-HR" "CNRM-CM6-1-HR"
## 11
## "EC-Earth3-Veg"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "GISS-E2-1-G" "CMCC-ESM2" "EC-Earth3-Veg" "MIROC-ES2L" "CanESM5-CanOE"
## 6 7 8 9 10
## "MRI-ESM2-0" "MPI-ESM1-2-HR" "IPSL-CM6A-LR" "CNRM-CM6-1" "CNRM-CM6-1-HR"
## 11 12
## "UKESM1-0-LL" "ACCESS-CM2"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "ACCESS-CM2" "MIROC-ES2L" "CNRM-CM6-1-HR" "MPI-ESM1-2-HR" "GISS-E2-1-G"
## 6 7 8 9 10
## "CMCC-ESM2" "GISS-E2-1-H" "MRI-ESM2-0" "IPSL-CM6A-LR" "CanESM5-CanOE"
## 11 12 13
## "UKESM1-0-LL" "CNRM-CM6-1" "EC-Earth3-Veg"
##
## $suggested_gcms$k14
## 1 2 3 4
## "IPSL-CM6A-LR" "CMCC-ESM2" "MPI-ESM1-2-HR" "MRI-ESM2-0"
## 5 6 7 8
## "CNRM-CM6-1-HR" "CNRM-CM6-1" "MIROC-ES2L" "HadGEM3-GC31-LL"
## 9 10 11 12
## "ACCESS-CM2" "GISS-E2-1-G" "CanESM5-CanOE" "EC-Earth3-Veg"
## 13 14
## "ACCESS-ESM1-5" "GISS-E2-1-H"
##
## $suggested_gcms$k15
## 1 2 3 4
## "INM-CM5-0" "CMCC-ESM2" "EC-Earth3-Veg" "IPSL-CM6A-LR"
## 5 6 7 8
## "CNRM-CM6-1-HR" "MPI-ESM1-2-HR" "MIROC6" "ACCESS-CM2"
## 9 10 11 12
## "CNRM-CM6-1" "ACCESS-ESM1-5" "GISS-E2-1-G" "CanESM5-CanOE"
## 13 14 15
## "MIROC-ES2L" "GISS-E2-1-H" "HadGEM3-GC31-LL"
##
## $suggested_gcms$k16
## 1 2 3 4
## "HadGEM3-GC31-LL" "GISS-E2-1-G" "MPI-ESM1-2-HR" "MIROC-ES2L"
## 5 6 7 8
## "MIROC6" "EC-Earth3-Veg" "FIO-ESM-2-0" "ACCESS-CM2"
## 9 10 11 12
## "IPSL-CM6A-LR" "GISS-E2-1-H" "ACCESS-ESM1-5" "CanESM5-CanOE"
## 13 14 15 16
## "INM-CM5-0" "CMCC-ESM2" "CNRM-CM6-1" "CNRM-CM6-1-HR"
##
## $suggested_gcms$k17
## 1 2 3 4
## "CMCC-ESM2" "HadGEM3-GC31-LL" "ACCESS-ESM1-5" "EC-Earth3-Veg"
## 5 6 7 8
## "ACCESS-CM2" "IPSL-CM6A-LR" "MIROC6" "MIROC-ES2L"
## 9 10 11 12
## "GISS-E2-1-G" "GISS-E2-1-H" "CNRM-CM6-1-HR" "FIO-ESM-2-0"
## 13 14 15 16
## "EC-Earth3-Veg-LR" "CNRM-CM6-1" "MPI-ESM1-2-HR" "INM-CM5-0"
## 17
## "CanESM5-CanOE"
##
## $suggested_gcms$k18
## 1 2 3 4
## "CNRM-CM6-1" "MPI-ESM1-2-HR" "HadGEM3-GC31-LL" "GISS-E2-1-H"
## 5 6 7 8
## "INM-CM5-0" "ACCESS-ESM1-5" "EC-Earth3-Veg" "EC-Earth3-Veg-LR"
## 9 10 11 12
## "CanESM5-CanOE" "MRI-ESM2-0" "IPSL-CM6A-LR" "FIO-ESM-2-0"
## 13 14 15 16
## "MIROC6" "CNRM-CM6-1-HR" "ACCESS-CM2" "MIROC-ES2L"
## 17 18
## "GISS-E2-1-G" "CMCC-ESM2"
##
## $suggested_gcms$k19
## 1 2 3 4
## "MIROC-ES2L" "MRI-ESM2-0" "EC-Earth3-Veg-LR" "ACCESS-ESM1-5"
## 5 6 7 8
## "MPI-ESM1-2-LR" "MIROC6" "IPSL-CM6A-LR" "HadGEM3-GC31-LL"
## 9 10 11 12
## "CNRM-CM6-1-HR" "GISS-E2-1-G" "GISS-E2-1-H" "CanESM5-CanOE"
## 13 14 15 16
## "FIO-ESM-2-0" "INM-CM5-0" "ACCESS-CM2" "EC-Earth3-Veg"
## 17 18 19
## "CMCC-ESM2" "CNRM-CM6-1" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k20
## 1 2 3 4
## "MPI-ESM1-2-LR" "IPSL-CM6A-LR" "ACCESS-CM2" "INM-CM4-8"
## 5 6 7 8
## "ACCESS-ESM1-5" "MIROC6" "FIO-ESM-2-0" "EC-Earth3-Veg-LR"
## 9 10 11 12
## "GISS-E2-1-G" "CMCC-ESM2" "HadGEM3-GC31-LL" "MRI-ESM2-0"
## 13 14 15 16
## "EC-Earth3-Veg" "CNRM-CM6-1-HR" "MIROC-ES2L" "MPI-ESM1-2-HR"
## 17 18 19 20
## "CNRM-CM6-1" "GISS-E2-1-H" "CanESM5-CanOE" "INM-CM5-0"
##
## $suggested_gcms$k21
## 1 2 3 4
## "CMCC-ESM2" "GISS-E2-1-H" "MPI-ESM1-2-HR" "EC-Earth3-Veg-LR"
## 5 6 7 8
## "MRI-ESM2-0" "IPSL-CM6A-LR" "GISS-E2-1-G" "INM-CM4-8"
## 9 10 11 12
## "ACCESS-ESM1-5" "CNRM-CM6-1" "MIROC-ES2L" "CanESM5-CanOE"
## 13 14 15 16
## "FIO-ESM-2-0" "CNRM-CM6-1-HR" "HadGEM3-GC31-LL" "MIROC6"
## 17 18 19 20
## "MPI-ESM1-2-LR" "UKESM1-0-LL" "EC-Earth3-Veg" "INM-CM5-0"
## 21
## "ACCESS-CM2"
kmeans_300 <- mc_kmeans_300$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 300: 23.46 sec elapsed
tictoc::tic("K-means Clustering 350")
mc_kmeans_350 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer350,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_350
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## 1 2
## "CNRM-ESM2-1" "CanESM5-CanOE"
##
## $suggested_gcms$k3
## 1 2 3
## "MRI-ESM2-0" "CNRM-ESM2-1" "CanESM5-CanOE"
##
## $suggested_gcms$k4
## 1 2 3 4
## "CNRM-ESM2-1" "CanESM5-CanOE" "MRI-ESM2-0" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k5
## 1 2 3 4 5
## "CNRM-ESM2-1" "CanESM5-CanOE" "MRI-ESM2-0" "MPI-ESM1-2-HR" "CNRM-CM6-1"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "CanESM5-CanOE" "FIO-ESM-2-0" "CNRM-ESM2-1" "MPI-ESM1-2-HR" "CNRM-CM6-1"
## 6
## "GISS-E2-1-G"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "UKESM1-0-LL" "IPSL-CM6A-LR" "GISS-E2-1-G" "FIO-ESM-2-0" "EC-Earth3-Veg"
## 6 7
## "CanESM5-CanOE" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "EC-Earth3-Veg" "FIO-ESM-2-0" "MIROC-ES2L" "CanESM5-CanOE" "MPI-ESM1-2-HR"
## 6 7 8
## "IPSL-CM6A-LR" "GISS-E2-1-G" "UKESM1-0-LL"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "IPSL-CM6A-LR" "GISS-E2-1-G" "CNRM-ESM2-1" "UKESM1-0-LL" "CanESM5-CanOE"
## 6 7 8 9
## "FIO-ESM-2-0" "MPI-ESM1-2-HR" "CNRM-CM6-1" "MRI-ESM2-0"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "UKESM1-0-LL" "CNRM-ESM2-1" "CNRM-CM6-1" "MIROC-ES2L" "FIO-ESM-2-0"
## 6 7 8 9 10
## "MPI-ESM1-2-HR" "IPSL-CM6A-LR" "CanESM5-CanOE" "MRI-ESM2-0" "GISS-E2-1-G"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "CNRM-CM6-1-HR" "CNRM-CM6-1" "UKESM1-0-LL" "FIO-ESM-2-0" "CanESM5-CanOE"
## 6 7 8 9 10
## "MRI-ESM2-0" "MIROC-ES2L" "MPI-ESM1-2-HR" "IPSL-CM6A-LR" "EC-Earth3-Veg"
## 11
## "GISS-E2-1-G"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "MRI-ESM2-0" "CanESM5-CanOE" "UKESM1-0-LL" "CNRM-CM6-1" "ACCESS-CM2"
## 6 7 8 9 10
## "IPSL-CM6A-LR" "EC-Earth3-Veg" "CMCC-ESM2" "MIROC-ES2L" "MPI-ESM1-2-HR"
## 11 12
## "CNRM-CM6-1-HR" "GISS-E2-1-G"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "UKESM1-0-LL" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "IPSL-CM6A-LR" "GISS-E2-1-G"
## 6 7 8 9 10
## "MRI-ESM2-0" "MPI-ESM1-2-HR" "CanESM5-CanOE" "GISS-E2-1-H" "CMCC-ESM2"
## 11 12 13
## "CNRM-CM6-1" "MIROC-ES2L" "ACCESS-CM2"
##
## $suggested_gcms$k14
## 1 2 3 4
## "HadGEM3-GC31-LL" "IPSL-CM6A-LR" "GISS-E2-1-G" "GISS-E2-1-H"
## 5 6 7 8
## "ACCESS-ESM1-5" "CNRM-CM6-1" "CMCC-ESM2" "MIROC-ES2L"
## 9 10 11 12
## "MRI-ESM2-0" "ACCESS-CM2" "EC-Earth3-Veg" "MPI-ESM1-2-HR"
## 13 14
## "CanESM5-CanOE" "CNRM-CM6-1-HR"
##
## $suggested_gcms$k15
## 1 2 3 4
## "ACCESS-CM2" "INM-CM5-0" "MPI-ESM1-2-HR" "CNRM-CM6-1-HR"
## 5 6 7 8
## "MIROC6" "EC-Earth3-Veg" "HadGEM3-GC31-LL" "GISS-E2-1-G"
## 9 10 11 12
## "CanESM5-CanOE" "ACCESS-ESM1-5" "CNRM-CM6-1" "IPSL-CM6A-LR"
## 13 14 15
## "GISS-E2-1-H" "MIROC-ES2L" "CMCC-ESM2"
##
## $suggested_gcms$k16
## 1 2 3 4
## "MIROC-ES2L" "CNRM-CM6-1" "MPI-ESM1-2-HR" "INM-CM5-0"
## 5 6 7 8
## "ACCESS-ESM1-5" "EC-Earth3-Veg" "MRI-ESM2-0" "ACCESS-CM2"
## 9 10 11 12
## "GISS-E2-1-G" "IPSL-CM6A-LR" "MIROC6" "GISS-E2-1-H"
## 13 14 15 16
## "HadGEM3-GC31-LL" "CMCC-ESM2" "CNRM-CM6-1-HR" "CanESM5-CanOE"
##
## $suggested_gcms$k17
## 1 2 3 4
## "FIO-ESM-2-0" "MIROC-ES2L" "MPI-ESM1-2-HR" "EC-Earth3-Veg"
## 5 6 7 8
## "INM-CM5-0" "CNRM-CM6-1" "ACCESS-CM2" "HadGEM3-GC31-LL"
## 9 10 11 12
## "MIROC6" "GISS-E2-1-H" "MRI-ESM2-0" "CMCC-ESM2"
## 13 14 15 16
## "CanESM5-CanOE" "GISS-E2-1-G" "CNRM-CM6-1-HR" "ACCESS-ESM1-5"
## 17
## "IPSL-CM6A-LR"
##
## $suggested_gcms$k18
## 1 2 3 4
## "ACCESS-CM2" "HadGEM3-GC31-LL" "CNRM-CM6-1" "CanESM5-CanOE"
## 5 6 7 8
## "CNRM-CM6-1-HR" "MPI-ESM1-2-HR" "GISS-E2-1-H" "MIROC-ES2L"
## 9 10 11 12
## "GISS-E2-1-G" "CMCC-ESM2" "MIROC6" "MRI-ESM2-0"
## 13 14 15 16
## "ACCESS-ESM1-5" "IPSL-CM6A-LR" "FIO-ESM-2-0" "EC-Earth3-Veg"
## 17 18
## "INM-CM5-0" "MPI-ESM1-2-LR"
##
## $suggested_gcms$k19
## 1 2 3 4
## "CMCC-ESM2" "MIROC6" "GISS-E2-1-H" "ACCESS-ESM1-5"
## 5 6 7 8
## "IPSL-CM6A-LR" "ACCESS-CM2" "MPI-ESM1-2-HR" "EC-Earth3-Veg-LR"
## 9 10 11 12
## "GISS-E2-1-G" "CNRM-CM6-1-HR" "CanESM5-CanOE" "CNRM-CM6-1"
## 13 14 15 16
## "MPI-ESM1-2-LR" "MIROC-ES2L" "FIO-ESM-2-0" "EC-Earth3-Veg"
## 17 18 19
## "MRI-ESM2-0" "HadGEM3-GC31-LL" "INM-CM5-0"
##
## $suggested_gcms$k20
## 1 2 3 4
## "MRI-ESM2-0" "FIO-ESM-2-0" "CMCC-ESM2" "CNRM-CM6-1"
## 5 6 7 8
## "MIROC-ES2L" "GISS-E2-1-H" "MPI-ESM1-2-LR" "MIROC6"
## 9 10 11 12
## "ACCESS-CM2" "INM-CM4-8" "INM-CM5-0" "MPI-ESM1-2-HR"
## 13 14 15 16
## "IPSL-CM6A-LR" "CanESM5-CanOE" "EC-Earth3-Veg-LR" "HadGEM3-GC31-LL"
## 17 18 19 20
## "CNRM-CM6-1-HR" "EC-Earth3-Veg" "ACCESS-ESM1-5" "GISS-E2-1-G"
##
## $suggested_gcms$k21
## 1 2 3 4
## "CNRM-ESM2-1" "MPI-ESM1-2-HR" "GISS-E2-1-G" "MIROC-ES2L"
## 5 6 7 8
## "MPI-ESM1-2-LR" "ACCESS-ESM1-5" "HadGEM3-GC31-LL" "CNRM-CM6-1-HR"
## 9 10 11 12
## "CanESM5-CanOE" "FIO-ESM-2-0" "INM-CM5-0" "IPSL-CM6A-LR"
## 13 14 15 16
## "CNRM-CM6-1" "MRI-ESM2-0" "CMCC-ESM2" "EC-Earth3-Veg"
## 17 18 19 20
## "GISS-E2-1-H" "INM-CM4-8" "ACCESS-CM2" "EC-Earth3-Veg-LR"
## 21
## "MIROC6"
kmeans_350 <- mc_kmeans_350$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 350: 23.938 sec elapsed
tictoc::tic("K-means Clustering 400")
mc_kmeans_400 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer400,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_400
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## 1 2
## "CanESM5-CanOE" "CNRM-ESM2-1"
##
## $suggested_gcms$k3
## 1 2 3
## "CNRM-ESM2-1" "CanESM5-CanOE" "MRI-ESM2-0"
##
## $suggested_gcms$k4
## 1 2 3 4
## "CanESM5-CanOE" "CNRM-ESM2-1" "MPI-ESM1-2-HR" "MRI-ESM2-0"
##
## $suggested_gcms$k5
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "CNRM-CM6-1" "MRI-ESM2-0" "CanESM5-CanOE" "UKESM1-0-LL"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "MRI-ESM2-0" "MPI-ESM1-2-HR" "FIO-ESM-2-0" "CNRM-CM6-1" "CanESM5-CanOE"
## 6
## "UKESM1-0-LL"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "CanESM5-CanOE" "MPI-ESM1-2-HR" "EC-Earth3-Veg" "MRI-ESM2-0" "UKESM1-0-LL"
## 6 7
## "FIO-ESM-2-0" "IPSL-CM6A-LR"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "UKESM1-0-LL" "IPSL-CM6A-LR" "FIO-ESM-2-0" "EC-Earth3-Veg" "MIROC-ES2L"
## 6 7 8
## "MPI-ESM1-2-HR" "CanESM5-CanOE" "GISS-E2-1-G"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "IPSL-CM6A-LR" "UKESM1-0-LL" "FIO-ESM-2-0" "MIROC-ES2L" "CanESM5-CanOE"
## 6 7 8 9
## "CNRM-ESM2-1" "CNRM-CM6-1" "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "MRI-ESM2-0" "FIO-ESM-2-0" "MPI-ESM1-2-HR" "IPSL-CM6A-LR" "UKESM1-0-LL"
## 6 7 8 9 10
## "CNRM-ESM2-1" "GISS-E2-1-G" "CNRM-CM6-1" "CanESM5-CanOE" "MIROC-ES2L"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "CanESM5-CanOE" "MPI-ESM1-2-HR" "GISS-E2-1-G" "MIROC-ES2L" "ACCESS-CM2"
## 6 7 8 9 10
## "CNRM-ESM2-1" "MRI-ESM2-0" "IPSL-CM6A-LR" "UKESM1-0-LL" "CMCC-ESM2"
## 11
## "CNRM-CM6-1"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "MRI-ESM2-0" "CNRM-CM6-1" "UKESM1-0-LL" "MIROC-ES2L"
## 6 7 8 9 10
## "CNRM-CM6-1-HR" "GISS-E2-1-G" "CMCC-ESM2" "ACCESS-CM2" "EC-Earth3-Veg"
## 11 12
## "IPSL-CM6A-LR" "CanESM5-CanOE"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "ACCESS-CM2" "GISS-E2-1-H" "CanESM5-CanOE" "MPI-ESM1-2-HR" "MRI-ESM2-0"
## 6 7 8 9 10
## "UKESM1-0-LL" "CMCC-ESM2" "EC-Earth3-Veg" "CNRM-CM6-1" "CNRM-CM6-1-HR"
## 11 12 13
## "GISS-E2-1-G" "IPSL-CM6A-LR" "MIROC-ES2L"
##
## $suggested_gcms$k14
## 1 2 3 4 5
## "CMCC-ESM2" "CNRM-CM6-1-HR" "IPSL-CM6A-LR" "ACCESS-CM2" "EC-Earth3-Veg"
## 6 7 8 9 10
## "CNRM-CM6-1" "CanESM5-CanOE" "INM-CM5-0" "MIROC6" "GISS-E2-1-G"
## 11 12 13 14
## "GISS-E2-1-H" "UKESM1-0-LL" "MIROC-ES2L" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k15
## 1 2 3 4
## "MIROC-ES2L" "CNRM-CM6-1-HR" "GISS-E2-1-G" "EC-Earth3-Veg"
## 5 6 7 8
## "ACCESS-CM2" "INM-CM5-0" "CNRM-CM6-1" "MIROC6"
## 9 10 11 12
## "MPI-ESM1-2-HR" "GISS-E2-1-H" "HadGEM3-GC31-LL" "CMCC-ESM2"
## 13 14 15
## "ACCESS-ESM1-5" "IPSL-CM6A-LR" "CanESM5-CanOE"
##
## $suggested_gcms$k16
## 1 2 3 4
## "IPSL-CM6A-LR" "ACCESS-CM2" "CanESM5-CanOE" "ACCESS-ESM1-5"
## 5 6 7 8
## "CNRM-CM6-1-HR" "GISS-E2-1-H" "CMCC-ESM2" "MPI-ESM1-2-HR"
## 9 10 11 12
## "GISS-E2-1-G" "CNRM-CM6-1" "MIROC-ES2L" "MRI-ESM2-0"
## 13 14 15 16
## "HadGEM3-GC31-LL" "EC-Earth3-Veg" "MIROC6" "INM-CM5-0"
##
## $suggested_gcms$k17
## 1 2 3 4
## "INM-CM5-0" "EC-Earth3-Veg" "CanESM5-CanOE" "ACCESS-CM2"
## 5 6 7 8
## "MPI-ESM1-2-LR" "MIROC6" "MPI-ESM1-2-HR" "HadGEM3-GC31-LL"
## 9 10 11 12
## "CMCC-ESM2" "ACCESS-ESM1-5" "GISS-E2-1-G" "IPSL-CM6A-LR"
## 13 14 15 16
## "CNRM-CM6-1-HR" "GISS-E2-1-H" "MIROC-ES2L" "CNRM-CM6-1"
## 17
## "MRI-ESM2-0"
##
## $suggested_gcms$k18
## 1 2 3 4
## "CanESM5-CanOE" "ACCESS-ESM1-5" "CNRM-CM6-1" "MPI-ESM1-2-LR"
## 5 6 7 8
## "IPSL-CM6A-LR" "ACCESS-CM2" "GISS-E2-1-G" "MRI-ESM2-0"
## 9 10 11 12
## "CNRM-CM6-1-HR" "EC-Earth3-Veg" "CMCC-ESM2" "GISS-E2-1-H"
## 13 14 15 16
## "HadGEM3-GC31-LL" "MPI-ESM1-2-HR" "MIROC6" "EC-Earth3-Veg-LR"
## 17 18
## "INM-CM5-0" "MIROC-ES2L"
##
## $suggested_gcms$k19
## 1 2 3 4
## "HadGEM3-GC31-LL" "CanESM5-CanOE" "EC-Earth3-Veg" "ACCESS-CM2"
## 5 6 7 8
## "CNRM-CM6-1-HR" "MRI-ESM2-0" "GISS-E2-1-H" "ACCESS-ESM1-5"
## 9 10 11 12
## "CNRM-CM6-1" "INM-CM5-0" "MIROC-ES2L" "EC-Earth3-Veg-LR"
## 13 14 15 16
## "MPI-ESM1-2-LR" "IPSL-CM6A-LR" "MIROC6" "CMCC-ESM2"
## 17 18 19
## "MPI-ESM1-2-HR" "FIO-ESM-2-0" "GISS-E2-1-G"
##
## $suggested_gcms$k20
## 1 2 3 4
## "MRI-ESM2-0" "CNRM-CM6-1-HR" "CMCC-ESM2" "MIROC-ES2L"
## 5 6 7 8
## "MPI-ESM1-2-HR" "GISS-E2-1-H" "EC-Earth3-Veg-LR" "HadGEM3-GC31-LL"
## 9 10 11 12
## "EC-Earth3-Veg" "MIROC6" "INM-CM4-8" "ACCESS-CM2"
## 13 14 15 16
## "GISS-E2-1-G" "IPSL-CM6A-LR" "CNRM-CM6-1" "ACCESS-ESM1-5"
## 17 18 19 20
## "MPI-ESM1-2-LR" "INM-CM5-0" "CanESM5-CanOE" "FIO-ESM-2-0"
##
## $suggested_gcms$k21
## 1 2 3 4
## "IPSL-CM6A-LR" "CNRM-CM6-1" "INM-CM4-8" "MRI-ESM2-0"
## 5 6 7 8
## "HadGEM3-GC31-LL" "CNRM-CM6-1-HR" "MIROC-ES2L" "MIROC6"
## 9 10 11 12
## "ACCESS-CM2" "CMCC-ESM2" "CanESM5-CanOE" "FIO-ESM-2-0"
## 13 14 15 16
## "GISS-E2-1-H" "GISS-E2-1-G" "MPI-ESM1-2-LR" "EC-Earth3-Veg"
## 17 18 19 20
## "EC-Earth3-Veg-LR" "CNRM-ESM2-1" "MPI-ESM1-2-HR" "INM-CM5-0"
## 21
## "ACCESS-ESM1-5"
kmeans_400 <- mc_kmeans_400$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 400: 23.766 sec elapsed
tictoc::tic("K-means Clustering 450")
mc_kmeans_450 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer450,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_450
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## 1 2
## "CanESM5-CanOE" "CNRM-ESM2-1"
##
## $suggested_gcms$k3
## 1 2 3
## "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
##
## $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
## "UKESM1-0-LL" "MPI-ESM1-2-HR" "CanESM5-CanOE" "MRI-ESM2-0" "CNRM-CM6-1"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "MPI-ESM1-2-HR" "UKESM1-0-LL" "CanESM5-CanOE" "CNRM-CM6-1" "MRI-ESM2-0"
## 6
## "FIO-ESM-2-0"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "FIO-ESM-2-0" "CanESM5-CanOE" "EC-Earth3-Veg" "UKESM1-0-LL" "IPSL-CM6A-LR"
## 6 7
## "MRI-ESM2-0" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "CanESM5-CanOE" "MIROC-ES2L" "GISS-E2-1-G" "FIO-ESM-2-0" "MPI-ESM1-2-HR"
## 6 7 8
## "UKESM1-0-LL" "EC-Earth3-Veg" "IPSL-CM6A-LR"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "CanESM5-CanOE" "MIROC-ES2L" "CNRM-ESM2-1" "FIO-ESM-2-0" "CNRM-CM6-1"
## 6 7 8 9
## "IPSL-CM6A-LR" "UKESM1-0-LL" "GISS-E2-1-G" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "GISS-E2-1-G" "UKESM1-0-LL" "CNRM-ESM2-1" "CNRM-CM6-1" "IPSL-CM6A-LR"
## 6 7 8 9 10
## "FIO-ESM-2-0" "MPI-ESM1-2-HR" "MIROC-ES2L" "GISS-E2-1-H" "CanESM5-CanOE"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "CMCC-ESM2" "GISS-E2-1-G" "CNRM-CM6-1" "GISS-E2-1-H" "CanESM5-CanOE"
## 6 7 8 9 10
## "CNRM-ESM2-1" "MPI-ESM1-2-HR" "MIROC-ES2L" "ACCESS-CM2" "UKESM1-0-LL"
## 11
## "IPSL-CM6A-LR"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "UKESM1-0-LL" "MIROC-ES2L" "IPSL-CM6A-LR" "EC-Earth3-Veg" "CanESM5-CanOE"
## 6 7 8 9 10
## "ACCESS-CM2" "MPI-ESM1-2-HR" "GISS-E2-1-G" "CNRM-CM6-1-HR" "GISS-E2-1-H"
## 11 12
## "CMCC-ESM2" "CNRM-CM6-1"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "GISS-E2-1-H" "MPI-ESM1-2-HR" "UKESM1-0-LL" "IPSL-CM6A-LR" "CanESM5-CanOE"
## 6 7 8 9 10
## "CNRM-CM6-1-HR" "ACCESS-CM2" "EC-Earth3-Veg" "GISS-E2-1-G" "CMCC-ESM2"
## 11 12 13
## "INM-CM5-0" "CNRM-CM6-1" "MIROC-ES2L"
##
## $suggested_gcms$k14
## 1 2 3 4 5
## "UKESM1-0-LL" "IPSL-CM6A-LR" "MPI-ESM1-2-LR" "CNRM-CM6-1" "EC-Earth3-Veg"
## 6 7 8 9 10
## "CMCC-ESM2" "MIROC-ES2L" "GISS-E2-1-G" "ACCESS-CM2" "CNRM-CM6-1-HR"
## 11 12 13 14
## "CanESM5-CanOE" "INM-CM5-0" "MPI-ESM1-2-HR" "GISS-E2-1-H"
##
## $suggested_gcms$k15
## 1 2 3 4
## "ACCESS-ESM1-5" "CNRM-CM6-1" "GISS-E2-1-G" "INM-CM5-0"
## 5 6 7 8
## "HadGEM3-GC31-LL" "ACCESS-CM2" "MIROC-ES2L" "IPSL-CM6A-LR"
## 9 10 11 12
## "GISS-E2-1-H" "MPI-ESM1-2-HR" "EC-Earth3-Veg" "CanESM5-CanOE"
## 13 14 15
## "CMCC-ESM2" "CNRM-CM6-1-HR" "MPI-ESM1-2-LR"
##
## $suggested_gcms$k16
## 1 2 3 4
## "MPI-ESM1-2-HR" "MIROC-ES2L" "EC-Earth3-Veg" "GISS-E2-1-H"
## 5 6 7 8
## "INM-CM5-0" "GISS-E2-1-G" "HadGEM3-GC31-LL" "CNRM-CM6-1-HR"
## 9 10 11 12
## "MRI-ESM2-0" "CNRM-CM6-1" "ACCESS-CM2" "CanESM5-CanOE"
## 13 14 15 16
## "MPI-ESM1-2-LR" "CMCC-ESM2" "ACCESS-ESM1-5" "IPSL-CM6A-LR"
##
## $suggested_gcms$k17
## 1 2 3 4
## "IPSL-CM6A-LR" "MIROC-ES2L" "MPI-ESM1-2-HR" "MPI-ESM1-2-LR"
## 5 6 7 8
## "EC-Earth3-Veg" "GISS-E2-1-G" "MIROC6" "ACCESS-CM2"
## 9 10 11 12
## "CNRM-CM6-1-HR" "GISS-E2-1-H" "CMCC-ESM2" "ACCESS-ESM1-5"
## 13 14 15 16
## "MRI-ESM2-0" "HadGEM3-GC31-LL" "CNRM-CM6-1" "CanESM5-CanOE"
## 17
## "INM-CM5-0"
##
## $suggested_gcms$k18
## 1 2 3 4
## "INM-CM5-0" "IPSL-CM6A-LR" "HadGEM3-GC31-LL" "CanESM5-CanOE"
## 5 6 7 8
## "ACCESS-CM2" "MIROC6" "GISS-E2-1-H" "MPI-ESM1-2-LR"
## 9 10 11 12
## "MPI-ESM1-2-HR" "EC-Earth3-Veg" "CNRM-CM6-1-HR" "CNRM-CM6-1"
## 13 14 15 16
## "CMCC-ESM2" "ACCESS-ESM1-5" "INM-CM4-8" "MIROC-ES2L"
## 17 18
## "GISS-E2-1-G" "MRI-ESM2-0"
##
## $suggested_gcms$k19
## 1 2 3 4
## "CNRM-CM6-1-HR" "MIROC-ES2L" "CNRM-CM6-1" "GISS-E2-1-G"
## 5 6 7 8
## "EC-Earth3-Veg" "CMCC-ESM2" "INM-CM5-0" "CanESM5-CanOE"
## 9 10 11 12
## "MRI-ESM2-0" "ACCESS-CM2" "GISS-E2-1-H" "MPI-ESM1-2-LR"
## 13 14 15 16
## "MIROC6" "INM-CM4-8" "ACCESS-ESM1-5" "EC-Earth3-Veg-LR"
## 17 18 19
## "HadGEM3-GC31-LL" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k20
## 1 2 3 4
## "ACCESS-CM2" "MRI-ESM2-0" "MPI-ESM1-2-LR" "CNRM-CM6-1"
## 5 6 7 8
## "ACCESS-ESM1-5" "EC-Earth3-Veg" "FIO-ESM-2-0" "GISS-E2-1-H"
## 9 10 11 12
## "MIROC-ES2L" "HadGEM3-GC31-LL" "CanESM5-CanOE" "MPI-ESM1-2-HR"
## 13 14 15 16
## "GISS-E2-1-G" "INM-CM5-0" "MIROC6" "CNRM-CM6-1-HR"
## 17 18 19 20
## "EC-Earth3-Veg-LR" "CMCC-ESM2" "INM-CM4-8" "IPSL-CM6A-LR"
##
## $suggested_gcms$k21
## 1 2 3 4
## "CNRM-ESM2-1" "MPI-ESM1-2-LR" "ACCESS-ESM1-5" "GISS-E2-1-H"
## 5 6 7 8
## "MIROC-ES2L" "MPI-ESM1-2-HR" "GISS-E2-1-G" "EC-Earth3-Veg"
## 9 10 11 12
## "CNRM-CM6-1" "FIO-ESM-2-0" "ACCESS-CM2" "CanESM5-CanOE"
## 13 14 15 16
## "EC-Earth3-Veg-LR" "CNRM-CM6-1-HR" "INM-CM4-8" "CMCC-ESM2"
## 17 18 19 20
## "INM-CM5-0" "MRI-ESM2-0" "MIROC6" "HadGEM3-GC31-LL"
## 21
## "IPSL-CM6A-LR"
kmeans_450 <- mc_kmeans_450$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 450: 24.206 sec elapsed
tictoc::tic("K-means Clustering 500")
mc_kmeans_500 <- montecarlo_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer500,
scale = TRUE,
perm = 10000,
dist_method = "euclidean",
clustering_method = "kmeans")
mc_kmeans_500
## $montecarlo_plot
##
## $suggested_gcms
## $suggested_gcms$k2
## 1 2
## "CNRM-ESM2-1" "CanESM5-CanOE"
##
## $suggested_gcms$k3
## 1 2 3
## "CNRM-ESM2-1" "MRI-ESM2-0" "CanESM5-CanOE"
##
## $suggested_gcms$k4
## 1 2 3 4
## "MRI-ESM2-0" "MPI-ESM1-2-HR" "CNRM-ESM2-1" "CanESM5-CanOE"
##
## $suggested_gcms$k5
## 1 2 3 4 5
## "CanESM5-CanOE" "CNRM-CM6-1" "MPI-ESM1-2-HR" "MRI-ESM2-0" "UKESM1-0-LL"
##
## $suggested_gcms$k6
## 1 2 3 4 5
## "EC-Earth3-Veg" "INM-CM4-8" "CanESM5-CanOE" "UKESM1-0-LL" "MRI-ESM2-0"
## 6
## "MPI-ESM1-2-HR"
##
## $suggested_gcms$k7
## 1 2 3 4 5
## "MRI-ESM2-0" "MPI-ESM1-2-HR" "EC-Earth3-Veg" "FIO-ESM-2-0" "CanESM5-CanOE"
## 6 7
## "INM-CM4-8" "UKESM1-0-LL"
##
## $suggested_gcms$k8
## 1 2 3 4 5
## "GISS-E2-1-G" "UKESM1-0-LL" "EC-Earth3-Veg" "CanESM5-CanOE" "INM-CM4-8"
## 6 7 8
## "MIROC-ES2L" "MPI-ESM1-2-HR" "FIO-ESM-2-0"
##
## $suggested_gcms$k9
## 1 2 3 4 5
## "CNRM-ESM2-1" "FIO-ESM-2-0" "MIROC-ES2L" "GISS-E2-1-G" "CanESM5-CanOE"
## 6 7 8 9
## "CNRM-CM6-1" "MPI-ESM1-2-HR" "IPSL-CM6A-LR" "UKESM1-0-LL"
##
## $suggested_gcms$k10
## 1 2 3 4 5
## "MIROC-ES2L" "CNRM-CM6-1" "GISS-E2-1-G" "CanESM5-CanOE" "UKESM1-0-LL"
## 6 7 8 9 10
## "GISS-E2-1-H" "MPI-ESM1-2-HR" "CNRM-ESM2-1" "IPSL-CM6A-LR" "FIO-ESM-2-0"
##
## $suggested_gcms$k11
## 1 2 3 4 5
## "MIROC-ES2L" "CMCC-ESM2" "UKESM1-0-LL" "GISS-E2-1-G" "CNRM-CM6-1"
## 6 7 8 9 10
## "GISS-E2-1-H" "ACCESS-CM2" "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "CanESM5-CanOE"
## 11
## "CNRM-ESM2-1"
##
## $suggested_gcms$k12
## 1 2 3 4 5
## "UKESM1-0-LL" "CanESM5-CanOE" "MIROC-ES2L" "EC-Earth3-Veg" "GISS-E2-1-G"
## 6 7 8 9 10
## "CMCC-ESM2" "MPI-ESM1-2-HR" "IPSL-CM6A-LR" "GISS-E2-1-H" "CNRM-CM6-1"
## 11 12
## "ACCESS-CM2" "CNRM-CM6-1-HR"
##
## $suggested_gcms$k13
## 1 2 3 4 5
## "CMCC-ESM2" "UKESM1-0-LL" "CNRM-CM6-1-HR" "EC-Earth3-Veg" "CanESM5-CanOE"
## 6 7 8 9 10
## "IPSL-CM6A-LR" "MIROC-ES2L" "MPI-ESM1-2-HR" "GISS-E2-1-G" "ACCESS-CM2"
## 11 12 13
## "GISS-E2-1-H" "INM-CM5-0" "CNRM-CM6-1"
##
## $suggested_gcms$k14
## 1 2 3 4 5
## "EC-Earth3-Veg" "GISS-E2-1-H" "MIROC-ES2L" "IPSL-CM6A-LR" "UKESM1-0-LL"
## 6 7 8 9 10
## "INM-CM5-0" "GISS-E2-1-G" "CNRM-CM6-1-HR" "MPI-ESM1-2-LR" "CNRM-CM6-1"
## 11 12 13 14
## "CMCC-ESM2" "ACCESS-CM2" "MPI-ESM1-2-HR" "CanESM5-CanOE"
##
## $suggested_gcms$k15
## 1 2 3 4 5
## "GISS-E2-1-H" "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "MIROC-ES2L" "UKESM1-0-LL"
## 6 7 8 9 10
## "EC-Earth3-Veg" "CNRM-CM6-1" "CanESM5-CanOE" "MPI-ESM1-2-LR" "MRI-ESM2-0"
## 11 12 13 14 15
## "GISS-E2-1-G" "INM-CM5-0" "ACCESS-CM2" "CMCC-ESM2" "CNRM-CM6-1-HR"
##
## $suggested_gcms$k16
## 1 2 3 4 5
## "UKESM1-0-LL" "MPI-ESM1-2-LR" "CNRM-CM6-1-HR" "MIROC6" "CMCC-ESM2"
## 6 7 8 9 10
## "MIROC-ES2L" "IPSL-CM6A-LR" "MRI-ESM2-0" "CNRM-CM6-1" "GISS-E2-1-G"
## 11 12 13 14 15
## "EC-Earth3-Veg" "CanESM5-CanOE" "ACCESS-CM2" "INM-CM5-0" "GISS-E2-1-H"
## 16
## "MPI-ESM1-2-HR"
##
## $suggested_gcms$k17
## 1 2 3 4
## "MRI-ESM2-0" "IPSL-CM6A-LR" "ACCESS-CM2" "GISS-E2-1-G"
## 5 6 7 8
## "EC-Earth3-Veg" "CNRM-CM6-1" "MIROC6" "MIROC-ES2L"
## 9 10 11 12
## "CNRM-CM6-1-HR" "CMCC-ESM2" "ACCESS-ESM1-5" "GISS-E2-1-H"
## 13 14 15 16
## "MPI-ESM1-2-HR" "CanESM5-CanOE" "HadGEM3-GC31-LL" "MPI-ESM1-2-LR"
## 17
## "INM-CM5-0"
##
## $suggested_gcms$k18
## 1 2 3 4
## "ACCESS-CM2" "CMCC-ESM2" "CNRM-CM6-1" "MRI-ESM2-0"
## 5 6 7 8
## "MIROC6" "GISS-E2-1-H" "CanESM5-CanOE" "IPSL-CM6A-LR"
## 9 10 11 12
## "MIROC-ES2L" "INM-CM4-8" "CNRM-CM6-1-HR" "HadGEM3-GC31-LL"
## 13 14 15 16
## "EC-Earth3-Veg" "MPI-ESM1-2-LR" "GISS-E2-1-G" "ACCESS-ESM1-5"
## 17 18
## "INM-CM5-0" "MPI-ESM1-2-HR"
##
## $suggested_gcms$k19
## 1 2 3 4
## "EC-Earth3-Veg" "GISS-E2-1-H" "HadGEM3-GC31-LL" "CNRM-CM6-1-HR"
## 5 6 7 8
## "EC-Earth3-Veg-LR" "INM-CM5-0" "CMCC-ESM2" "ACCESS-CM2"
## 9 10 11 12
## "CNRM-CM6-1" "MPI-ESM1-2-HR" "INM-CM4-8" "IPSL-CM6A-LR"
## 13 14 15 16
## "MPI-ESM1-2-LR" "MRI-ESM2-0" "MIROC-ES2L" "CanESM5-CanOE"
## 17 18 19
## "ACCESS-ESM1-5" "GISS-E2-1-G" "MIROC6"
##
## $suggested_gcms$k20
## 1 2 3 4
## "GISS-E2-1-H" "MRI-ESM2-0" "INM-CM5-0" "CNRM-CM6-1-HR"
## 5 6 7 8
## "MIROC6" "MPI-ESM1-2-HR" "FIO-ESM-2-0" "IPSL-CM6A-LR"
## 9 10 11 12
## "EC-Earth3-Veg" "CanESM5-CanOE" "MPI-ESM1-2-LR" "CNRM-CM6-1"
## 13 14 15 16
## "EC-Earth3-Veg-LR" "ACCESS-CM2" "CMCC-ESM2" "GISS-E2-1-G"
## 17 18 19 20
## "MIROC-ES2L" "ACCESS-ESM1-5" "INM-CM4-8" "HadGEM3-GC31-LL"
##
## $suggested_gcms$k21
## 1 2 3 4
## "MIROC6" "CNRM-CM6-1-HR" "GISS-E2-1-H" "ACCESS-CM2"
## 5 6 7 8
## "HadGEM3-GC31-LL" "EC-Earth3-Veg-LR" "MPI-ESM1-2-LR" "IPSL-CM6A-LR"
## 9 10 11 12
## "CNRM-ESM2-1" "CMCC-ESM2" "MIROC-ES2L" "MPI-ESM1-2-HR"
## 13 14 15 16
## "FIO-ESM-2-0" "MRI-ESM2-0" "ACCESS-ESM1-5" "CanESM5-CanOE"
## 17 18 19 20
## "INM-CM5-0" "GISS-E2-1-G" "EC-Earth3-Veg" "CNRM-CM6-1"
## 21
## "INM-CM4-8"
kmeans_500 <- mc_kmeans_500$suggested_gcms$k3
tictoc::toc()
## K-means Clustering 500: 23.864 sec elapsed
Closestdist selection
tictoc::tic("Closestdist 50")
mc_closestdist_50 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer50,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_50
## $suggested_gcms
## [1] "CMCC-ESM2" "UKESM1-0-LL" "IPSL-CM6A-LR" "EC-Earth3-Veg"
##
## $best_mean_diff
## [1] 0.0002753937
##
## $global_mean
## [1] 21.36352
closestdist_50 <- mc_closestdist_50$suggested_gcms
tictoc::toc()
## Closestdist 50: 1.714 sec elapsed
tictoc::tic("Closestdist 100")
mc_closestdist_100 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer100,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_100
## $suggested_gcms
## [1] "MIROC-ES2L" "MPI-ESM1-2-HR" "MIROC6" "MRI-ESM2-0"
##
## $best_mean_diff
## [1] 0.0003074422
##
## $global_mean
## [1] 24.97621
closestdist_100 <- mc_closestdist_100$suggested_gcms
tictoc::toc()
## Closestdist 100: 1.789 sec elapsed
tictoc::tic("Closestdist 150")
mc_closestdist_150 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer150,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_150
## $suggested_gcms
## [1] "CanESM5-CanOE" "GISS-E2-1-G" "INM-CM4-8" "IPSL-CM6A-LR"
## [5] "MPI-ESM1-2-LR" "CNRM-CM6-1" "MIROC-ES2L" "CNRM-CM6-1-HR"
##
## $best_mean_diff
## [1] 0.0002528288
##
## $global_mean
## [1] 27.75368
closestdist_150 <- mc_closestdist_150$suggested_gcms
tictoc::toc()
## Closestdist 150: 1.853 sec elapsed
tictoc::tic("Closestdist 200")
mc_closestdist_200 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer200,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_200
## $suggested_gcms
## [1] "CMCC-ESM2" "MPI-ESM1-2-HR" "FIO-ESM-2-0" "ACCESS-CM2"
## [5] "GISS-E2-1-G" "INM-CM5-0"
##
## $best_mean_diff
## [1] 0.0005333435
##
## $global_mean
## [1] 30.15712
closestdist_200 <- mc_closestdist_200$suggested_gcms
tictoc::toc()
## Closestdist 200: 1.965 sec elapsed
tictoc::tic("Closestdist 250")
mc_closestdist_250 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer250,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_250
## $suggested_gcms
## [1] "MIROC6" "MRI-ESM2-0" "IPSL-CM6A-LR" "ACCESS-CM2"
## [5] "EC-Earth3-Veg-LR"
##
## $best_mean_diff
## [1] 0.0001436473
##
## $global_mean
## [1] 32.34868
closestdist_250 <- mc_closestdist_250$suggested_gcms
tictoc::toc()
## Closestdist 250: 2.007 sec elapsed
tictoc::tic("Closestdist 300")
mc_closestdist_300 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer300,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_300
## $suggested_gcms
## [1] "EC-Earth3-Veg-LR" "GISS-E2-1-G" "MPI-ESM1-2-LR"
##
## $best_mean_diff
## [1] 0.0002942981
##
## $global_mean
## [1] 34.12026
closestdist_300 <- mc_closestdist_300$suggested_gcms
tictoc::toc()
## Closestdist 300: 2.055 sec elapsed
tictoc::tic("Closestdist 350")
mc_closestdist_350 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer350,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_350
## $suggested_gcms
## [1] "INM-CM5-0" "MIROC-ES2L" "ACCESS-CM2" "IPSL-CM6A-LR" "GISS-E2-1-G"
##
## $best_mean_diff
## [1] 0.0005980465
##
## $global_mean
## [1] 35.61079
closestdist_350 <- mc_closestdist_350$suggested_gcms
tictoc::toc()
## Closestdist 350: 2.188 sec elapsed
tictoc::tic("Closestdist 400")
mc_closestdist_400 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer400,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_400
## $suggested_gcms
## [1] "GISS-E2-1-G" "IPSL-CM6A-LR" "INM-CM5-0" "CNRM-CM6-1"
## [5] "CMCC-ESM2" "EC-Earth3-Veg-LR" "FIO-ESM-2-0"
##
## $best_mean_diff
## [1] 0.0003351331
##
## $global_mean
## [1] 36.82629
closestdist_400 <- mc_closestdist_400$suggested_gcms
tictoc::toc()
## Closestdist 400: 2.235 sec elapsed
tictoc::tic("Closestdist 450")
mc_closestdist_450 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer450,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_450
## $suggested_gcms
## [1] "ACCESS-CM2" "MPI-ESM1-2-HR" "FIO-ESM-2-0" "HadGEM3-GC31-LL"
## [5] "GISS-E2-1-G"
##
## $best_mean_diff
## [1] 0.0007142785
##
## $global_mean
## [1] 37.90422
closestdist_450 <- mc_closestdist_450$suggested_gcms
tictoc::toc()
## Closestdist 450: 2.297 sec elapsed
tictoc::tic("Closestdist 500")
mc_closestdist_500 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer500,
method = "euclidean")
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist_500
## $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_500 <- mc_closestdist_500$suggested_gcms
tictoc::toc()
## Closestdist 500: 2.424 sec elapsed
Closestdist selection
tictoc::tic("Closestdist3 50")
mc_closestdist3_50 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer50,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_50
## $suggested_gcms
## [1] "ACCESS-CM2" "EC-Earth3-Veg" "GISS-E2-1-H"
##
## $best_mean_diff
## [1] 0.005064835
##
## $global_mean
## [1] 21.36352
closestdist3_50 <- mc_closestdist3_50$suggested_gcms
tictoc::toc()
## Closestdist3 50: 1.56 sec elapsed
tictoc::tic("Closestdist3 100")
mc_closestdist3_100 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer100,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_100
## $suggested_gcms
## [1] "EC-Earth3-Veg-LR" "HadGEM3-GC31-LL" "IPSL-CM6A-LR"
##
## $best_mean_diff
## [1] 0.007391347
##
## $global_mean
## [1] 24.97621
closestdist3_100 <- mc_closestdist3_100$suggested_gcms
tictoc::toc()
## Closestdist3 100: 1.608 sec elapsed
tictoc::tic("Closestdist3 150")
mc_closestdist3_150 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer150,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_150
## $suggested_gcms
## [1] "ACCESS-CM2" "EC-Earth3-Veg-LR" "UKESM1-0-LL"
##
## $best_mean_diff
## [1] 0.0212794
##
## $global_mean
## [1] 27.75368
closestdist3_150 <- mc_closestdist3_150$suggested_gcms
tictoc::toc()
## Closestdist3 150: 1.676 sec elapsed
tictoc::tic("Closestdist3 200")
mc_closestdist3_200 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer200,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_200
## $suggested_gcms
## [1] "CNRM-CM6-1-HR" "FIO-ESM-2-0" "INM-CM4-8"
##
## $best_mean_diff
## [1] 0.0008414798
##
## $global_mean
## [1] 30.15712
closestdist3_200 <- mc_closestdist3_200$suggested_gcms
tictoc::toc()
## Closestdist3 200: 1.804 sec elapsed
tictoc::tic("Closestdist3 250")
mc_closestdist3_250 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer250,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_250
## $suggested_gcms
## [1] "HadGEM3-GC31-LL" "INM-CM4-8" "IPSL-CM6A-LR"
##
## $best_mean_diff
## [1] 0.01352089
##
## $global_mean
## [1] 32.34868
closestdist3_250 <- mc_closestdist3_250$suggested_gcms
tictoc::toc()
## Closestdist3 250: 1.879 sec elapsed
tictoc::tic("Closestdist3 300")
mc_closestdist3_300 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer300,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_300
## $suggested_gcms
## [1] "EC-Earth3-Veg-LR" "GISS-E2-1-G" "MPI-ESM1-2-LR"
##
## $best_mean_diff
## [1] 0.0002942981
##
## $global_mean
## [1] 34.12026
closestdist3_300 <- mc_closestdist3_300$suggested_gcms
tictoc::toc()
## Closestdist3 300: 1.924 sec elapsed
tictoc::tic("Closestdist3 350")
mc_closestdist3_350 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer350,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_350
## $suggested_gcms
## [1] "EC-Earth3-Veg-LR" "FIO-ESM-2-0" "HadGEM3-GC31-LL"
##
## $best_mean_diff
## [1] 0.01377996
##
## $global_mean
## [1] 35.61079
closestdist3_350 <- mc_closestdist3_350$suggested_gcms
tictoc::toc()
## Closestdist3 350: 2.015 sec elapsed
tictoc::tic("Closestdist3 400")
mc_closestdist3_400 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer400,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_400
## $suggested_gcms
## [1] "CMCC-ESM2" "GISS-E2-1-H" "MPI-ESM1-2-LR"
##
## $best_mean_diff
## [1] 0.0009890549
##
## $global_mean
## [1] 36.82629
closestdist3_400 <- mc_closestdist3_400$suggested_gcms
tictoc::toc()
## Closestdist3 400: 2.119 sec elapsed
tictoc::tic("Closestdist3 450")
mc_closestdist3_450 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer450,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_450
## $suggested_gcms
## [1] "FIO-ESM-2-0" "INM-CM4-8" "MPI-ESM1-2-LR"
##
## $best_mean_diff
## [1] 0.004906687
##
## $global_mean
## [1] 37.90422
closestdist3_450 <- mc_closestdist3_450$suggested_gcms
tictoc::toc()
## Closestdist3 450: 2.167 sec elapsed
tictoc::tic("Closestdist3 500")
mc_closestdist3_500 <- closestdist_gcms(s10,
var_names = c("bio1", "bio12"),
study_area = buffer500,
method = "euclidean",
k = 3)
## CRS from s and study_area are not identical. Reprojecting study area.
mc_closestdist3_500
## $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_500 <- mc_closestdist3_500$suggested_gcms
tictoc::toc()
## Closestdist3 500: 2.242 sec elapsed
Results
The change in size highlights that every algorithm is very susceptible to area selection. K-means and Hierarchical Clustering were, respectivelly, the most stable algorithms. In terms of Species Distribution Modeling, we can say that the GCM selection is affected by the accessible area for the species (the M component of the BAM diagram).
rbind(sort(hclust_50 ),
sort(hclust_100),
sort(hclust_150),
sort(hclust_200),
sort(hclust_250),
sort(hclust_300),
sort(hclust_350),
sort(hclust_400),
sort(hclust_450),
sort(hclust_500))
## [,1] [,2] [,3]
## [1,] "CMCC-ESM2" "IPSL-CM6A-LR" "MPI-ESM1-2-LR"
## [2,] "CanESM5-CanOE" "CNRM-CM6-1-HR" "MRI-ESM2-0"
## [3,] "CanESM5-CanOE" "MIROC6" "MPI-ESM1-2-HR"
## [4,] "CNRM-CM6-1" "IPSL-CM6A-LR" "MPI-ESM1-2-HR"
## [5,] "CanESM5-CanOE" "CNRM-CM6-1" "MPI-ESM1-2-HR"
## [6,] "CanESM5-CanOE" "MRI-ESM2-0" "UKESM1-0-LL"
## [7,] "ACCESS-ESM1-5" "CNRM-CM6-1-HR" "MPI-ESM1-2-HR"
## [8,] "IPSL-CM6A-LR" "MPI-ESM1-2-HR" "MRI-ESM2-0"
## [9,] "CNRM-ESM2-1" "FIO-ESM-2-0" "MPI-ESM1-2-HR"
## [10,] "ACCESS-ESM1-5" "EC-Earth3-Veg-LR" "MPI-ESM1-2-HR"
rbind(sort(kmeans_50 ),
sort(kmeans_100),
sort(kmeans_150),
sort(kmeans_200),
sort(kmeans_250),
sort(kmeans_300),
sort(kmeans_350),
sort(kmeans_400),
sort(kmeans_450),
sort(kmeans_500))
## 2 1 3
## [1,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
## [2,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
## [3,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
## [4,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
## [5,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
## [6,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
## [7,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
## [8,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
## [9,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
## [10,] "CanESM5-CanOE" "CNRM-ESM2-1" "MRI-ESM2-0"
list(sort(closestdist_50 ),
sort(closestdist_100),
sort(closestdist_150),
sort(closestdist_200),
sort(closestdist_250),
sort(closestdist_300),
sort(closestdist_350),
sort(closestdist_400),
sort(closestdist_450),
sort(closestdist_500))
## [[1]]
## [1] "CMCC-ESM2" "EC-Earth3-Veg" "IPSL-CM6A-LR" "UKESM1-0-LL"
##
## [[2]]
## [1] "MIROC-ES2L" "MIROC6" "MPI-ESM1-2-HR" "MRI-ESM2-0"
##
## [[3]]
## [1] "CanESM5-CanOE" "CNRM-CM6-1" "CNRM-CM6-1-HR" "GISS-E2-1-G"
## [5] "INM-CM4-8" "IPSL-CM6A-LR" "MIROC-ES2L" "MPI-ESM1-2-LR"
##
## [[4]]
## [1] "ACCESS-CM2" "CMCC-ESM2" "FIO-ESM-2-0" "GISS-E2-1-G"
## [5] "INM-CM5-0" "MPI-ESM1-2-HR"
##
## [[5]]
## [1] "ACCESS-CM2" "EC-Earth3-Veg-LR" "IPSL-CM6A-LR" "MIROC6"
## [5] "MRI-ESM2-0"
##
## [[6]]
## [1] "EC-Earth3-Veg-LR" "GISS-E2-1-G" "MPI-ESM1-2-LR"
##
## [[7]]
## [1] "ACCESS-CM2" "GISS-E2-1-G" "INM-CM5-0" "IPSL-CM6A-LR" "MIROC-ES2L"
##
## [[8]]
## [1] "CMCC-ESM2" "CNRM-CM6-1" "EC-Earth3-Veg-LR" "FIO-ESM-2-0"
## [5] "GISS-E2-1-G" "INM-CM5-0" "IPSL-CM6A-LR"
##
## [[9]]
## [1] "ACCESS-CM2" "FIO-ESM-2-0" "GISS-E2-1-G" "HadGEM3-GC31-LL"
## [5] "MPI-ESM1-2-HR"
##
## [[10]]
## [1] "CNRM-CM6-1" "INM-CM5-0" "MIROC-ES2L" "MIROC6"
## [5] "MPI-ESM1-2-HR" "MPI-ESM1-2-LR"
rbind(sort(closestdist3_50 ),
sort(closestdist3_100),
sort(closestdist3_150),
sort(closestdist3_200),
sort(closestdist3_250),
sort(closestdist3_300),
sort(closestdist3_350),
sort(closestdist3_400),
sort(closestdist3_450),
sort(closestdist3_500))
## [,1] [,2] [,3]
## [1,] "ACCESS-CM2" "EC-Earth3-Veg" "GISS-E2-1-H"
## [2,] "EC-Earth3-Veg-LR" "HadGEM3-GC31-LL" "IPSL-CM6A-LR"
## [3,] "ACCESS-CM2" "EC-Earth3-Veg-LR" "UKESM1-0-LL"
## [4,] "CNRM-CM6-1-HR" "FIO-ESM-2-0" "INM-CM4-8"
## [5,] "HadGEM3-GC31-LL" "INM-CM4-8" "IPSL-CM6A-LR"
## [6,] "EC-Earth3-Veg-LR" "GISS-E2-1-G" "MPI-ESM1-2-LR"
## [7,] "EC-Earth3-Veg-LR" "FIO-ESM-2-0" "HadGEM3-GC31-LL"
## [8,] "CMCC-ESM2" "GISS-E2-1-H" "MPI-ESM1-2-LR"
## [9,] "FIO-ESM-2-0" "INM-CM4-8" "MPI-ESM1-2-LR"
## [10,] "ACCESS-ESM1-5" "CNRM-CM6-1" "FIO-ESM-2-0"