sdm_sim {bamm}R Documentation

sdm_sim: Simulate single species dispersal dynamics using the BAM framework.

Description

sdm_sim: Simulate single species dispersal dynamics using the BAM framework.

Usage

sdm_sim(
  set_A,
  set_M,
  initial_points,
  nsteps,
  stochastic_dispersal = TRUE,
  disp_prop2_suitability = TRUE,
  disper_prop = 0.5,
  progress_bar = TRUE
)

Arguments

set_A

A setA object returned by the function model2sparse

set_M

A setM object containing the adjacency matrix of the study area. See adj_mat

initial_points

A sparse vector returned by the function occs2sparse

nsteps

Number of steps to run the simulation

stochastic_dispersal

Logical. If dispersal depends on a probability of visiting neighbor cells (Moore neighborhood).

disp_prop2_suitability

Logical. If probability of dispersal is proportional to the suitability of reachable cells. The proportional value must be declared in the parameter 'disper_prop'.

disper_prop

Probability of dispersal to reachable cells.

progress_bar

Show progress bar

Details

The model is cellular automata where the occupied area of a species at time t+1 is estimated by the multiplication of two binary matrices: one matrix represents movements (M), another abiotic -niche- tolerances (A) (Soberon and Osorio-Olvera, 2022).

\mathbf{G}_j(t+1) =\mathbf{A}_j(t)\mathbf{M}_j \mathbf{G}_j(t)

The equation describes a very simple process: To find the occupied patches in t+1 start with those occupied at time t denoted by \mathbf{G}_j(t), allow the individuals to disperse among adjacent patches, as defined by \mathbf{M}_j, then remove individuals from patches that are unsuitable, as defined by \mathbf{A}_j(t).

Value

An object of class bam with simulation results. The simulation are stored in the sdm_sim slot (a list of sparse matrices).

Author(s)

Luis Osorio-Olvera & Jorge SoberĂ³n

References

SoberĂ³n J, Osorio-Olvera L (2022). “A Dynamic Theory of the Area of Distribution.” doi:10.48550/ARXIV.2212.06308, https://arxiv.org/abs/2212.06308..

Examples


model_path <- system.file("extdata/Lepus_californicus_cont.tif",
                          package = "bamm")
model <- raster::raster(model_path)

sparse_mod <- bamm::model2sparse(model,threshold=0.05)
adj_mod <- bamm::adj_mat(sparse_mod,ngbs=1)
occs_lep_cal <- data.frame(longitude = c(-110.08880,
                                         -98.89638),
                           latitude = c(30.43455,
                                        25.19919))

occs_sparse <- bamm::occs2sparse(modelsparse = sparse_mod,
                                occs = occs_lep_cal)
sdm_lep_cal <- bamm::sdm_sim(set_A = sparse_mod,
                             set_M = adj_mod,
                             initial_points = occs_sparse,
                             nsteps = 10,
                             stochastic_dispersal = TRUE,
                             disp_prop2_suitability=TRUE,
                             disper_prop=0.5,
                             progress_bar=TRUE)

sim_res <- bamm::sim2Raster(sdm_lep_cal)
raster::plot(sim_res)



[Package bamm version 0.4.3 Index]