PlantBiophysics.jl
Purpose
A pure Julia package to simulate biophysical processes for plants such as photosynthesis, conductances for heat, water vapor and CO₂, latent, sensible energy fluxes, net radiation and temperature.
The benefits of using this package are:
- Blazing fast (few μs for the whole energy balance + photosynthesis + conductances)
- Easy of use, parameter calibration and simulation on one place, works with DataFrames and MTGs
- Great composability:
- easy to extend, add your model for any process, and it just works, with automatic coupling with other models
- easy to integrate into other models or platforms thanks to Julia’s great compatibility with other languages
- Easy to read, the code implement the equations as they are written in the scientific articles (thanks Julia Unicode!)
- Compatible with other simulations platforms thanks to the MTG format
- Error propagation using Measurements.jl or MonteCarloMeasurements.jl
Try it !
Start by creating a new environment for your project using the pkg manager. To enter the package manager, just press ]
in the REPL, and it will become blue (press backspace to return to the Julia REPL). Then create the environment using this command:
activate .
Don’t forget the “.”! It is used to tell the pkg manager that you activate the project were you currently are.
You can then install PlantBiophysics using this command (still from the pkg manager):
add PlantBiophysics
Example
Here is an example usage with a simulation of the energy balance and assimilation of a leaf:
# Import the package so we can use it:
using PlantBiophysics
# Declare the meteorology for the simulated time-step (also possible to import meteo files):
meteo = Atmosphere(T = 22.0, Wind = 0.8333, P = 101.325, Rh = 0.4490995)
# Using the model from Medlyn et al. (2011) for Gs and the model of Monteith and Unsworth (2013) for the energy balance:
leaf = ModelList(
energy_balance = Monteith(),
photosynthesis = Fvcb(),
stomatal_conductance = Medlyn(0.03, 12.0),
status = (Rₛ = [13.747, 14.5], sky_fraction = 1.0, PPFD = 1500.0, d = 0.03)
)
energy_balance!(leaf, meteo)
leaf
For a more extensive documentation and tutorials, please head over the official documentation website .
LICENSE
This package is distributed under the MIT license. A full description of the license can be found here .
Links
- Link to github
- Link to the official documentation