Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup--------------------------------------------------------------------
library(metaRange)
library(terra)
set_verbosity(0)
raster_file <- system.file("ex/elev.tif", package = "terra")
r <- rast(raster_file)
temperature <- scale(r, center = FALSE, scale = TRUE) * 10 + 273.15
precipitation <- r * 2
temperature <- rep(temperature, 10)
precipitation <- rep(precipitation, 10)
landscape <- sds(temperature, precipitation)
names(landscape) <- c("temperature", "precipitation")
sim <- create_simulation(landscape)
sim$add_species(name = "species_1")
## ----define_traits------------------------------------------------------------
sim$add_traits(
species = "species_1",
population_level = FALSE,
temperature_maximum = 300,
temperature_optimum = 288,
temperature_minimum = 280
)
## ----global-------------------------------------------------------------------
sim$add_globals(
"E_reproduction_rate" = -0.65,
"E_carrying_capacity" = 0.65,
"exponent_reproduction_rate" = -1 / 4,
"exponent_carrying_capacity" = -3 / 4,
"k" = 8.617333e-05
)
## ----add_rep_traits-----------------------------------------------------------
sim$add_traits(
species = "species_1",
population_level = TRUE,
"abundance" = 100,
"reproduction_rate" = 0.5,
"carrying_capacity" = 1000,
"mass" = 1
)
## ----add_more_traits----------------------------------------------------------
sim$add_traits(
species = "species_1",
population_level = FALSE,
"reproduction_rate_mte_constant" = calculate_normalization_constant(
parameter_value = sim$species_1$traits[["reproduction_rate"]][[1]],
scaling_exponent = sim$globals[["exponent_reproduction_rate"]],
mass = sim$species_1$traits[["mass"]][[1]],
reference_temperature = sim$species_1$traits[["temperature_optimum"]],
E = sim$globals[["E_reproduction_rate"]],
k = sim$globals[["k"]]
),
"carrying_capacity_mte_constant" = calculate_normalization_constant(
parameter_value = sim$species_1$traits[["carrying_capacity"]][[1]],
scaling_exponent = sim$globals[["exponent_carrying_capacity"]],
mass = sim$species_1$traits[["mass"]][[1]],
reference_temperature = sim$species_1$traits[["temperature_optimum"]],
E = sim$globals[["E_carrying_capacity"]],
k = sim$globals[["k"]]
)
)
## ----add_processes------------------------------------------------------------
sim$add_process(
species = "species_1",
process_name = "mte",
process_fun = function() {
self$traits[["reproduction_rate"]] <- metabolic_scaling(
normalization_constant = self$traits[["reproduction_rate_mte_constant"]],
scaling_exponent = self$sim$globals[["exponent_reproduction_rate"]],
mass = self$traits[["mass"]],
temperature = self$sim$environment$current[["temperature"]],
E = self$sim$globals[["E_reproduction_rate"]],
k = self$sim$globals[["k"]]
)
self$traits[["carrying_capacity"]] <- metabolic_scaling(
normalization_constant = self$traits[["carrying_capacity_mte_constant"]],
scaling_exponent = self$sim$globals[["exponent_carrying_capacity"]],
mass = self$traits[["mass"]],
temperature = self$sim$environment$current[["temperature"]],
E = self$sim$globals[["E_carrying_capacity"]],
k = self$sim$globals[["k"]]
)
},
execution_priority = 2
)
## ----add_processes2, fig.show="hold"------------------------------------------
sim$set_time_layer_mapping(c(1, 2))
sim$begin()
plot_cols <- hcl.colors(100, "Purple-Yellow", rev = TRUE)
plot(sim, "species_1", "reproduction_rate", col = plot_cols, main = "Reproduction rate")
plot(sim, "species_1", "carrying_capacity", col = plot_cols, main = "Carrying capacity")
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.