All Projects â†’ traitecoevo â†’ Plant

traitecoevo / Plant

Trait-Driven Models of Ecology and Evolution 🌲

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Plant

Thrive
The main repository for the development of the evolution game Thrive.
Stars: ✭ 874 (+2141.03%)
Mutual labels:  simulation, evolution
shorelark
Simulation of life & evolution
Stars: ✭ 109 (+179.49%)
Mutual labels:  simulation, evolution
Cellsim 2
Simulating complete lives of different cellular animals and plants. Evolution, inheritance, predation and more.
Stars: ✭ 28 (-28.21%)
Mutual labels:  simulation, evolution
Ecosim
An interactive ecosystem and evolution simulator written in C and OpenGL, for GNU/Linux.
Stars: ✭ 382 (+879.49%)
Mutual labels:  simulation, evolution
QuadrotorFly
This is a dynamic simulation for quadrotor UAV
Stars: ✭ 61 (+56.41%)
Mutual labels:  simulation, dynamic
Bindsnet
Simulation of spiking neural networks (SNNs) using PyTorch.
Stars: ✭ 837 (+2046.15%)
Mutual labels:  simulation, dynamic
Facsimile
Facsimile Simulation Library
Stars: ✭ 20 (-48.72%)
Mutual labels:  simulation
Jomini
Historical battle simulation package for Python
Stars: ✭ 31 (-20.51%)
Mutual labels:  simulation
Redux Dynamic Modules
Modularize Redux by dynamically loading reducers and middlewares.
Stars: ✭ 874 (+2141.03%)
Mutual labels:  dynamic
Metta
An information security preparedness tool to do adversarial simulation.
Stars: ✭ 867 (+2123.08%)
Mutual labels:  simulation
Adaptive Control
Adaptive control methods developed by Karl Johan Åström and Björn Wittenmark from the 70-80's for industrial use
Stars: ✭ 38 (-2.56%)
Mutual labels:  simulation
Memo
Decorators that help you remember.
Stars: ✭ 34 (-12.82%)
Mutual labels:  simulation
Hr4r
Example project - "Hot Reloading 4 RequireJS" front-end web applications & some extra code demonstrating hot-reloading for Node.js Express servers
Stars: ✭ 28 (-28.21%)
Mutual labels:  dynamic
Laravel Guided Image
Simplified and ready image manipulation for Laravel through intervention image.
Stars: ✭ 32 (-17.95%)
Mutual labels:  trait
Gym Alttp Gridworld
A gym environment for Stuart Armstrong's model of a treacherous turn.
Stars: ✭ 14 (-64.1%)
Mutual labels:  simulation
Blender Flip Fluids
FLIP Fluids is a powerful liquid simulation plugin that gives you the ability to create high quality fluid effects all within Blender, the free and open source 3D creation suite.
Stars: ✭ 983 (+2420.51%)
Mutual labels:  simulation
Dynamictypesupportinswift
An easy control which support dynamic typing for both system and custom fonts. Dynamic type is changing the font size of your app when user changes the font size of system from the settings.
Stars: ✭ 12 (-69.23%)
Mutual labels:  dynamic
Pioneer
A game of lonely space adventure
Stars: ✭ 979 (+2410.26%)
Mutual labels:  simulation
Gwasrapidd
gwasrapidd: an R package to query, download and wrangle GWAS Catalog data
Stars: ✭ 28 (-28.21%)
Mutual labels:  trait
Tko Electronics Sim
A cross-platform app that allows for building and simulating FRC electronics in real time.
Stars: ✭ 28 (-28.21%)
Mutual labels:  simulation

plant: A package for modelling forest trait ecology and evolution

Build Status Build status Coverage Status

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 physiologies 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++11 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 3.3.0 or newer. At this stage the package is not on CRAN. You're options for installing are described below.

  • Installation requires a C++11 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!

  • The plant package can be installed direct from github using the remotes package. plant also requires the packages loggr and RcppR6 packages. Install those with

install.packages("remotes")

remotes::install_github("smbache/loggr", dependencies=TRUE)
remotes::install_github("richfitz/RcppR6", dependencies=TRUE)
  • plant also depends on several packages available from CRAN. You can either install these yourself or let remotes handle if following installation Option 1. Package management in R can sometimes be messy, if you run into errors please try installing these pacakges one at a time.

install.packages(c("Rcpp", "R6", "crayon", "nleqslv", "BB" ,"BH"))

Option 1, using remotes::install_github

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

or if you have already installed the plant dependencies

remotes::install_github("traitecoevo/plant")

Option 2, download and install locally

If installing locally you will still need to install the loggr and RcppR6 packages. Install using remotes::install_github as above or, alternatively, download a zip file from github:

Unzip these archives and then for each package run the command

install.packages("path_to_package", repos = NULL, type="source")

where path_to_package is the folder for each package, e.g. ~/Downloads/plant-master

Option 3, installing different versions

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.

remotes::install_github("traitecoevo/plant", ref = "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 relased. plant follows semantic versioning meaning that major version indicate a potential break in backward compatibility.

Option 4, 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

then in the terminal or command line

cd plant
make

If using Rstudio, you might like to use devtools

devtools::load_all('path/to/plant')

Usage

Plant has been used in the following publications:

  • 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 (2016) Trajectories: how functional traits influence plant growth and shade tolerance across the life-cycle. bioRxiv: 083451. doi: 10.1101/083451  code: github
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].