plant

Trait-Driven Models of Ecology and Evolution :evergreen_tree:

https://github.com/traitecoevo/plant

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 19 DOI reference(s) in README
  • Academic publication links
    Links to: wiley.com
  • Committers with academic emails
    1 of 9 committers (11.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

c-plus-plus demography dynamic ecology evolution forests plant-physiology r science-research simulation trait
Last synced: 5 months ago · JSON representation

Repository

Trait-Driven Models of Ecology and Evolution :evergreen_tree:

Basic Info
Statistics
  • Stars: 53
  • Watchers: 11
  • Forks: 20
  • Open Issues: 68
  • Releases: 7
Topics
c-plus-plus demography dynamic ecology evolution forests plant-physiology r science-research simulation trait
Created almost 13 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog

README.md

plant: A package for modelling forest trait ecology and evolution

R-CMD-check Codecov test coverage <!-- badges: end -->

The plant package for R is an extensible framework for modelling size- and trait-structured demography, ecology and evolution in simulated forests. At its core, plant is an individual-based model where plant physiology and demography are mediated by traits. Individual plants from multiple species can be grown in isolation, in patches of competing plants or in metapopulations under a disturbance regime. These dynamics can be integrated into metapopulation-level estimates of invasion fitness and vegetation structure. Accessed from R, the core routines in plant are written in C++. The package provides for alternative physiology models and for capturing trade-offs among parameters. A detailed test suite is provided to ensure correct behaviour of the code.

Citation

Falster DS, FitzJohn RG, Brännström Å, Dieckmann U, Westoby M (2016) plant: A package for modelling forest trait ecology & evolution. Methods in Ecology and Evolution 7: 136-146. doi: 10.1111/2041-210X.12525

Documentation

An overview of the plant package is given by the above publication. Further background on the default FF16 growth model is available in Falster et al 2011 (10.1111/j.1365-2745.2010.01735.x) and Falster et al 2017 (10.1101/083451).

plant comes with a lot of documentation, available at https://traitecoevo.github.io/plant/. Initial versions for some of the material there was also included as supplementary material with the publication about plant, which can be accessed here.

Package structure

Plant is a complex package, using c++14 behind the scenes for speed with R6 classes (via the Rcpp and RcppR6 packages). In this blog post, Rich FitzJohn and I describe the key technologies used to build the plant package.

If you are interested in developing plant you should read the Developer Notes.

Installation

Requirements

  • You must be using R 4.1.0 or newer. At this stage the package is not on CRAN. You're options for installing are described below.

  • Installation requires a c++14 compatible C compiler (OSX >= 10.10/Yosemite satisfies this, as do standard linux Ubuntu 12.04 and 14.04). On Windows machines you will need to install Rtools. When I tried this in Rstudio, the program automagically sensed the absence of a compiler and asked if I wanted to install Rtools. Click Yes!

Option 1, using remotes::install_github

The plant package can be installed direct from github using the remotes package:

r remotes::install_github("traitecoevo/plant", dependencies=TRUE)

To install a specific (older) release, decide for the version number that you want to install in https://github.com/traitecoevo/plant/releases e.g.

r remotes::install_github("traitecoevo/plant@v1.0.0", dependencies=TRUE)

with "v1.0.0" replaced by the appropriate version number. Note, the latest version of plant resides on the develop branch, which is sporadically released. plant follows semantic versioning meaning that major version indicate a potential break in backward compatibility.

Option 2, building from source

If familiar with git you might find it easiest to build plant directly from the source code. This is most useful if developing new models or strategies, or to contribute new features.

First, clone the plant repository

git clone https://github.com/traitecoevo/plant

Open an R session in the folder, then to install dependencies run

devtools::install_deps()

Then to compile the project

devtools::install() or

devtools::load_all()

Usage

Here are some example publications using plant:

  • Falster DS, FitzJohn RG, Brännström Å, Dieckmann U, Westoby M (2016) plant: A package for modelling forest trait ecology & evolution. Methods in Ecology and Evolution 7: 136-146. DOI: 10.1111/2041-210X.12525  code: github
  • Falster DS, Duursma RA, FitzJohn RG (2018) How functional traits influence plant growth and shade tolerance across the life cycle. Proceedings of the National Academy of Sciences 115: E6789–E6798. DOI: 10.1073/pnas.1714044115  code: github
  • Falster DS, Kunstler GK, FitzJohn RG, Westoby M (2021) Emergent shapes of trait-based competition functions from resource-based models: a Gaussian is not normal in plant communities. The American Naturalist 198: 256–267. DOI: 10.1086/714868  code: github

Owner

  • Name: Trait Ecology and Evolution
  • Login: traitecoevo
  • Kind: organization
  • Location: Australia

GitHub Events

Total
  • Issues event: 1
  • Delete event: 7
  • Issue comment event: 2
  • Push event: 32
  • Pull request review comment event: 3
  • Pull request review event: 4
  • Pull request event: 16
  • Create event: 6
Last Year
  • Issues event: 1
  • Delete event: 7
  • Issue comment event: 2
  • Push event: 32
  • Pull request review comment event: 3
  • Pull request review event: 4
  • Pull request event: 16
  • Create event: 6

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,521
  • Total Committers: 9
  • Avg Commits per committer: 169.0
  • Development Distribution Score (DDS): 0.281
Past Year
  • Commits: 14
  • Committers: 2
  • Avg Commits per committer: 7.0
  • Development Distribution Score (DDS): 0.143
Top Committers
Name Email Commits
Rich FitzJohn r****n@g****m 1,093
Daniel Falster d****r@m****u 290
Rafael Schouten r****n@g****m 57
johnWilshire j****e@g****m 34
Andrew O'Reilly-Nugent a****t@g****m 28
Mitchell Henry m****4@g****m 9
itowers1 3****1 4
Felix Lawrence f****e@n****u 4
Becca-90 8****0 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 333
  • Total pull requests: 119
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 27 days
  • Total issue authors: 14
  • Total pull request authors: 8
  • Average comments per issue: 2.03
  • Average comments per pull request: 2.67
  • Merged pull requests: 89
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 12
  • Average time to close issues: N/A
  • Average time to close pull requests: about 5 hours
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • richfitz (134)
  • dfalster (129)
  • rafaqz (24)
  • aornugent (23)
  • itowers1 (10)
  • foxeswithdata (3)
  • kunstler (2)
  • Becca-90 (2)
  • fjrrobinson (1)
  • johnWilshire (1)
  • eebutler (1)
  • hrlai (1)
  • pzylstra (1)
  • hol430 (1)
Pull Request Authors
  • dfalster (50)
  • aornugent (37)
  • rafaqz (13)
  • devmitch (9)
  • itowers1 (5)
  • Becca-90 (2)
  • johnWilshire (2)
  • richfitz (1)
Top Labels
Issue Labels
documentation (22) wontfix (13) enhancement (9) performance (9) fixed_on_development (9) bug (8) testing (8) epic (7) low priority (7) easy (5) blocked (4) ready (3) question (3) on hold (1) duplicate (1) help (1) task (1)
Pull Request Labels
epic (3)

Dependencies

.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/benchmarks.yml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • R >= 3.3.0 depends
  • BB * imports
  • R6 * imports
  • Rcpp * imports
  • crayon * imports
  • dplyr * imports
  • loggr * imports
  • magrittr * imports
  • nleqslv * imports
  • purrr * imports
  • rlang * imports
  • tibble * imports
  • tidyr * imports
  • RcppR6 >= 0.2.3 suggests
  • bench * suggests
  • deSolve * suggests
  • ggplot2 * suggests
  • ggridges * suggests
  • kableExtra * suggests
  • knitr * suggests
  • markdown * suggests
  • numDeriv * suggests
  • parallel * suggests
  • patchwork * suggests
  • rmarkdown * suggests
  • testthat * suggests