---
title: "Supplementary Material to the Manuscript: Combining temperate fruit tree cultivars to fit spring phenology models"
subtitle: "Sumbited to International Journal of Biometeorology"
title-block-style: default
authors:
    - name: Lars Caspersen
      orcid: 0009-0000-3057-7327
      affil-id: 1
      affiliation:
        - ref: hortibonn
      email: lcaspers@uni-bonn.de
      corresponding: true
    - name: Katja Schiffers
      orcid: 0000-0003-2559-6579
      affil-id: 1
      affiliation:
        - ref: hortibonn
    - name: Katherine Jarvis-Shean
      orcid: 0000-0001-7097-0625
      affil-id: 2
      affiliation:
        - ref: ucdavis
    - name: Eike Luedeling
      orcid: 0000-0002-7316-3631
      affil-id: 1
      affiliation:
        - ref: hortibonn
      
affiliations:
  - id: hortibonn
    name: Department of Horticultural Sciences, Institue of Crop Science and Resource Conservation (INRES), University of Bonn, Auf dem Hügel 6, 53121 Bonn, Germany
  - id: ucdavis
    name: University of California, Division of Agriculture and Natural Resources,70 Cottonwood St, Woodland, CA 95695, USA
    
keywords:
  - dormancy
  - model calibration
  - data-scarcity
  - almond
  - phenology
  - flowering
abstract: >
  Phenological datasets for temperate fruit trees are often short , fragmented and geographically restricted, which hampers the development of cultivar-specific spring phenology models. To address this, we propose a novel calibration approach (“combined-fitting”), which pools observations from several cultivars of the same species, distinguishing between shared and cultivar-specific parameters. This method requires fewer observations per cultivar and allows jointly analyzing cultivars of the same species. We evaluate combined-fitting using the PhenoFlex framework, comparing it to a baseline model and to models that are fitted only with data for single cultivars (“cultivar-fit”). Our analysis is based on flowering data from nine almond, six apricot and six sweet cherry cultivars across Mediterranean (Spain, Morocco, Tunisia) and German climates. The combined-fit model failed to achieve higher prediction accuracy compared to the cultivar-fit and the baseline approach, as evidenced by similar root mean square errors across the data splits and calibration dataset sizes. When comparing the estimated parameters of the chill and heat accumulation submodels, we observed a large variation among cultivars of the same species in the cultivar-fit models. In contrast and by design, the combined-fit yielded only one parameter set for cultivars of the same species. Our findings demonstrate that integrating data from multiple cultivars can yield spring phenology models with high accuracy. Even though the combined-fit approach did not outperform the cultivar-fit approach, combined-fitting offers a practical solution for spring phenology modeling with limited datasets and facilitates comparison across cultivars of the same species.
date: last-modified
bibliography: references.bib
citation:
  container-title: International Journal of Biometeorology
csl: apa.csl
number-sections: true
---

## Introduction

This document contains supplementary materials for the journal article: *Combining temperate fruit tree cultivar to fit spring phenology models*. It includes additional tables and files that were not part of the main article, as well as the code to replicate the analyses.

The phenology analyzed here are part of a long-term phenology dataset [@luedeling_long-term_2024] compiled within the *Adapting Mediterranean Orchards (AdaMedOr)* project. Of the more than 270 cultivars in the dataset, a subset of 110 cultivars has been analyzed by @caspersen_contrasting_2025 using the PhenoFlex framework [@luedeling_phenoflex_2021], available via the R package *chillR* [@luedelingChillRStatisticalMethods2024]. In addition to model calibration, the analysis includes climate change impact projections on future bloom dates.

More than 50% of the cultivars in the dataset were not analyzed because the bloom observations were considered too short for calibration with PhenoFlex. We propose an alternative calibration method, **combine- fitting**, which reduces the number parameters estimated per cultivar and may allow the joint analysis of cultivars of the same fruit tree species. We evaluate combined-fit approach for three temperate fruit and nut species (almond, apricot, sweet cherry) and compare the results with those from a baseline model and from a common calibration approach in which each cultivar is calibrated separately. We perform the analysis for the full dataset and for an artificially shortened dataset.

