chillR: Statistical Methods for Phenology Analysis in Temperate Fruit Trees

The phenology of plants (i.e. the timing of their annual life phases) depends on climatic cues. For temperate trees and many other plants, spring phases, such as leaf emergence and flowering, have been found to result from the effects of both cool (chilling) conditions and heat. Fruit tree scientists (pomologists) have developed some metrics to quantify chilling and heat. 'chillR' contains functions for processing temperature records into chilling (Chilling Hours, Utah Chill Units and Chill Portions) and heat units (Growing Degree Hours). Regarding chilling metrics, Chill Portions are often considered the most promising, but they are difficult to calculate. This package makes it easy. 'chillR' also contains procedures for conducting a PLS analysis relating phenological dates (e.g. bloom dates) to either mean temperatures or mean chill and heat accumulation rates, based on long-term weather and phenology records. As of version 0.65, it also includes functions for generating weather scenarios with a weather generator, for conducting climate change analyses for temperature-based climatic metrics and for plotting results from such analyses.

AuthorEike Luedeling
Date of publication2017-01-23 13:49:56
MaintainerEike Luedeling <>

View on CRAN

Man pages

bloom_prediction: Bloom prediction from chilling and forcing requirements,...

california_stations: Weather stations in California

check_temperature_scenario: Check temperature scenario for consistency

chile_agromet2chillR: Convert a weather file downloaded from the Chilean Agromet...

chilling: Calculation of chilling and heat from hourly temperature...

Chilling_Hours: Calculation of cumulative chill according to the Chilling...

chilling_hourtable: Add chilling and heat accumulation to table of hourly...

chillR-package: Statistical methods for phenology analysis in temperate fruit...

color_bar_maker: Make color scheme for bar plots in outputs of the chillR...

daily_chill: Calculation of daily chill and heat accumulation

Dynamic_Model: Calculation of cumulative chill according to the Dynamic...

extract_differences_between_characters: Identify shared leading or trailing character strings

extract_temperatures_from_grids: Extract temperature information from gridded dataset

fix_weather: Weather data fixer and quality checker

GDD: Calculation of cumulative heat according to the Growing...

GDH: Calculation of cumulative heat according to the Growing...

get_last_date: Get the last date from a phenology record

get_weather: Download weather data from online database

handle_chile_agromet: List, download or convert to chillR format data from the...

handle_cimis: List, download or convert to chillR format data from the...

handle_gsod: List, download or convert to chillR format data from the...

handle_ucipm: List, download or convert to chillR format data from the...

handle_wunderground: List, download or convert to chillR format data from the...

identify_common_string: Identify shared leading or trailing character strings

interpolate_gaps: Linear gap interpolation

KA_bloom: Cherry bloom data for Klein-Altendorf, Germany

KA_weather: Weather data for Klein-Altendorf, Germany

leap_year: Leap year finder

make_all_day_table: Fill in missing days in incomplete time series

make_california_UCIPM_station_list: Makes a list of the UC IPM weather stations

make_chill_plot: Plot climate metrics over time

make_climate_scenario_from_files: Make climate scenario from multiple saved csv files

make_daily_chill_figures: Produce image of daily chill and heat accumulation

make_daily_chill_plot: Plot daily climate metric accumulation throughout the year

make_hourly_temps: Make hourly temperature record from daily data

make_JDay: Make Julian Day in dataframe

make_multi_pheno_trend_plot: Combine multiple phenology contour plots in one figure

make_pheno_trend_plot: Make image showing phenology response to temperatures during...

ordered_climate_list: Sort files in a folder, so that numbers are in ascending...

plot_climate_scenarios: Plot multiple chilling scenario groups (or for other metrics)

plot_PLS: Output of Partial Least Squares analysis results of phenology...

PLS_chill_force: Partial Least Squares analysis of phenology vs. accumulated...

PLS_pheno: Partial Least Squares analysis of phenology vs. daily mean...

read_tab: Read csv table regardless of whether it is a true csv or the...

runn_mean: Running mean of a vector

