Skip to contents

We are moving to a main branch and release tag model. Local repo clones need to be updated. See the github pop-up or the instructions here.

General Engine for Eco-Evolutionary Simulations 2

This is the repository for the R-package of the gen3sis engine gen3sis2 git.

gen3sis is a spatially-explicit eco-evolutionary mechanistic model with a modular implementation. It allows exploring the consequences of abiotic and biotic (ecological and macroevolutionary) processes across realistic or theoretical spatio-temporal spaces.

gen3sis2 is licensed under a GPLv3 License deriving from ETHZ 2020 <doi.org/10.5905/ethz-1007-251> and has package authorship according to: http://epub.wu.ac.at/3269/1/Report114.pdf

How to cite

  • Publication coming soon! For now: O Hagen, B Flueck, F Fopp, JS Cabral, F Hartig, M Pontarp, TF Rangel, L Pellissier (2021) gen3sis: A general engine for eco-evolutionary simulations of the processes that shape Earth’s biodiversity. PLOS Biology. doi:10.1371/journal.pbio.3001340

How to install

you can install the latest development release from GitHub via

devtools::install_github(repo = "gen3sis2/gen3sis2_R-package", dependencies = TRUE, build_vignettes = TRUE)

Below the status of the automatic CI R-CMD-check tests for the main branches:

  • DEVELOPMENT R-CMD-check

  • MASTER R-CMD-check

How to use

Run one simulation

Load and run a simulation with the desired config and spaces. Example data is provided with the package.

library("gen3sis2")

spaces <- system.file(file.path("extdata", "TestSpaces","geostatic_spaces","raster"), package="gen3sis2")
config_file <- system.file(file.path("extdata", "TestConfigs","TestConfig.R"), package="gen3sis2")

sim <- run_simulation(
  config = config_file,
  space = spaces,
  output_directory = tempdir(),
  verbose = 0
)

A summary statistics is stored at ‘sim’ more data can be save using the observer function

Visualize a simulation

Plot the summary statistics of a simulation

plot_summary(sim)

Check installed version

Make sure you have the latest gen3sis version

#print package version
paste("gen3sis2 version:", packageVersion("gen3sis2"))

How to contribute

Great that you are considering contributing! We welcome contributions from the community, whether they are bug fixes, new features, documentation improvements, or anything else that can help improve the package. Feel free to also reach out over e-mail to discuss ideas. For guidelines on contributing to this project, please refer to the CONTRIBUTING.md file. In short, we use a simplified trunk based model with a main branch:

  • main – reflects the current head of development, and releases on CRAN are tagged here. Complete features are merged onto the main branch by PR or from feature branches
  • feature_branches – New and partial developments happen on separate feature branches, which will be merged into main after passing a review and testing.

Credits

We thank the developers of the following methods and dependencies:

Contributors

All contributions to this project are gratefully acknowledged using the allcontributors package following the allcontributors specification. Contributions of any kind are welcome!


ohagen

AdmirJr

bouwerutger

LewisAJones

benj919

bethany-j-allen

florianhartig

loic-pellissier

yihui

FFopp

mmore500

ZHG2017

cakloecker

cndesantana

castroinsua

adamkocsis

dromaeo