Parts of the function that we present in this document are available via the R packages *evalpheno* [@caspersen_evalpheno_2025] and *LarsChill* [@caspersen_larschill_2025]. Both packages are currently available via GitHub.


## Supplementary Table

```{r}
#| tbl-cap: "Overview on the full bloom dataset for almond, apricot and sweet cherry cultivars"
#| tbl_prefix: "Table S"

library(tidyverse)

master <- read.csv('notebooks/data/master_all.csv')

master %>% 
  mutate(country = case_when(
    location == 'Meknes' ~ 'Morocco',
    location == 'Sfax' ~ 'Tunisia',
    location %in% c('Zaragoza', 'Cieza', 'Santomera') ~ 'Spain',
    location == 'Klein-Altendorf' ~ 'Germany'
  )) %>% 
  mutate(Species = species,
         Location = location, 
         Country = country,
         Cultivar = cultivar) %>% 
  filter(ncal == 'full') %>% 
  group_by(Species, Location, Country, Cultivar) %>% 
  summarise(`Year Start` =   min(year),
            `Year End` =  max(year),
            n = n()) %>% 
  knitr::kable()
```

## Supplementary Figure

![Root Mean Square Error (RMSE, days) of predicted bloom dates for each species (almond, apricot, sweet cherry) and cultivar (indicated at the x-axis). Boxplot summarizes RMSE for calibration and validation split and for ‘scarce’ and ‘full’ calibration sets. Calibration methods are indicated by color, green for ‘Baseline Model’, yellow for ‘Cultivar-Fit’ and blue for 'Combined-Fit’.](images/rmse_slim_bycultivar.jpeg)

## Supplementary Code

### Data splitting

This notebook shows the preparation of the phenology data. Performs calibration and validation data splits. Check out the notebook for more details:

[Split data in calibration and validation](https://larscaspersen.github.io/combined-fitting-bloom/notebooks/01-prepare-phenology-preview.html)

### Model Calibration

When calibrating the model, we specified the search space for each model parameter. We substituted the model parameters E~0~, E~1~, A~0~ and A~1~ of the chill submodel with intermediate parameters $\theta^*$ , $\theta_c$ , $\pi_c$ and $\tau$ , following @egea_reducing_2021 and implemented for PhenoFlex by @caspersen2024. Additionally, we restricted parameters, so that the `E10` quotient of the process modeling chill formation and degradation ranges between 1.5 and 3.5, a range said to be realistic in biological systems [@egea_reducing_2021; @luedeling_phenoflex_2021]. During model calibration, the optimization algorithm ran for 5,000 iterations for baseline model; 30,000 evaluations for single-fit; 50,000 evaluations for combined fit. We chose different total number of evaluations for the calibration methods, to account for varying number of model parameters estimated during each individual calibration step. The optimization algorithm estimates model parameters by minimizing the residual sum of squares (RSS) of predicted and observed bloom dates. In a pre-trial we confirmed that by the end of the total number of model evaluations the RSS converged, indicating that the algorithm fails to find parameters providing better model performance.

These three notebooks perform the model calibration. The notebook for almond calibration has also some more comments on the different procedures. The notebooks for apricot and sweet cherry only contain the uncommented code.

-   [Almond calibration](https://larscaspersen.github.io/combined-fitting-bloom/notebooks/02-calibrate-almond-preview.html)

-   [Apricot calibration](https://larscaspersen.github.io/combined-fitting-bloom/notebooks/03-calibrate-apricot-preview.html)

-   [Sweet Cherry calibration](https://larscaspersen.github.io/combined-fitting-bloom/notebooks/04-calibrate-cherry-preview.html)

### Model Evaluation

This code shows how the calibrated models are evaluated. This script generates figures and tables for the manuscript.

[Generate figures for the manuscript](https://larscaspersen.github.io/combined-fitting-bloom/notebooks/05-make-figures-preview.html)

## References {.unnumbered}

::: {#refs}
:::
