← Back to all sparks
T

tealeaves

INFRA · APIS
Velocity0.0

Solve for Leaf Temperature Using Energy Balance

A leaf-temperature model that finished its job in 2020 and has stayed finished

plant-physiologyenergy-balanceleaf-temperatureunitsdormant
Current state
tealeaves solves for leaf temperature from an energy balance, using explicit units to keep parameters consistent and modelling lower and upper leaf surfaces separately so sensible and latent heat loss are computed for each. The package reached its current form in 2020 across versions 1.0.2 to 1.0.5, which added direct or functional sky temperature, dplyr 1.0.0 compatibility, and fixes to a parameter-crossing bug that the new sky temperature function had introduced. The only release since, v1.0.6 in July 2022, corrects a name in the citation file, stops parallel evaluation in a vignette and fixes README links.
Where it's heading
This is finished scientific software. The arc runs from a 1.0.0 that already described the full model, through a usability decision in 1.0.1 to accept unitless values and assign units rather than demand them, to a 2020 cluster of compatibility and correctness work around publication. Nothing since has touched the model, and the 2022 release is pure paperwork. Its most instructive entry remains 1.0.5, where a new feature silently produced incorrect parameter crossing and the fix arrived with tests to pin the behaviour.
Prediction
Expect nothing unless a dependency or CRAN check forces a release; on this record any such release will be documentation and packaging rather than a change to the energy balance.

Recent moves

  1. 4y ago

    Citation file, vignette and README fixes

    Three housekeeping fixes: a name corrected in the citation file, parallel evaluation stopped in a vignette, and broken README links repaired. The only release in six years and it does not touch the model.

    View source ↗
  2. 6y ago

    Parameter-crossing bug fixed with tests; coverage added

    Fixes a bug in tleaves() where the new sky temperature function caused all parameter values to be crossed with every unique calculated T_sky, producing incorrect results rather than an error. The fix ships with dedicated unit tests and code coverage, which is the right response to a defect that was silent.

    View source ↗
  3. 6y ago

    Fix for custom sky temperature function being overwritten

    A one-line fix stopping .get_Rabs() from overwriting a user-supplied T_sky function. The second of three consecutive releases cleaning up after the sky temperature feature added in 1.0.2.

    View source ↗
  4. 6y ago

    Sky temperature as value or function; dplyr 1.0.0 compatibility

    Lets sky temperature be supplied directly in kelvin or as a function, adds dplyr 1.0.0 compatibility and a vignette on making parameters depend on other parameters, and records the published paper. The most substantial release here, and the source of the two bugs the next two versions fixed.

    View source ↗
  5. 7y ago

    Unitless parameter values now accepted and assigned units

    Relaxes the requirement that every parameter carry explicit units: bare values are assigned the expected units without conversion, while values that do carry units are still checked and converted. A deliberate softening of the package's strictest edge, keeping the safety for users who opt in.

    View source ↗
  6. 7y ago

    First release: leaf energy balance with per-surface conductances

    The initial release, already carrying the complete model — energy-balance leaf temperature with units enforced, separate lower and upper surface conductances to heat and water vapour after Foster and Smith (1986), and support for sweeping environmental or trait gradients. Everything after this is refinement.

    View source ↗