UKCP18 SPEED bias-corrected scenarios: prepare dataset to create surfaces


Joining raster data and filtering coordinates inside countries. The variables used are:

  • land cover counts per class (landcover)
  • elevation (elev)
  • slope computed with 8 neighbors (slope_nb8)
  • residential population (pop)
  • distance to major cities (dist)
  • gross disposable household income per head (gdhi)
  • country (country)
  • growing degree day (gdd)
  • maximum annual temperature (max_tmax)
  • minimum annual temperature (min_tmin)
  • soil moisture deficit (smd)
  • soil moisture surplus (sms)

Load packages, read data and source custom scripts

rm(list = ls())
library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union
library(stars)
#> Loading required package: abind
#> Loading required package: sf
#> Linking to GEOS 3.8.0, GDAL 3.0.4, PROJ 6.3.1
path_proj <- day2day::git_path()
path_data <- file.path(path_proj, "data")
path_raw <- file.path(path_data, "raw")
path_cleaned <- file.path(path_data, "cleaned")
path_processed <- file.path(path_data, "processed")

source(file.path(path_proj, "src", "38-rasters-to-df.R"))

vars_no_chess <- c("landcover", "elev", "slope_nb8", "pop", "dist", "gdhi", "country")
files_no_chess <- file.path(path_processed, paste0("uk_1km_", vars_no_chess, ".tif"))
speed_regex <- "^uk_1km_ukcp18-speed_rcp\\d+_bias_corrected_.+-mean-annual_.+\\.tif"
files_speed <- list.files(path_processed, speed_regex, full = TRUE)

files <- c(files_no_chess, files_speed)
vars <- sub("20yr.+annual_(.+)-(.+.tif)", "\\1_\\2", basename(files)) %>%
    sub("_bias_corrected", "", .) %>%
    sub("(uk_1km_ukcp18-speed|uk_1km)_(.+)\\.tif", "\\2", .) %>%
    sub("^(rcp\\d+)_01", "\\1", .)
land_labels <- readRDS(file.path(path_cleaned, "landcover_reclass_labels.rds"))

Join datasets

  • Join land classes counts and covariates.
  • Create id to transform back to raster.
  • Remove coordinates outside countries.
