sdm_sim {bamm} | R Documentation |
sdm_sim: Simulate single species dispersal dynamics using the BAM framework.
sdm_sim(
set_A,
set_M,
initial_points,
nsteps,
stochastic_dispersal = TRUE,
disp_prop2_suitability = TRUE,
disper_prop = 0.5,
progress_bar = TRUE
)
set_A |
A setA object returned by the function
|
set_M |
A setM object containing the adjacency matrix of the
study area.
See |
initial_points |
A sparse vector returned by the function
|
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 |
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)
.
An object of class bam
with simulation results.
The simulation are stored in the sdm_sim slot (a list of sparse matrices).
Luis Osorio-Olvera & Jorge SoberĂ³n
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..
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)