Leaf Energy Balance Tutorial
Predicting a leaf’s long-term temperature based on eco-evolutionary optimality principles
About
The field of thermoregulation is fundamental to photosynthesis but the lack of understanding and process-based modelling of leaf temperature regulation creates a knowledge gap worthy of investigation. Moreover, by exploiting EEO principles, we can create a model that accounts for the interplay of thermal acclimation and thermoregulation. Understanding this interplay is an unresolved but highly relevant question because it gives insights into the processes a plant may use to cope with a rising temperatures (Cavaleri, 2020).
This tutorial provides the scientific basis and code implementation to model a leaf’s temperature based on thermodynamic theory and eco-evolutionary optimality theory. Chapter 1 gives insight into the current debate on leaf thermoregulation and makes the statement how eco-evolutionary optimality theory may provide a solution to this issue. In Chapter 3, a numerical algorithm is presented alongside a sensitivity analysis showing the strengths and weaknesses of the current implemenation. In Chapter 4, further improvements of the algorithm and ideas for potential test-cases to evaluate the model are provided.
Requirements
R version 4.3.1 (2023-06-16)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Ventura 13.4.1
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.11.0
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
time zone: Europe/Zurich
tzcode source: internal
attached base packages:
[1] stats graphics grDevices datasets utils methods base
other attached packages:
[1] conflicted_1.2.0 quarto_1.2 rpmodel_1.2.0 patchwork_1.1.3
[5] lubridate_1.9.2 forcats_1.0.0 stringr_1.5.0 dplyr_1.1.2
[9] purrr_1.0.2 readr_2.1.4 tidyr_1.3.0 tibble_3.2.1
[13] ggplot2_3.4.3 tidyverse_2.0.0 here_1.0.1
loaded via a namespace (and not attached):
[1] utf8_1.2.3 generics_0.1.3 renv_0.17.3 stringi_1.7.12
[5] hms_1.1.3 digest_0.6.33 magrittr_2.0.3 evaluate_0.21
[9] grid_4.3.1 timechange_0.2.0 fastmap_1.1.1 rprojroot_2.0.3
[13] jsonlite_1.8.7 processx_3.8.2 ps_1.7.5 fansi_1.0.4
[17] scales_1.2.1 cli_3.6.1 rlang_1.1.1 munsell_0.5.0
[21] cachem_1.0.8 withr_2.5.0 yaml_2.3.7 tools_4.3.1
[25] tzdb_0.4.0 memoise_2.0.1 colorspace_2.1-0 vctrs_0.6.3
[29] R6_2.5.1 lifecycle_1.0.3 pkgconfig_2.0.3 pillar_1.9.0
[33] later_1.3.1 gtable_0.3.3 glue_1.6.2 Rcpp_1.0.11
[37] xfun_0.40 tidyselect_1.2.0 rstudioapi_0.15.0 knitr_1.43
[41] htmltools_0.5.6 rmarkdown_2.24 compiler_4.3.1