diff --git a/R/disp.R b/R/disp.R index edc6642..a58532f 100644 --- a/R/disp.R +++ b/R/disp.R @@ -73,7 +73,7 @@ #' # disp #' disp_output <- disp( #' N_t = sim_data$n1_map, -#' id = sim_data$id, +#' id = unwrap(sim_data$id), #' id_matrix = as.matrix(sim_data$id, wide = TRUE), #' data_table = sim_data$data_table, #' kernel = sim_data$kernel, diff --git a/R/initialise.R b/R/initialise.R index 520f9f4..bf6489f 100644 --- a/R/initialise.R +++ b/R/initialise.R @@ -359,12 +359,12 @@ initialise <- function( # output list --------------------------------------------- out <- list( n1_map = as.matrix(n1_map, wide = TRUE), - id = id, + id = wrap(id), dist_bin = dist_bin, dist_resolution = dist_resolution, r = r, r_sd = r_sd, - K_map = K_map, + K_map = wrap(K_map), K_sd = K_sd, growth = growth, A = A, diff --git a/R/print.sim_data.R b/R/print.sim_data.R index f5db067..a88b95c 100644 --- a/R/print.sim_data.R +++ b/R/print.sim_data.R @@ -32,7 +32,7 @@ print.sim_data <- function(x, ...) { # prepare output n1_sm <- summary(as.numeric(x$n1_map)) - K_sm <- x$K_map + K_sm <- unwrap(x$K_map) names <- names(x) names <- names[(names %in% c( diff --git a/R/sim.R b/R/sim.R index 6f9d1e4..0b4c662 100644 --- a/R/sim.R +++ b/R/sim.R @@ -188,14 +188,14 @@ sim <- function( on.exit(pboptions(pbo)) # Extract data from the sim_data object - K_map <- obj$K_map # carrying capacity + K_map <- unwrap(obj$K_map) # carrying capacity K_sd <- obj$K_sd # sd of carrying capacity (additional cell specific variation) #nolint dynamics <- obj$dynamics # population growth function n1_map <- obj$n1_map # population numbers at the first time step r <- obj$r # intrinsic population growth rate r_sd <- obj$r_sd # sd of intrinsic growth rate (time specific variation) A <- obj$A # Allee effect coefficient - id <- obj$id # grid cells identifiers as raster + id <- unwrap(obj$id) # grid cells identifiers as raster id_matrix <- as.matrix(id, wide = TRUE) # grid cells identifiers as matrix ncells <- obj$ncells # number of cells in the study area data_table <- obj$data_table diff --git a/R/summary.sim_data.R b/R/summary.sim_data.R index ebd1090..3fbab8b 100644 --- a/R/summary.sim_data.R +++ b/R/summary.sim_data.R @@ -33,7 +33,7 @@ summary.sim_data <- function(object, ...) { # prepare summaries n1_sm <- summary(as.numeric(object$n1_map)) - K_sm <- summary(as.numeric(as.matrix(object$K_map))) + K_sm <- summary(as.numeric(as.matrix(unwrap(object$K_map)))) names <- c( "growth", "r", "A", "kernel_fun", "dens_dep", "border", diff --git a/R/update.sim_data.R b/R/update.sim_data.R index 9e77ad8..e943c37 100644 --- a/R/update.sim_data.R +++ b/R/update.sim_data.R @@ -98,6 +98,11 @@ update.sim_data <- function(object, ..., evaluate = TRUE) { } } + # unwrap K_map if not updated + if(!"K_map" %in% names(extras)) { + call$K_map <- unwrap(object$K_map) + } + # transform call to call object call <- as.call(call) diff --git a/man/disp.Rd b/man/disp.Rd index 5ae1fcc..cc8e5d8 100644 --- a/man/disp.Rd +++ b/man/disp.Rd @@ -129,7 +129,7 @@ sim_data <- initialise( # disp disp_output <- disp( N_t = sim_data$n1_map, - id = sim_data$id, + id = unwrap(sim_data$id), id_matrix = as.matrix(sim_data$id, wide = TRUE), data_table = sim_data$data_table, kernel = sim_data$kernel, diff --git a/tests/testthat/test-initialise.R b/tests/testthat/test-initialise.R index bb5ef67..80b013a 100644 --- a/tests/testthat/test-initialise.R +++ b/tests/testthat/test-initialise.R @@ -558,6 +558,6 @@ test_that("K_add_stochasticity works", { ) - expect_s4_class(test_sim_data_1$K_map, "SpatRaster") - expect_s4_class(test_sim_data_2$K_map, "SpatRaster") + expect_s4_class(test_sim_data_1$K_map, "PackedSpatRaster") + expect_s4_class(test_sim_data_2$K_map, "PackedSpatRaster") })