
present and future
Source:vignettes/a3_pastclim_present_and_future.Rmd
a3_pastclim_present_and_future.Rmd
Whilst pastclim
is mostly designed to handle
palaeoclimate time series, it can also be used to manipulate present
reconstructions and future projections. Currently, it uses the WorldClim
datasets, but it could easily be adapted to use other sources such as
CHELSA.
Present reconstructions
Present-day reconstructions for WorldClim v2.1 are based on the mean
for the period 1970-2000, and are available at multiple resolutions of
10 arc-minutes, 5 arc-minutes, 2.5 arc-minute and 0.5 arc-minutes. The
resolution of interest can be obtained by changing the ending of the
dataset name WorldClim_2.1_RESm,
e.g. WorldClim_2.1_10m or WorldClim_2.1_5m (currently,
only 10m and 5m are currently available in pastclim
). In
pastclim
, the datasets are given a date of 1985 CE (the
mid-point of the period of interest), corresponding to a time_bp of 35.
There are 19 “bioclimatic” variables, as well as monthly estimates for
minimum, mean, and maximum temperature, and precipitation.
So, the annual variables for the 10m arc-minutes dataset are:
library(pastclim)
#> Loading required package: terra
#> terra 1.7.60
get_vars_for_dataset("WorldClim_2.1_10m")
#> [1] "bio01" "bio02" "bio03" "bio04" "bio05" "bio06"
#> [7] "bio07" "bio08" "bio09" "bio10" "bio11" "bio12"
#> [13] "bio13" "bio14" "bio15" "bio16" "bio17" "bio18"
#> [19] "bio19" "altitude"
And the monthly variables
get_vars_for_dataset("WorldClim_2.1_10m", monthly = TRUE, annual = FALSE)
#> [1] "temperature_01" "temperature_02" "temperature_03"
#> [4] "temperature_04" "temperature_05" "temperature_06"
#> [7] "temperature_07" "temperature_08" "temperature_09"
#> [10] "temperature_10" "temperature_11" "temperature_12"
#> [13] "precipitation_01" "precipitation_02" "precipitation_03"
#> [16] "precipitation_04" "precipitation_05" "precipitation_06"
#> [19] "precipitation_07" "precipitation_08" "precipitation_09"
#> [22] "precipitation_10" "precipitation_11" "precipitation_12"
#> [25] "temperature_min_01" "temperature_min_02" "temperature_min_03"
#> [28] "temperature_min_04" "temperature_min_05" "temperature_min_06"
#> [31] "temperature_min_07" "temperature_min_08" "temperature_min_09"
#> [34] "temperature_min_10" "temperature_min_11" "temperature_min_12"
#> [37] "temperature_max_01" "temperature_max_02" "temperature_max_03"
#> [40] "temperature_max_04" "temperature_max_05" "temperature_max_06"
#> [43] "temperature_max_07" "temperature_max_08" "temperature_max_09"
#> [46] "temperature_max_10" "temperature_max_11" "temperature_max_12"
We can manipulate data in the usual way. We start by downloading the dataset:
download_dataset(
dataset = "WorldClim_2.1_10m",
bio_variables = c("bio01", "bio02", "altitude")
)
We can then use region_slice
to extract the data as a
SpatRaster
:
climate_present <- region_slice(
time_ce = 1985,
bio_variables = c("bio01", "bio02", "altitude"),
dataset = "WorldClim_2.1_10m"
)
Future projections
Future projections are based on the models in CMIP6, downscaled and de-biased using WorldClim 2.1 for the present as a baseline. Monthly values of minimum temperature, maximum temperature, and precipitation, as well as 19 bioclimatic variables were processed for 23 global climate models (GCMs), and for four Shared Socio-economic Pathways (SSPs): 126, 245, 370 and 585. Model and SSP can be chosen by changing the ending of the dataset name WorldClim_2.1_GCM_SSP_RESm.
A complete list of available combinations can be obtained with:
list_available_datasets()
#> [1] "Example"
#> [2] "Beyer2020"
#> [3] "Krapp2021"
#> [4] "Barreto2023"
#> [5] "WorldClim_2.1_10m"
#> [6] "WorldClim_2.1_5m"
#> [7] "WorldClim_2.1_ACCESS-CM2_ssp126_10m"
#> [8] "WorldClim_2.1_ACCESS-CM2_ssp126_5m"
#> [9] "WorldClim_2.1_ACCESS-CM2_ssp245_10m"
#> [10] "WorldClim_2.1_ACCESS-CM2_ssp245_5m"
#> [11] "WorldClim_2.1_ACCESS-CM2_ssp370_10m"
#> [12] "WorldClim_2.1_ACCESS-CM2_ssp370_5m"
#> [13] "WorldClim_2.1_ACCESS-CM2_ssp585_10m"
#> [14] "WorldClim_2.1_ACCESS-CM2_ssp585_5m"
#> [15] "WorldClim_2.1_BCC-CSM2-MR_ssp126_10m"
#> [16] "WorldClim_2.1_BCC-CSM2-MR_ssp126_5m"
#> [17] "WorldClim_2.1_BCC-CSM2-MR_ssp245_10m"
#> [18] "WorldClim_2.1_BCC-CSM2-MR_ssp245_5m"
#> [19] "WorldClim_2.1_BCC-CSM2-MR_ssp370_10m"
#> [20] "WorldClim_2.1_BCC-CSM2-MR_ssp370_5m"
#> [21] "WorldClim_2.1_BCC-CSM2-MR_ssp585_10m"
#> [22] "WorldClim_2.1_BCC-CSM2-MR_ssp585_5m"
#> [23] "WorldClim_2.1_CMCC-ESM2_ssp126_10m"
#> [24] "WorldClim_2.1_CMCC-ESM2_ssp126_5m"
#> [25] "WorldClim_2.1_CMCC-ESM2_ssp245_10m"
#> [26] "WorldClim_2.1_CMCC-ESM2_ssp245_5m"
#> [27] "WorldClim_2.1_CMCC-ESM2_ssp370_10m"
#> [28] "WorldClim_2.1_CMCC-ESM2_ssp370_5m"
#> [29] "WorldClim_2.1_CMCC-ESM2_ssp585_10m"
#> [30] "WorldClim_2.1_CMCC-ESM2_ssp585_5m"
#> [31] "WorldClim_2.1_EC-Earth3-Veg_ssp126_10m"
#> [32] "WorldClim_2.1_EC-Earth3-Veg_ssp126_5m"
#> [33] "WorldClim_2.1_EC-Earth3-Veg_ssp245_10m"
#> [34] "WorldClim_2.1_EC-Earth3-Veg_ssp245_5m"
#> [35] "WorldClim_2.1_EC-Earth3-Veg_ssp370_10m"
#> [36] "WorldClim_2.1_EC-Earth3-Veg_ssp370_5m"
#> [37] "WorldClim_2.1_EC-Earth3-Veg_ssp585_10m"
#> [38] "WorldClim_2.1_EC-Earth3-Veg_ssp585_5m"
#> [39] "WorldClim_2.1_FIO-ESM-2-0_ssp126_10m"
#> [40] "WorldClim_2.1_FIO-ESM-2-0_ssp126_5m"
#> [41] "WorldClim_2.1_FIO-ESM-2-0_ssp245_10m"
#> [42] "WorldClim_2.1_FIO-ESM-2-0_ssp245_5m"
#> [43] "WorldClim_2.1_FIO-ESM-2-0_ssp370_10m"
#> [44] "WorldClim_2.1_FIO-ESM-2-0_ssp370_5m"
#> [45] "WorldClim_2.1_FIO-ESM-2-0_ssp585_10m"
#> [46] "WorldClim_2.1_FIO-ESM-2-0_ssp585_5m"
#> [47] "WorldClim_2.1_GFDL-ESM4_ssp126_10m"
#> [48] "WorldClim_2.1_GFDL-ESM4_ssp126_5m"
#> [49] "WorldClim_2.1_GFDL-ESM4_ssp245_10m"
#> [50] "WorldClim_2.1_GFDL-ESM4_ssp245_5m"
#> [51] "WorldClim_2.1_GFDL-ESM4_ssp370_10m"
#> [52] "WorldClim_2.1_GFDL-ESM4_ssp370_5m"
#> [53] "WorldClim_2.1_GFDL-ESM4_ssp585_10m"
#> [54] "WorldClim_2.1_GFDL-ESM4_ssp585_5m"
#> [55] "WorldClim_2.1_GISS-E2-1-G_ssp126_10m"
#> [56] "WorldClim_2.1_GISS-E2-1-G_ssp126_5m"
#> [57] "WorldClim_2.1_GISS-E2-1-G_ssp245_10m"
#> [58] "WorldClim_2.1_GISS-E2-1-G_ssp245_5m"
#> [59] "WorldClim_2.1_GISS-E2-1-G_ssp370_10m"
#> [60] "WorldClim_2.1_GISS-E2-1-G_ssp370_5m"
#> [61] "WorldClim_2.1_GISS-E2-1-G_ssp585_10m"
#> [62] "WorldClim_2.1_GISS-E2-1-G_ssp585_5m"
#> [63] "WorldClim_2.1_HadGEM3-GC31-LL_ssp126_10m"
#> [64] "WorldClim_2.1_HadGEM3-GC31-LL_ssp126_5m"
#> [65] "WorldClim_2.1_HadGEM3-GC31-LL_ssp245_10m"
#> [66] "WorldClim_2.1_HadGEM3-GC31-LL_ssp245_5m"
#> [67] "WorldClim_2.1_HadGEM3-GC31-LL_ssp370_10m"
#> [68] "WorldClim_2.1_HadGEM3-GC31-LL_ssp370_5m"
#> [69] "WorldClim_2.1_HadGEM3-GC31-LL_ssp585_10m"
#> [70] "WorldClim_2.1_HadGEM3-GC31-LL_ssp585_5m"
#> [71] "WorldClim_2.1_INM-CM5-0_ssp126_10m"
#> [72] "WorldClim_2.1_INM-CM5-0_ssp126_5m"
#> [73] "WorldClim_2.1_INM-CM5-0_ssp245_10m"
#> [74] "WorldClim_2.1_INM-CM5-0_ssp245_5m"
#> [75] "WorldClim_2.1_INM-CM5-0_ssp370_10m"
#> [76] "WorldClim_2.1_INM-CM5-0_ssp370_5m"
#> [77] "WorldClim_2.1_INM-CM5-0_ssp585_10m"
#> [78] "WorldClim_2.1_INM-CM5-0_ssp585_5m"
#> [79] "WorldClim_2.1_IPSL-CM6A-LR_ssp126_10m"
#> [80] "WorldClim_2.1_IPSL-CM6A-LR_ssp126_5m"
#> [81] "WorldClim_2.1_IPSL-CM6A-LR_ssp245_10m"
#> [82] "WorldClim_2.1_IPSL-CM6A-LR_ssp245_5m"
#> [83] "WorldClim_2.1_IPSL-CM6A-LR_ssp370_10m"
#> [84] "WorldClim_2.1_IPSL-CM6A-LR_ssp370_5m"
#> [85] "WorldClim_2.1_IPSL-CM6A-LR_ssp585_10m"
#> [86] "WorldClim_2.1_IPSL-CM6A-LR_ssp585_5m"
#> [87] "WorldClim_2.1_MIROC6_ssp126_10m"
#> [88] "WorldClim_2.1_MIROC6_ssp126_5m"
#> [89] "WorldClim_2.1_MIROC6_ssp245_10m"
#> [90] "WorldClim_2.1_MIROC6_ssp245_5m"
#> [91] "WorldClim_2.1_MIROC6_ssp370_10m"
#> [92] "WorldClim_2.1_MIROC6_ssp370_5m"
#> [93] "WorldClim_2.1_MIROC6_ssp585_10m"
#> [94] "WorldClim_2.1_MIROC6_ssp585_5m"
#> [95] "WorldClim_2.1_MPI-ESM1-2-HR_ssp126_10m"
#> [96] "WorldClim_2.1_MPI-ESM1-2-HR_ssp126_5m"
#> [97] "WorldClim_2.1_MPI-ESM1-2-HR_ssp245_10m"
#> [98] "WorldClim_2.1_MPI-ESM1-2-HR_ssp245_5m"
#> [99] "WorldClim_2.1_MPI-ESM1-2-HR_ssp370_10m"
#> [100] "WorldClim_2.1_MPI-ESM1-2-HR_ssp370_5m"
#> [101] "WorldClim_2.1_MPI-ESM1-2-HR_ssp585_10m"
#> [102] "WorldClim_2.1_MPI-ESM1-2-HR_ssp585_5m"
#> [103] "WorldClim_2.1_MRI-ESM2-0_ssp126_10m"
#> [104] "WorldClim_2.1_MRI-ESM2-0_ssp126_5m"
#> [105] "WorldClim_2.1_MRI-ESM2-0_ssp245_10m"
#> [106] "WorldClim_2.1_MRI-ESM2-0_ssp245_5m"
#> [107] "WorldClim_2.1_MRI-ESM2-0_ssp370_10m"
#> [108] "WorldClim_2.1_MRI-ESM2-0_ssp370_5m"
#> [109] "WorldClim_2.1_MRI-ESM2-0_ssp585_10m"
#> [110] "WorldClim_2.1_MRI-ESM2-0_ssp585_5m"
#> [111] "WorldClim_2.1_UKESM1-0-LL_ssp126_10m"
#> [112] "WorldClim_2.1_UKESM1-0-LL_ssp126_5m"
#> [113] "WorldClim_2.1_UKESM1-0-LL_ssp245_10m"
#> [114] "WorldClim_2.1_UKESM1-0-LL_ssp245_5m"
#> [115] "WorldClim_2.1_UKESM1-0-LL_ssp370_10m"
#> [116] "WorldClim_2.1_UKESM1-0-LL_ssp370_5m"
#> [117] "WorldClim_2.1_UKESM1-0-LL_ssp585_10m"
#> [118] "WorldClim_2.1_UKESM1-0-LL_ssp585_5m"
#> [119] "HYDE_3.3_baseline"
So, if we are interested in the the HadGEM3-GC31-LL model, with ssp set to 245 and at 10 arc-minutes, we can get the available variables:
get_vars_for_dataset(dataset = "WorldClim_2.1_HadGEM3-GC31-LL_ssp245_10m")
#> [1] "bio01" "bio02" "bio03" "bio04" "bio05" "bio06" "bio07" "bio08" "bio09"
#> [10] "bio10" "bio11" "bio12" "bio13" "bio14" "bio15" "bio16" "bio17" "bio18"
#> [19] "bio19"
We can now download “bio01” and “bio02” for that dataset with:
download_dataset(
dataset = "WorldClim_2.1_HadGEM3-GC31-LL_ssp245_10m",
bio_variables = c("bio01", "bio02")
)
The dataset are averages over 20 year periods (2021-2040, 2041-2060,
2061-2080, 2081-2100). In pastclim
, the midpoints of the
periods (2030, 2050, 2070, 2090) are used as the time stamps. All 4
periods are automatically downloaded for each combination of GCM model
and SSP, and can be selected as usual by defining the time in
region_slice
.
future_slice <- region_slice(
time_ce = 2030,
dataset = "WorldClim_2.1_HadGEM3-GC31-LL_ssp245_10m",
bio_variables = c("bio01", "bio02")
)
Alternatively, it is possible to get the full time series of 4 slices with:
future_series <- region_series(
dataset = "WorldClim_2.1_HadGEM3-GC31-LL_ssp245_10m",
bio_variables = c("bio01", "bio02")
)
It is possible to simply use
time_ce(dataset = "WorldClim_2.1_HadGEM3-GC31-LL_ssp245_10m")
to get the available time points for that dataset.
Help for the WorldClim datasets (modern and future) can be accessed
with help("WorldClim_2.1")