viewof T_min = Inputs.range(
[-5, 20],
{value: 10, step: 0.2, label: "Tmin:"}
)
viewof T_max = Inputs.range(
[30, 50],
{value: 35, step: 0.2, label: "Tmax:"}
)
viewof r_max = Inputs.range(
[0, 1.2],
{value: 1, step: 0.1, label: "rmax:"}
)
viewof alpha = Inputs.range(
[0, 1],
{value: 0.8, step: 0.02, label: "alpha:"}
)
viewof beta = Inputs.range(
[0, 1],
{value: 0.3, step: 0.02, label: "beta:"}
)A flexible model for thermal performance curves
FlexTPC is a mathematical model for thermal performance curves that aims to be both flexible and interpretable. We show an interactive visualization of flexTPC and its parameters below:
FlexTPC is parametrized in terms of biologically interpretable quantities:
- \(T_{\min}\) is the minimum temperature,
- \(T_{\max}\) the maximum temperature,
- \(r_{\max}\) the maximum trait value/performance of the TPC,
- \(\alpha \in (0,1)\) determines where the optimal temperature \(T_{\mathrm{opt}}\) is relative to \(T_{\min}\) and \(T_{\max}\) through the equation \[ T_{\mathrm{opt}} = \alpha T_{\max} + (1 - \alpha) T_{\min} \] (where, for example, \(\alpha = 1/2\) corresponds to a symmetric TPC where \(T_{\mathrm{opt}} = (T_{\min} + T_{\max}) / 2\)), the limit \(\alpha \rightarrow 0\) corresponds to \(T_{\mathrm{opt}} \rightarrow T_{\min}\), and the limit \(\alpha \rightarrow 1\) corresponds to \(T_{\mathrm{opt}} \rightarrow T_{\max}\), and
- \(\beta > 0\) determines the breadth of the TPC near its peak.
Code examples
We also provide example code that shows how to fit flexTPC with various methodologies.
Reference
If you use flexTPC, please cite
Cruz-Loya M, Mordecai EA, Savage VM. 2025. A flexible model for thermal performance curves. Ecology (in press) (biorXiv preprint) (data and code)