Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
download_data <- FALSE
create_custom_data <- FALSE
## ----initialis_pastclim, echo=FALSE, results="hide", eval=!download_data------
library(pastclim)
set_data_path(on_CRAN = TRUE)
## -----------------------------------------------------------------------------
library(pastclim)
tavg_vars <- c(paste0("temperature_0", 1:9), paste0("temperature_", 10:12))
time_steps <- get_time_bp_steps(dataset = "Example")
n_europe_ext <- c(-10, 15, 45, 60)
## ----eval=download_data-------------------------------------------------------
# download_dataset(dataset = "Beyer2020", bio_variables = tavg_vars)
# tavg_series <- region_series(
# bio_variables = tavg_vars,
# time_bp = time_steps,
# dataset = "Beyer2020",
# ext = n_europe_ext
# )
## ----echo=FALSE, results="hide", eval=create_custom_data----------------------
# terra::saveRDS(tavg_series,
# file = "../inst/extdata/delta/tavg_series.RDS"
# )
## ----echo=FALSE, results="hide", eval=!download_data--------------------------
library(pastclim)
set_data_path(on_CRAN = TRUE)
tavg_series <- terra::readRDS(system.file("extdata/delta/tavg_series.RDS",
package = "pastclim"
))
# get back the time units that are lost when saving the rds
old_names <- names(tavg_series) # there is a bug in terra
terra::time(tavg_series, tstep = "years") <- terra::time(tavg_series)
names(tavg_series) <- old_names
rm(old_names)
## -----------------------------------------------------------------------------
tavg_model_lres_rast <- tavg_series$temperature_01
tavg_model_lres_rast
## ----fig.width=6, fig.height=5------------------------------------------------
plot(tavg_model_lres_rast, main = time_bp(tavg_model_lres_rast))
## ----eval=download_data-------------------------------------------------------
# download_dataset(dataset = "WorldClim_2.1_10m", bio_variables = tavg_vars)
# tavg_obs_hres_all <- region_series(
# bio_variables = tavg_vars,
# time_ce = 1985,
# dataset = "WorldClim_2.1_10m",
# ext = n_europe_ext
# )
## ----echo=FALSE, results="hide", eval=create_custom_data----------------------
# terra::saveRDS(tavg_obs_hres_all,
# file = "../inst/extdata/delta/tavg_obs_hres_all.RDS"
# )
## ----echo=FALSE, results="hide", eval=!download_data--------------------------
tavg_obs_hres_all <- terra::readRDS(
system.file("extdata/delta/tavg_obs_hres_all.RDS",
package = "pastclim"
)
)
## -----------------------------------------------------------------------------
tavg_obs_range <- range(
unlist(
lapply(tavg_obs_hres_all, minmax, compute = TRUE)
)
)
tavg_obs_range
## ----fig.width=4, fig.height=4------------------------------------------------
tavg_obs_hres_all <- terra::crop(tavg_obs_hres_all, n_europe_ext)
# extract the January raster
tavg_obs_hres_rast <- tavg_obs_hres_all[[1]]
plot(tavg_obs_hres_rast)
## -----------------------------------------------------------------------------
ext(tavg_obs_hres_rast) == ext(tavg_model_lres_rast)
## ----eval=download_data-------------------------------------------------------
# download_etopo()
# relief_rast <- load_etopo()
# relief_rast <- terra::resample(relief_rast, tavg_obs_hres_rast)
## ----echo=FALSE, results="hide", eval=create_custom_data----------------------
# terra::saveRDS(relief_rast,
# file = "../inst/extdata/delta/relief_rast.RDS"
# )
## ----echo=FALSE, results="hide", eval=!download_data--------------------------
relief_rast <- terra::readRDS(system.file("extdata/delta/relief_rast.RDS",
package = "pastclim"
))
## ----fig.width=6, fig.height=5------------------------------------------------
land_mask_high_res <- make_land_mask(
relief_rast = relief_rast,
time_bp = time_bp(tavg_model_lres_rast)
)
plot(land_mask_high_res, main = time_bp(land_mask_high_res))
## ----eval=download_data-------------------------------------------------------
# ice_mask_low_res <- get_ice_mask(time_bp = time_steps, dataset = "Beyer2020")
# ice_mask_high_res <- downscale_ice_mask(
# ice_mask_low_res = ice_mask_low_res,
# land_mask_high_res = land_mask_high_res
# )
# plot(ice_mask_high_res)
## ----echo=FALSE, results="hide", eval=create_custom_data----------------------
# terra::saveRDS(ice_mask_low_res,
# file = "../inst/extdata/delta/ice_mask_low_res.RDS"
# )
## ----echo=FALSE, eval=!download_data------------------------------------------
ice_mask_low_res <- terra::readRDS(
system.file("extdata/delta/ice_mask_low_res.RDS",
package = "pastclim"
)
)
ice_mask_high_res <- downscale_ice_mask(
ice_mask_low_res = ice_mask_low_res,
land_mask_high_res = land_mask_high_res
)
plot(ice_mask_high_res)
## -----------------------------------------------------------------------------
land_mask_high_res <- mask(land_mask_high_res,
ice_mask_high_res,
inverse = TRUE
)
plot(land_mask_high_res)
## ----eval=FALSE---------------------------------------------------------------
# internal_seas <- readRDS(system.file("extdata/internal_seas.RDS",
# package = "pastclim"
# ))
# land_mask_high <- mask(land_mask_high_res,
# internal_seas,
# inverse = TRUE
# )
## -----------------------------------------------------------------------------
delta_rast <- delta_compute(
x = tavg_model_lres_rast, ref_time = 0,
obs = tavg_obs_hres_rast
)
model_downscaled <- delta_downscale(
x = tavg_model_lres_rast,
delta_rast = delta_rast,
x_landmask_high = land_mask_high_res,
range_limits = tavg_obs_range
)
model_downscaled
## ----fig.width=6, fig.height=5------------------------------------------------
panel(model_downscaled, main = time_bp(model_downscaled))
## ----fig.width=6, fig.height=5------------------------------------------------
panel(tavg_model_lres_rast, main = time_bp(tavg_model_lres_rast))
## -----------------------------------------------------------------------------
tavg_downscaled_list <- list()
for (i in 1:12) {
delta_rast <- delta_compute(
x = tavg_series[[i]], ref_time = 0,
obs = tavg_obs_hres_all[[i]]
)
tavg_downscaled_list[[i]] <- delta_downscale(
x = tavg_series[[i]],
delta_rast = delta_rast,
x_landmask_high = land_mask_high_res,
range_limits = tavg_obs_range
)
}
tavg_downscaled <- terra::sds(tavg_downscaled_list)
## -----------------------------------------------------------------------------
tavg_downscaled
## ----eval=download_data-------------------------------------------------------
# prec_vars <- c(paste0("precipitation_0", 1:9), paste0("precipitation_", 10:12))
# prec_series <- region_series(
# bio_variables = prec_vars,
# time_bp = time_steps,
# dataset = "Beyer2020",
# ext = n_europe_ext
# )
## ----echo=FALSE, results="hide", eval=create_custom_data----------------------
# terra::saveRDS(prec_series,
# file = "../inst/extdata/delta/prec_series.RDS"
# )
## ----echo=FALSE, results="hide", eval=!download_data--------------------------
prec_vars <- c(paste0("precipitation_0", 1:9), paste0("precipitation_", 10:12))
prec_series <- terra::readRDS(system.file("extdata/delta/prec_series.RDS",
package = "pastclim"
))
# get back the time units that are lost when saving the rds
old_names <- names(prec_series) # there is a bug in terra
terra::time(prec_series, tstep = "years") <- terra::time(prec_series)
names(prec_series) <- old_names
rm(old_names)
## ----eval=download_data-------------------------------------------------------
# download_dataset(dataset = "WorldClim_2.1_10m", bio_variables = prec_vars)
# prec_obs_hres_all <- region_series(
# bio_variables = prec_vars,
# time_ce = 1985,
# dataset = "WorldClim_2.1_10m",
# ext = n_europe_ext
# )
## ----echo=FALSE, results="hide", eval=create_custom_data----------------------
# terra::saveRDS(prec_obs_hres_all,
# file = "../inst/extdata/delta/prec_obs_hres_all.RDS"
# )
## ----echo=FALSE, results="hide", eval=!download_data--------------------------
prec_obs_hres_all <- terra::readRDS(
system.file("extdata/delta/prec_obs_hres_all.RDS",
package = "pastclim"
)
)
## -----------------------------------------------------------------------------
prec_obs_range <- range(
unlist(
lapply(prec_obs_hres_all, minmax,
compute = TRUE
)
)
)
prec_obs_range
## -----------------------------------------------------------------------------
prec_downscaled_list <- list()
for (i in 1:12) {
delta_rast <- delta_compute(
x = prec_series[[i]], ref_time = 0,
obs = prec_obs_hres_all[[i]]
)
prec_downscaled_list[[i]] <- delta_downscale(
x = prec_series[[i]],
delta_rast = delta_rast,
x_landmask_high = land_mask_high_res,
range_limits = prec_obs_range
)
}
prec_downscaled <- terra::sds(prec_downscaled_list)
## -----------------------------------------------------------------------------
bioclim_downscaled <- bioclim_vars(
tavg = tavg_downscaled,
prec = prec_downscaled
)
## -----------------------------------------------------------------------------
bioclim_downscaled
## -----------------------------------------------------------------------------
panel(bioclim_downscaled[[1]], main = time_bp(bioclim_downscaled[[1]]))
## -----------------------------------------------------------------------------
terra::writeCDF(bioclim_downscaled,
paste0(tempdir(), "/EA_bioclim_downscaled.nc"),
overwrite = TRUE
)
## -----------------------------------------------------------------------------
custom_data <- region_series(
bio_variables = c("bio01", "bio04", "bio19"),
dataset = "custom",
path_to_nc = paste0(tempdir(), "/EA_bioclim_downscaled.nc")
)
## -----------------------------------------------------------------------------
custom_data
## -----------------------------------------------------------------------------
panel(custom_data$bio01, main = time_bp(custom_data$bio01))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.