Calculating many agroclimatic metrics, e.g., chill or heat accumulation in orchards, requires continuous records of hourly temperature. Such records are often unavailable, with farm managers and researchers relying on daily data or hourly records with gaps. While procedures for generating idealized temperature curves exist, interpolating hourly records has long been a challenge. The SolveHours procedure combines measured hourly temperatures, idealized daily temperature curves and proxy data to fill gaps in such records. It first determines daily temperature extremes by solving systems of linear equations that express the typical relationships between hourly temperatures and daily temperature extremes for every hour. After filling gaps in this record with bias-corrected data from proxy stations or by linear interpolation, SolveHours uses these data to generate an idealized temperature curve. Deviations of recorded hourly temperatures from this curve are calculated, linearly interpolated, and added to the idealized curve to obtain a gapless record. The procedure was compared to alternative gap-filling algorithms using an 8-month dataset from an orchard near Winters, CA, in which half the records were replaced by 500 gaps of random length. The SolveHours procedure achieved ratio of performance to interquartile distance (RPIQ) values of 6.7 (when using temperature extremes from a proxy station) and 8.2 (with temperature extremes measured on site), with root mean square errors of 1.6 and 1.3 °C, respectively. It outperformed all other algorithms in reproducing recorded accumulation of Chill Portions and Growing Degree Hours. The SolveHours procedure is implemented in the chillR package for the R programming environment (https:// cran.r-project.org/web/packages/chillR/vignettes/hourly_temperatures.html).