land_df <- rasters_to_df(files, vars, land_labels = land_labels)
count_total <- dplyr::select_at(land_df, vars(matches("^count_\\d"))) %>% rowSums()
table(count_total)
#> count_total
#>   1600 
#> 244105
dim(land_df)
#> [1] 244105    233
str(land_df, list.len = ncol(land_df))
#> 'data.frame':    244105 obs. of  233 variables:
#>  $ x                                   : num  460500 461500 463500 460500 461500 ...
#>  $ y                                   : num  1217500 1217500 1217500 1216500 1216500 ...
#>  $ count_0_outside                     : num  57 572 620 39 637 0 14 50 379 0 ...
#>  $ count_1_arable                      : num  0 0 0 0 0 0 0 0 0 0 ...
#>  $ count_2_wetland                     : num  1433 906 0 1481 856 ...
#>  $ count_3_improved_grassland          : num  0 0 252 0 0 34 0 564 0 0 ...
#>  $ count_4_forest                      : num  0 0 0 0 0 0 0 0 0 0 ...
#>  $ count_5_semi_natural_grassland      : num  0 0 407 0 0 988 81 223 0 0 ...
#>  $ count_6_urban                       : num  0 0 0 0 0 0 0 21 0 0 ...
#>  $ count_7_other                       : num  110 122 321 80 107 97 110 100 206 0 ...
#>  $ elev                                : num  156.2 93.8 72.4 124.3 61.1 ...
#>  $ slope_nb8                           : num  2.945 0.656 5.269 0.771 2.311 ...
#>  $ pop                                 : num  0 0 0 0 0 0 0 21 0 0 ...
#>  $ dist                                : num  77104 77279 77666 76118 76295 ...
#>  $ gdhi                                : num  20124 20124 20124 20124 20124 ...
#>  $ country                             : num  3 3 3 3 3 3 3 3 3 3 ...
#>  $ rcp26_gdd_19801201_20001130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_gdd_19901201_20101130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_gdd_20001201_20201130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_gdd_20101201_20301130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_gdd_20201201_20401130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_gdd_20301201_20501130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_gdd_20401201_20601130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_gdd_20501201_20701130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_gdd_20601201_20801130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_max_tas_19801201_20001130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_max_tas_19901201_20101130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_max_tas_20001201_20201130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_max_tas_20101201_20301130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_max_tas_20201201_20401130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_max_tas_20301201_20501130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_max_tas_20401201_20601130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_max_tas_20501201_20701130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_max_tas_20601201_20801130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_maxmonth_tas_19801201_20001130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_maxmonth_tas_19901201_20101130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_maxmonth_tas_20001201_20201130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_maxmonth_tas_20101201_20301130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_maxmonth_tas_20201201_20401130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_maxmonth_tas_20301201_20501130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_maxmonth_tas_20401201_20601130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_maxmonth_tas_20501201_20701130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_maxmonth_tas_20601201_20801130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_min_tas_19801201_20001130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_min_tas_19901201_20101130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_min_tas_20001201_20201130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_min_tas_20101201_20301130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_min_tas_20201201_20401130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_min_tas_20301201_20501130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_min_tas_20401201_20601130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_min_tas_20501201_20701130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_min_tas_20601201_20801130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_smd_198012_200011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_smd_199012_201011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_smd_200012_202011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_smd_201012_203011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_smd_202012_204011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_smd_203012_205011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_smd_204012_206011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_smd_205012_207011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_smd_206012_208011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_sms_198012_200011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_sms_199012_201011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_sms_200012_202011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_sms_201012_203011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_sms_202012_204011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_sms_203012_205011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_sms_204012_206011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_sms_205012_207011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp26_sms_206012_208011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_gdd_19801201_20001130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_gdd_19901201_20101130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_gdd_20001201_20201130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_gdd_20101201_20301130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_gdd_20201201_20401130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_gdd_20301201_20501130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_gdd_20401201_20601130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_gdd_20501201_20701130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_gdd_20601201_20801130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_max_tas_19801201_20001130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_max_tas_19901201_20101130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_max_tas_20001201_20201130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_max_tas_20101201_20301130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_max_tas_20201201_20401130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_max_tas_20301201_20501130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_max_tas_20401201_20601130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_max_tas_20501201_20701130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_max_tas_20601201_20801130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_maxmonth_tas_19801201_20001130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_maxmonth_tas_19901201_20101130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_maxmonth_tas_20001201_20201130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_maxmonth_tas_20101201_20301130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_maxmonth_tas_20201201_20401130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_maxmonth_tas_20301201_20501130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_maxmonth_tas_20401201_20601130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_maxmonth_tas_20501201_20701130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_maxmonth_tas_20601201_20801130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_min_tas_19801201_20001130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_min_tas_19901201_20101130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_min_tas_20001201_20201130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_min_tas_20101201_20301130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_min_tas_20201201_20401130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_min_tas_20301201_20501130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_min_tas_20401201_20601130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_min_tas_20501201_20701130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_min_tas_20601201_20801130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_smd_198012_200011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_smd_199012_201011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_smd_200012_202011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_smd_201012_203011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_smd_202012_204011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_smd_203012_205011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_smd_204012_206011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_smd_205012_207011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_smd_206012_208011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_sms_198012_200011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_sms_199012_201011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_sms_200012_202011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_sms_201012_203011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_sms_202012_204011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_sms_203012_205011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_sms_204012_206011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_sms_205012_207011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp45_sms_206012_208011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_gdd_19801201_20001130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_gdd_19901201_20101130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_gdd_20001201_20201130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_gdd_20101201_20301130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_gdd_20201201_20401130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_gdd_20301201_20501130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_gdd_20401201_20601130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_gdd_20501201_20701130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_gdd_20601201_20801130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_max_tas_19801201_20001130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_max_tas_19901201_20101130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_max_tas_20001201_20201130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_max_tas_20101201_20301130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_max_tas_20201201_20401130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_max_tas_20301201_20501130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_max_tas_20401201_20601130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_max_tas_20501201_20701130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_max_tas_20601201_20801130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_maxmonth_tas_19801201_20001130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_maxmonth_tas_19901201_20101130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_maxmonth_tas_20001201_20201130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_maxmonth_tas_20101201_20301130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_maxmonth_tas_20201201_20401130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_maxmonth_tas_20301201_20501130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_maxmonth_tas_20401201_20601130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_maxmonth_tas_20501201_20701130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_maxmonth_tas_20601201_20801130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_min_tas_19801201_20001130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_min_tas_19901201_20101130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_min_tas_20001201_20201130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_min_tas_20101201_20301130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_min_tas_20201201_20401130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_min_tas_20301201_20501130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_min_tas_20401201_20601130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_min_tas_20501201_20701130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_min_tas_20601201_20801130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_smd_198012_200011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_smd_199012_201011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_smd_200012_202011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_smd_201012_203011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_smd_202012_204011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_smd_203012_205011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_smd_204012_206011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_smd_205012_207011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_smd_206012_208011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_sms_198012_200011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_sms_199012_201011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_sms_200012_202011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_sms_201012_203011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_sms_202012_204011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_sms_203012_205011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_sms_204012_206011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_sms_205012_207011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp60_sms_206012_208011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_gdd_19801201_20001130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_gdd_19901201_20101130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_gdd_20001201_20201130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_gdd_20101201_20301130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_gdd_20201201_20401130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_gdd_20301201_20501130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_gdd_20401201_20601130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_gdd_20501201_20701130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_gdd_20601201_20801130         : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_max_tas_19801201_20001130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_max_tas_19901201_20101130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_max_tas_20001201_20201130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_max_tas_20101201_20301130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_max_tas_20201201_20401130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_max_tas_20301201_20501130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_max_tas_20401201_20601130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_max_tas_20501201_20701130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_max_tas_20601201_20801130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_maxmonth_tas_19801201_20001130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_maxmonth_tas_19901201_20101130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_maxmonth_tas_20001201_20201130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_maxmonth_tas_20101201_20301130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_maxmonth_tas_20201201_20401130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_maxmonth_tas_20301201_20501130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_maxmonth_tas_20401201_20601130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_maxmonth_tas_20501201_20701130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_maxmonth_tas_20601201_20801130: num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_min_tas_19801201_20001130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_min_tas_19901201_20101130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_min_tas_20001201_20201130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_min_tas_20101201_20301130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_min_tas_20201201_20401130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_min_tas_20301201_20501130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_min_tas_20401201_20601130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_min_tas_20501201_20701130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_min_tas_20601201_20801130     : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_smd_198012_200011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_smd_199012_201011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_smd_200012_202011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_smd_201012_203011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_smd_202012_204011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_smd_203012_205011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_smd_204012_206011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_smd_205012_207011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_smd_206012_208011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_sms_198012_200011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_sms_199012_201011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_sms_200012_202011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_sms_201012_203011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_sms_202012_204011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_sms_203012_205011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_sms_204012_206011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_sms_205012_207011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ rcp85_sms_206012_208011             : num  NA NA NA NA NA NA NA NA NA NA ...
#>  $ id                                  : int  8346 8347 8349 9003 9004 9006 9007 9008 9659 9660 ...

Write to a fast to read format

filename <- "uk_1km_dataframe_ukcp18-speed_bias_corrected_01.fst"
fst::write_fst(land_df, file.path(path_processed, filename))

Time to execute the task

Only useful when executed with Rscript.

proc.time()
#>    user  system elapsed 
#>  79.381   5.405  85.031