select_by_file_extension: Select string that end in a particular way (e.g. a certain...

stack_hourly_temps: Stacking of hourly temperatures

step_model: Calculation of cumulative temperature metric according to a...

temperature_generation: Generation of synthetic temperature records

temperature_scenario_baseline_adjustment: Make temperature scenario relative to a particular baseline

temperature_scenario_from_records: Make monthly temperature scenario from historic records

tempResponse: Calculation of climatic metrics from hourly temperature...

test_if_equal: Test if all character vectors in a string are equal

Utah_Model: Calculation of cumulative chill according to the Utah Model

VIP: Calculate VIP scores for PLS regression

weather2chillR: Convert downloaded weather to chillR format

YEARMODA2Date: YEARMODA to Date conversion


bloom_prediction Man page
california_stations Man page
check_temperature_scenario Man page
chile_agromet2chillR Man page
chilling Man page
Chilling_Hours Man page
chilling_hourtable Man page
chillR Man page
chillR-package Man page
color_bar_maker Man page
daily_chill Man page
Dynamic_Model Man page
extract_differences_between_characters Man page
extract_temperatures_from_grids Man page
fix_weather Man page
GDD Man page
GDH Man page
get_last_date Man page
get_weather Man page
handle_chile_agromet Man page
handle_cimis Man page
handle_gsod Man page
handle_ucipm Man page
handle_wunderground Man page
identify_common_string Man page
interpolate_gaps Man page
KA_bloom Man page
KA_weather Man page
leap_year Man page
make_all_day_table Man page
make_california_UCIPM_station_list Man page
make_chill_plot Man page
make_climate_scenario_from_files Man page
make_daily_chill_figures Man page
make_daily_chill_plot Man page
make_hourly_temps Man page
make_JDay Man page
make_multi_pheno_trend_plot Man page
make_pheno_trend_plot Man page
ordered_climate_list Man page
plot_climate_scenarios Man page
plot_PLS Man page
PLS_chill_force Man page
PLS_pheno Man page
read_tab Man page
runn_mean Man page
select_by_file_extension Man page
stack_hourly_temps Man page
step_model Man page
temperature_generation Man page
temperature_scenario_baseline_adjustment Man page
temperature_scenario_from_records Man page
tempResponse Man page
test_if_equal Man page
Utah_Model Man page
VIP Man page
weather2chillR Man page
YEARMODA2Date Man page


chillR/R/plot_climate_scenarios.R chillR/R/daily_chill.R chillR/R/PLS_pheno.R chillR/R/fix_weather.R chillR/R/PLS_chill_force.R chillR/R/temp_models.R chillR/R/select_by_file_extension.R chillR/R/VIP.R chillR/R/read_tab.R chillR/R/get_last_date.R chillR/R/temperature_scenario_from_records.R chillR/R/interpolate_gaps.R chillR/R/weather2chillR.R chillR/R/chilling_hourtable.R chillR/R/make_JDay.R chillR/R/identify_common_string.R chillR/R/check_temperature_scenario.R chillR/R/make_daily_chill_plot.R chillR/R/test_if_equal.R chillR/R/make_pheno_trend_plot.R chillR/R/make_daily_chill_figures.R chillR/R/make_all_day_table.R chillR/R/stack_hourly_temps.R chillR/R/bloom_prediction.R chillR/R/leap_year.R chillR/R/make_multi_pheno_trend_plot.R chillR/R/handle_wunderground.R chillR/R/get_weather.R chillR/R/chile_agromet2chillR.R chillR/R/plot_pheno_results.R chillR/R/tempResponse.R chillR/R/chillR.R chillR/R/handle_cimis.R chillR/R/temperature_generation.R chillR/R/make_hourly_temps.R chillR/R/make_california_UCIPM_station_list.R chillR/R/ordered_climate_list.R chillR/R/color_bar_maker.R chillR/R/make_climate_scenario_from_files.R chillR/R/chilling.R chillR/R/YEARMODA2Date.R chillR/R/handle_gsod.R chillR/R/handle_ucipm.R chillR/R/extract_differences_between_characters.R chillR/R/temperature_scenario_baseline_adjustment.R chillR/R/chillR-package.R chillR/R/make_chill_plot.R chillR/R/extract_temperatures_from_grids.R chillR/R/runn_mean.R chillR/R/handle_chile_agromet.R
chillR/man/make_pheno_trend_plot.Rd chillR/man/chillR-package.Rd chillR/man/temperature_generation.Rd chillR/man/daily_chill.Rd chillR/man/read_tab.Rd chillR/man/Dynamic_Model.Rd chillR/man/test_if_equal.Rd chillR/man/make_daily_chill_plot.Rd chillR/man/bloom_prediction.Rd chillR/man/PLS_pheno.Rd chillR/man/temperature_scenario_baseline_adjustment.Rd chillR/man/extract_differences_between_characters.Rd chillR/man/make_all_day_table.Rd chillR/man/make_daily_chill_figures.Rd chillR/man/KA_weather.Rd chillR/man/GDH.Rd chillR/man/handle_gsod.Rd chillR/man/make_climate_scenario_from_files.Rd chillR/man/get_weather.Rd chillR/man/handle_ucipm.Rd chillR/man/interpolate_gaps.Rd chillR/man/GDD.Rd chillR/man/weather2chillR.Rd chillR/man/VIP.Rd chillR/man/select_by_file_extension.Rd chillR/man/handle_wunderground.Rd chillR/man/make_JDay.Rd chillR/man/make_hourly_temps.Rd chillR/man/make_california_UCIPM_station_list.Rd chillR/man/color_bar_maker.Rd chillR/man/make_multi_pheno_trend_plot.Rd chillR/man/runn_mean.Rd chillR/man/Utah_Model.Rd chillR/man/PLS_chill_force.Rd chillR/man/get_last_date.Rd chillR/man/temperature_scenario_from_records.Rd chillR/man/fix_weather.Rd chillR/man/stack_hourly_temps.Rd chillR/man/chilling.Rd chillR/man/identify_common_string.Rd chillR/man/tempResponse.Rd chillR/man/handle_chile_agromet.Rd chillR/man/leap_year.Rd chillR/man/Chilling_Hours.Rd chillR/man/check_temperature_scenario.Rd chillR/man/california_stations.Rd chillR/man/plot_PLS.Rd chillR/man/ordered_climate_list.Rd chillR/man/extract_temperatures_from_grids.Rd chillR/man/chile_agromet2chillR.Rd chillR/man/step_model.Rd chillR/man/chilling_hourtable.Rd chillR/man/make_chill_plot.Rd chillR/man/KA_bloom.Rd chillR/man/handle_cimis.Rd chillR/man/plot_climate_scenarios.Rd chillR/man/YEARMODA2Date.Rd

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.