Bellasio 2019 model
The Bellasio 2019 model is a generalised model of leaf-level C3 photosynthesis that couples simplified light and dark reactions with a stomatal-behaviour submodule. Building on the Farquhar–von Caemmerer–Berry framework and the light reactions of Yin et al. (2004), it derives the potential rates of ATP and NADPH production from light intensity and links them to carbon assimilation and stomatal conductance.
Designed to stay deliberately simple, it reproduces the classic steady-state assimilation responses to intercellular CO₂ and light while remaining valid under dynamic conditions, which makes it a convenient starting block for larger models of plant physiology.
Simulation parameters
Analyses
Simulation
Loading chart...
Add analysis
Model Details
Review and edit model structure, biological variables, and kinetic parameters.
| Name | Tex name | Initial value | Actions |
|---|---|---|---|
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Eq Editor
Build an expression by selecting a node and replacing it with a MathML element, then adjust symbols to the allowed variable names.
Arithmetic
Functions
Trigonometry
Hyperbolic
Comparison
Logic
Tip: click any element to select it, then choose a MathML element above or adjust its value. Click the surrounding canvas to wrap the whole expression in a new element. Drag any element onto another to move it there; Ctrl+Z / Ctrl+Shift+Z undo and redo.
Eq Editor
Build an expression by selecting a node and replacing it with a MathML element, then adjust symbols to the allowed variable names.
Arithmetic
Functions
Trigonometry
Hyperbolic
Comparison
Logic
Tip: click any element to select it, then choose a MathML element above or adjust its value. Click the surrounding canvas to wrap the whole expression in a new element. Drag any element onto another to move it there; Ctrl+Z / Ctrl+Shift+Z undo and redo.
Generated LaTeX Code
\begin{align*}
\frac{d CO2}{dt} &= - \frac{1}{V\_m} \cdot \frac{CO2 \cdot RUBP \cdot Ract \cdot f\_rubp \cdot vmax\_v\_RuBisCO\_c}{(CO2 + km\_v\_RuBisCO\_c\_CO2 \cdot (1 + \frac{O2}{km\_v\_RuBisCO\_c\_O2})) \cdot (RUBP + km\_v\_RuBisCO\_c\_RUBP\_extra)} \\
& + \frac{0.5}{V\_m} \cdot rubisco\_oxygenase \\
& - \frac{1}{V\_m} \cdot \frac{vmax\_v\_co2\_hydration \cdot (CO2 - \frac{H \cdot HCO3}{keq\_v\_co2\_hydration})}{km\_v\_co2\_hydration\_CO2 \cdot (1 + \frac{CO2}{km\_v\_co2\_hydration\_CO2} + \frac{HCO3}{km\_v\_co2\_hydration\_HCO3})} \\
& + \frac{1}{V\_m} \cdot RLight \\
& + \frac{1}{V\_m} \cdot 0.001 \cdot gm \cdot (Ci - CO2 \cdot Kh\_co2) \\
\frac{d HCO3}{dt} &= \frac{1}{V\_m} \cdot \frac{vmax\_v\_co2\_hydration \cdot (CO2 - \frac{H \cdot HCO3}{keq\_v\_co2\_hydration})}{km\_v\_co2\_hydration\_CO2 \cdot (1 + \frac{CO2}{km\_v\_co2\_hydration\_CO2} + \frac{HCO3}{km\_v\_co2\_hydration\_HCO3})} \\
\frac{d RUBP}{dt} &= - \frac{1}{V\_m} \cdot \frac{CO2 \cdot RUBP \cdot Ract \cdot f\_rubp \cdot vmax\_v\_RuBisCO\_c}{(CO2 + km\_v\_RuBisCO\_c\_CO2 \cdot (1 + \frac{O2}{km\_v\_RuBisCO\_c\_O2})) \cdot (RUBP + km\_v\_RuBisCO\_c\_RUBP\_extra)} \\
& - \frac{1}{V\_m} \cdot \frac{1 \cdot Kh\_o2 \cdot O2 \cdot v\_RuBisCO\_c}{CO2 \cdot Kh\_co2 \cdot S\_co\_gas} \\
& + \frac{1}{V\_m} \cdot \frac{vmax\_v\_PRKase \cdot (ATP\_st \cdot RU5P - \frac{ADP\_st \cdot RUBP}{keq\_v\_PRKase})}{(ATP\_st + km\_v\_PRKase\_ATP\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_PRKase\_ADP\_st})) \cdot (RU5P + km\_v\_PRKase\_RU5P \cdot (1 + \frac{PGA}{ki\_v\_PRKase\_PGA} + \frac{Pi\_st}{ki\_v\_PRKase\_Pi\_st} + \frac{RUBP}{ki\_v\_PRKase\_RUBP}))} \\
\frac{d PGA}{dt} &= \frac{2}{V\_m} \cdot \frac{CO2 \cdot RUBP \cdot Ract \cdot f\_rubp \cdot vmax\_v\_RuBisCO\_c}{(CO2 + km\_v\_RuBisCO\_c\_CO2 \cdot (1 + \frac{O2}{km\_v\_RuBisCO\_c\_O2})) \cdot (RUBP + km\_v\_RuBisCO\_c\_RUBP\_extra)} \\
& + \frac{1}{V\_m} \cdot \frac{1 \cdot Kh\_o2 \cdot O2 \cdot v\_RuBisCO\_c}{CO2 \cdot Kh\_co2 \cdot S\_co\_gas} \\
& + \frac{0.5}{V\_m} \cdot rubisco\_oxygenase \\
& - \frac{1}{V\_m} \cdot \frac{ATP\_st \cdot NADPH\_st \cdot PGA \cdot vmax\_v\_pgareduction}{(ATP\_st + km\_v\_pgareduction\_ATP\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st})) \cdot (NADPH\_st + km\_v\_pgareduction\_NADPH\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st})) \cdot (PGA + km\_v\_pgareduction\_PGA \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st}))} \\
& - \frac{0.3333333333333333}{V\_m} \cdot RLight \\
\frac{d DHAP}{dt} &= - \frac{1.6666666666666667}{V\_m} \cdot \frac{vmax\_v\_PRKase \cdot (ATP\_st \cdot RU5P - \frac{ADP\_st \cdot RUBP}{keq\_v\_PRKase})}{(ATP\_st + km\_v\_PRKase\_ATP\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_PRKase\_ADP\_st})) \cdot (RU5P + km\_v\_PRKase\_RU5P \cdot (1 + \frac{PGA}{ki\_v\_PRKase\_PGA} + \frac{Pi\_st}{ki\_v\_PRKase\_Pi\_st} + \frac{RUBP}{ki\_v\_PRKase\_RUBP}))} \\
& + \frac{1}{V\_m} \cdot \frac{ATP\_st \cdot NADPH\_st \cdot PGA \cdot vmax\_v\_pgareduction}{(ATP\_st + km\_v\_pgareduction\_ATP\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st})) \cdot (NADPH\_st + km\_v\_pgareduction\_NADPH\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st})) \cdot (PGA + km\_v\_pgareduction\_PGA \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st}))} \\
& - \frac{1}{V\_m} \cdot \frac{vmax\_v\_carbohydrate\_synthesis \cdot (1 - \frac{Pi\_st \cdot abs(v\_pgareduction)}{keq\_v\_carbohydrate\_synthesis}) \cdot (-0.4 + DHAP)}{DHAP + km\_v\_carbohydrate\_synthesis\_DHAP \cdot (1 + \frac{ADP\_st}{ki\_v\_carbohydrate\_synthesis\_ADP\_st})} \\
\frac{d ATP\_st}{dt} &= - \frac{1}{V\_m} \cdot \frac{1 \cdot Kh\_o2 \cdot O2 \cdot v\_RuBisCO\_c}{CO2 \cdot Kh\_co2 \cdot S\_co\_gas} \\
& - \frac{1}{V\_m} \cdot \frac{vmax\_v\_PRKase \cdot (ATP\_st \cdot RU5P - \frac{ADP\_st \cdot RUBP}{keq\_v\_PRKase})}{(ATP\_st + km\_v\_PRKase\_ATP\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_PRKase\_ADP\_st})) \cdot (RU5P + km\_v\_PRKase\_RU5P \cdot (1 + \frac{PGA}{ki\_v\_PRKase\_PGA} + \frac{Pi\_st}{ki\_v\_PRKase\_Pi\_st} + \frac{RUBP}{ki\_v\_PRKase\_RUBP}))} \\
& - \frac{1}{V\_m} \cdot \frac{ATP\_st \cdot NADPH\_st \cdot PGA \cdot vmax\_v\_pgareduction}{(ATP\_st + km\_v\_pgareduction\_ATP\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st})) \cdot (NADPH\_st + km\_v\_pgareduction\_NADPH\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st})) \cdot (PGA + km\_v\_pgareduction\_PGA \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st}))} \\
& - \frac{0.5}{V\_m} \cdot \frac{vmax\_v\_carbohydrate\_synthesis \cdot (1 - \frac{Pi\_st \cdot abs(v\_pgareduction)}{keq\_v\_carbohydrate\_synthesis}) \cdot (-0.4 + DHAP)}{DHAP + km\_v\_carbohydrate\_synthesis\_DHAP \cdot (1 + \frac{ADP\_st}{ki\_v\_carbohydrate\_synthesis\_ADP\_st})} \\
& + \frac{1}{V\_m} \cdot \frac{J\_ATP \cdot (ADP\_st \cdot Pi\_st - \frac{ATP\_st}{keq\_v\_ATPsynth})}{km\_v\_ATPsynth\_ADP\_st \cdot km\_v\_ATPsynth\_Pi\_st \cdot (1 + \frac{ADP\_st}{km\_v\_ATPsynth\_ADP\_st} + \frac{ATP\_st}{km\_v\_ATPsynth\_ATP\_st} + \frac{Pi\_st}{km\_v\_ATPsynth\_Pi\_st} + \frac{ADP\_st \cdot Pi\_st}{km\_v\_ATPsynth\_ADP\_st \cdot km\_v\_ATPsynth\_Pi\_st})} \\
\frac{d NADPH\_st}{dt} &= - \frac{0.5}{V\_m} \cdot \frac{1 \cdot Kh\_o2 \cdot O2 \cdot v\_RuBisCO\_c}{CO2 \cdot Kh\_co2 \cdot S\_co\_gas} \\
& - \frac{1}{V\_m} \cdot \frac{ATP\_st \cdot NADPH\_st \cdot PGA \cdot vmax\_v\_pgareduction}{(ATP\_st + km\_v\_pgareduction\_ATP\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st})) \cdot (NADPH\_st + km\_v\_pgareduction\_NADPH\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st})) \cdot (PGA + km\_v\_pgareduction\_PGA \cdot (1 + \frac{ADP\_st}{ki\_v\_pgareduction\_ADP\_st}))} \\
& + \frac{1}{V\_m} \cdot \frac{J\_NADPH \cdot (NADP\_st - \frac{NADPH\_st}{keq\_v\_FNR})}{km\_v\_FNR\_NADP\_st \cdot (1 + \frac{NADPH\_st}{km\_v\_FNR\_NADPH\_st} + \frac{NADP\_st}{km\_v\_FNR\_NADP\_st})} \\
\frac{d RU5P}{dt} &= - \frac{1}{V\_m} \cdot \frac{vmax\_v\_PRKase \cdot (ATP\_st \cdot RU5P - \frac{ADP\_st \cdot RUBP}{keq\_v\_PRKase})}{(ATP\_st + km\_v\_PRKase\_ATP\_st \cdot (1 + \frac{ADP\_st}{ki\_v\_PRKase\_ADP\_st})) \cdot (RU5P + km\_v\_PRKase\_RU5P \cdot (1 + \frac{PGA}{ki\_v\_PRKase\_PGA} + \frac{Pi\_st}{ki\_v\_PRKase\_Pi\_st} + \frac{RUBP}{ki\_v\_PRKase\_RUBP}))} \\
& + \frac{1}{V\_m} \cdot \frac{vmax\_v\_rpp \cdot (DHAP - \frac{RU5P}{keq\_v\_rpp})}{DHAP + km\_v\_rpp\_DHAP} \\
\frac{d Ract}{dt} &= \begin{cases}\frac{Ract\_eq - Ract}{tau\_i} & Ract < Ract\_eq \\ \frac{Ract\_eq - Ract}{tau\_d} & \text{else}\end{cases} \\
\frac{d J\_NADPH}{dt} &= \begin{cases}\frac{J\_NADPH\_steady - J\_NADPH}{Kj\_NADPH} & J\_NADPH < J\_NADPH\_steady \\ \frac{10 \cdot J\_NADPH\_steady - 10 \cdot J\_NADPH}{Kj\_NADPH} & \text{else}\end{cases} \\
\frac{d J\_ATP}{dt} &= \begin{cases}\frac{J\_ATP\_steady - J\_ATP}{Kj\_ATP} & J\_ATP < J\_ATP\_steady \\ \frac{10 \cdot J\_ATP\_steady - 10 \cdot J\_ATP}{Kj\_ATP} & \text{else}\end{cases} \\
\frac{d Ci}{dt} &= - 0.001 \cdot gm \cdot (Ci - CO2 \cdot Kh\_co2) \\
& + 0.001 \cdot gs \cdot (Ca - Ci) \\
\frac{d gs}{dt} &= \begin{cases}\frac{gs\_steady - gs}{Ki} & gs < gs\_steady \\ \frac{gs\_steady - gs}{Kd} & \text{else}\end{cases}
\end{align*}