Skip to main content
Methodology · Winter Chill Engine

How SoilStack measures winter chill for fruit trees

A full account of the data, the calculation, the accuracy checks, and the cultivar matching behind every winter-chill figure SoilStack reports — from the NOAA records it starts with to the verdict it produces.

Version 1.0 Updated Data source NOAA GHCN-Daily 1991–2020
Every winter-chill figure SoilStack reports traces back, through the steps on this page, to public NOAA weather records and published horticultural science. This page documents each step in order: where the raw data comes from, the two established ways of measuring chill, how the calculation is run, how its accuracy was checked against the reference tool the research community uses, and how a location's chill is turned into a clear answer for a specific fruit-tree variety.

01What this is

Most temperate fruit trees — apples, peaches, cherries, pears, plums, apricots — need a stretch of cold weather each winter before they will bloom and fruit properly in spring. Without enough winter cold, buds open late and unevenly, flowering is sparse, and the harvest suffers. Growers call this requirement chill, and they measure it so they can match a variety to a place.

This page documents how SoilStack measures the winter chill a location actually receives, and how it decides whether that is enough for a particular variety. The short version: for every weather station with a long enough record, we replay three decades of real winters hour by hour, count the chill each winter delivered, and report the amount you can count on in most years. We then compare that against the published chill requirement of the fruit-tree variety you are asking about.

The underlying weather data is NOAA's. The chill models are long-established published science. SoilStack's contribution is running those models faithfully over the full record, checking the result against the reference implementation the research community trusts, and turning the numbers into a clear answer.

02Where the data comes from

The temperatures come from the Global Historical Climatology Network – Daily (GHCN-Daily), maintained by NOAA's National Centers for Environmental Information. It is an authoritative, quality-controlled archive of daily land-station climate summaries, each US station carrying a daily minimum and maximum temperature.

We use the 1991–2020 record — the same 30-year window climatologists treat as the current baseline. SoilStack computes chill for every US station with enough usable winters in that window: roughly 8,300 stations passed the data-quality checks described in Section 6.

One distinction worth naming, because SoilStack's frost methodology uses a different NOAA product. Frost dates come from NOAA's pre-summarized Climate Normals, which already report frost probabilities. Chill cannot be taken from a summary like that, because chill has to be accumulated hour by hour across the winter — so the chill engine reads the raw daily record (GHCN-Daily) and reconstructs the hourly detail itself, as Section 6 describes. Same agency, more granular data.

03Two ways to measure winter chill

There is no single universal unit for winter chill. Over the decades, researchers developed several, and SoilStack computes the two in widest use today.

Chilling Hours

The oldest and simplest measure: count every hour the temperature sits in a cool band. More hours, more chill. It is easy to understand and still widely quoted in nursery catalogs, which is why SoilStack reports it. Its weakness is that it treats every hour as equal and ignores the temperature's effectiveness, so it can mislead in mild or erratic winters. This idea traces to Weinberger (1950), building on Bennett (1949).

Chilling Hours come in two common forms, and they are not the same number. The classical form counts only hours in the band 32°F to 45°F (0–7.2°C), excluding hours below freezing; this is the definition the chillR reference package uses and the one SoilStack validates against in Section 7. A simpler, also-common form counts every hour below 45°F with no lower cutoff, which is how many nursery and extension chill requirements are stated. SoilStack computes both and matches a cultivar against whichever form its requirement is published in. The reference table in Section 10 displays the below-45°F form.

The Dynamic Model (Chill Portions)

A more biologically realistic measure, and the one SoilStack headlines. Rather than counting hours, the Dynamic Model tracks the actual chemical process a tree uses to register cold. It captures two things simple hour-counting misses: that moderate cold (around 6°C / 43°F) chills a tree more effectively than a hard freeze, and that a spell of warm weather can partly undo chill the tree had already banked. Its unit is the chill portion. Across the widest range of climates — and especially in warmer regions — it is the most reliable of the models, which is why it leads. It was developed by Fishman, Erez and Couvillon (1987) and refined by Erez and colleagues (1990).

SoilStack computes both for every location, so a requirement quoted in either unit can be matched on its own terms. A third historical measure, the Utah Model's “chill units” (Richardson and colleagues, 1974), is not computed, because it behaves poorly in warm climates — where it can return negative totals — and many nursery and extension requirements are published in chilling hours, while the research literature increasingly uses chill portions.

04Why the two measures can't be swapped

This is the single most important thing to understand about chill numbers, and the place most casual comparisons go wrong: the measures are not interchangeable, and there is no conversion between them. A variety that needs “800 chilling hours” cannot be restated as some fixed number of chill portions, because the two count fundamentally different things. A chill figure is only meaningful next to a requirement stated in the same measure.

SoilStack's own data shows exactly why. Look down the chilling-hours column in the reference table in Section 10: it falls steadily from north to south, exactly as “hours of cold” should. But the chill-portions column does not follow the same order. The coldest northern locations do not bank the most chill portions — milder-cold locations a little further south often bank more.

That is not an error; it is the Dynamic Model working as designed. The far-north winters spend long stretches well below freezing, where chilling is inefficient, while the milder-cold winters spend more time near 6°C, the temperature where chilling is most effective. The same set of real winters, measured two ways, produces two different rankings. If the measures were convertible, that could not happen. Because it does, every verdict on SoilStack compares like with like — chill portions against a chill-portions requirement, chilling hours against a chilling-hours requirement — and never converts between them.

05Safe Winter Chill

Winter chill varies year to year. A run of 30 winters gives 30 different chill totals for a location, so we have to choose which one to report. SoilStack reports the Safe Winter Chill: the amount the location reaches or exceeds in nine winters out of ten (statistically, the 10th percentile of the 30-year record).

We choose this deliberately rather than the average. Planting a fruit tree is a multi-year commitment, so the question that actually matters is “what can I count on in most years?” — not “what happens on a typical year.” The average over-promises, because it can be pulled upward by the highest-chill winters; it is precisely the chill-short years that cause a poor bloom, and a conservative figure keeps those years in view. Safe Winter Chill answers: in a reliably cool location this number is high; in a place that only occasionally gets enough cold it is low, even if the average looks adequate.

06How the chill is computed

For each station, for each winter from 1991 to 2020, the engine does the following:

  1. Rebuild the hourly temperatures. GHCN-Daily records only a daily low and high, but chill accumulates by the hour. The engine reconstructs a 24-hour temperature curve for each day using the standard published method — a sine curve through the daytime warming and a logarithmic decay overnight (Linvill 1990), with sunrise, sunset, and daylength from the day's latitude (Spencer 1971) — so the models have the hourly detail they need.
  2. Run both models over the dormant window. Across the dormant season (September 1 through March 31) it accumulates chill portions with the Dynamic Model and chilling hours with the hour-counting method, hour by hour. This fixed window is a deliberately generous span chosen to capture the full dormant season across every US climate; in the coldest areas it may include some cold before dormancy fully sets in, but holding the same window for every station keeps the figures comparable and reproducible. Each winter is labeled by its spring year — “winter 2000” means September 1, 1999 through March 31, 2000.
  3. Take each winter's total, then the Safe Winter Chill. Each winter yields one chill total per model. The Safe Winter Chill is the 10th percentile of those totals, computed with the R type-7 (linear-interpolation) quantile method after sorting the qualifying winters — the same method the chillR reference uses, which is part of why the two agree so closely in the next section.

The data-quality gate

A chill total is only as trustworthy as the winter behind it, so a winter is allowed to count only if it clears three checks: at least 120 observed days in the dormant window, at least 80% of the window actually observed (not filled in), and no gap longer than five consecutive days. Short gaps are filled by simple interpolation, which is standard and reliable over a few days; a longer gap means too much of the winter would be guesswork, so that winter is dropped rather than estimated. This gate is what lets the result hold up against the reference tool in the next section — both keep the same set of trustworthy winters and discard the same unreliable ones.

07How accurate is it — validated against chillR

Chill calculations are intricate, and a small mistake in the math is easy to make and hard to spot. The strongest check available is to compare against an independent, peer-reviewed implementation that the research community already trusts. For winter chill, that reference is chillR — an open-source R package, widely cited in the scientific literature, that implements the core chill models used here.

We ran SoilStack's engine and chillR on the same station — GHCN-Daily station USC00040741, Big Bear Lake, California (34.24°N, 116.92°W) — over the same 1991–2020 record, under the same data-quality rules, and compared the results. Both tools kept the identical set of 25 qualifying winters, and the headline numbers landed on top of each other:

Measure SoilStack chillR Difference
Chill portions — Safe Winter Chill 105.10 105.13 0.03%
Chill portions — median 110.30 110.96 0.59%
Chilling hours (32–45°F) — Safe Winter Chill 1,548 1,540 0.53%
Chilling hours (32–45°F) — median 1,716 1,714 0.12%

Comparison run against chillR 0.77 on R 4.6.0; station USC00040741, same 25 qualifying winters.

The headline Safe Winter Chill in chill portions agrees to within 0.03%. The small residual differences on the other rows point in both directions and come from the way individual winters round at their edges — they are noise, not bias.

The chilling-hours rows above are the 32–45°F band, since that is the form chillR computes and therefore the only one a like-for-like parity check can cover. The below-45°F figures shown in the Section 10 reference table come from the same validated engine but are not themselves the direct parity target — chillR has no below-45°F-with-no-lower-bound metric to compare against.

Two honest boundaries on this claim. First, it is an implementation parity check on one representative station record: it confirms that, given the same daily data and rules, SoilStack's engine reproduces the reference tool's output. It is not a station-by-station audit of the whole network (that broader QA remains on the list), nor a validation of the models themselves against real orchard outcomes, which no public dataset can do perfectly. Second, comparing the reconstructed hourly temperatures against stations that record true hourly readings would refine the total accuracy estimate — but it would not change the parity result shown here, because that result compares SoilStack and chillR under the same daily-input reconstruction, not against independent hourly truth.

08What a fruit tree needs

Everything above measures the chill a location supplies. The other half of the question is how much a given variety requires. Most fruit-tree varieties have a published chill requirement — Honeycrisp apple needs roughly 800–1,000 chilling hours, for instance, while a low-chill peach like Flordaprince needs about 150.

SoilStack collects these requirements from horticultural extension services and the research literature, and records them carefully:

  • Each requirement is stored with the exact measure it was published in — chilling hours, chill portions, or otherwise — and is never converted to another measure, for the reason given in Section 4.
  • Each carries a confidence level reflecting how well-sourced it is, so a figure from a single nursery listing is not treated as equal to one backed by multiple extension trials.
  • Where a variety's only published figure is in a measure SoilStack does not compute, the page says so rather than guessing a verdict.

09Turning chill into a verdict

With a location's chill on one side and a variety's requirement on the other — both in the same measure — SoilStack produces a verdict. It does not compare averages. It asks a frequency question: in what fraction of this location's real winters did the chill actually meet the variety's requirement? That fraction maps to one of three bands:

Good 90%+ Marginal 50–90% Too warm under 50%

Good means the requirement was met in at least 9 of 10 winters — the variety can be relied on. Marginal means it was met in most years but not reliably; expect a weaker bloom after the warmer winters. Too warm means the requirement was missed more often than not — the location generally cannot chill that variety enough. Each verdict is shown with the underlying percentage and a one-sentence explanation, so the reasoning is always visible rather than hidden behind a label.

In practice, a marginal rating is a caution: good years and poor years will alternate, so the variety is a gamble rather than a dependable choice. If a reliable harvest matters, a lower-chill variety of the same fruit is usually the safer bet for that location.

10Reference chill by zone

To make the numbers concrete, the table below shows the Safe Winter Chill at one reference city in each USDA hardiness zone SoilStack covers, in both measures, computed live through the steps above. The Winters column is the number of qualifying winters behind each figure, so the size of the sample is visible. Stations with fewer qualifying winters carry wider uncertainty around the Safe Winter Chill estimate — with a short record like Columbus's ten winters, the 10th-percentile figure leans heavily on the one or two lowest-chill years, so read those rows as more approximate.

Zone Reference city Chill portions Chilling hours <45°F Winters
5A Des Moines, IA 84.1 2,938 30
5B Kansas City, MO 88.1 2,293 28
6A Columbus, OH 92.2 2,635 10
6B Richmond, VA 85.7 1,918 30
7A Raleigh, NC 79.3 1,520 30
7B Charlotte, NC 76.9 1,527 30
8A Dallas, TX 53.4 914 29
8B Houston, TX 29.2 375 17
9A Phoenix, AZ 20.3 176 30
9B Miami, FL 1.0 0 24

Safe Winter Chill (the level reached in 9 winters out of 10) at each zone's reference city. The chilling-hours column is the below-45°F form (every hour under 45°F), which is distinct from the 32°F–45°F band validated in Section 7. This is the chill at that city, an anchor point for the zone — not a single zone-wide value. Chill varies within a zone with elevation and distance from the coast, so a precise verdict always uses the station nearest your own location, as Section 11 explains.

Reading down the table, the contrast from Section 4 is visible in real numbers: chilling hours fall steadily toward the warm zones, while in these reference cities chill portions peak in the temperate middle rather than the cold extreme — the two measures genuinely disagree about which places are “chilliest,” which is exactly why they are never converted into one another.

11Limitations

What this engine does well, and where it stops:

  • It uses the nearest long-record station. A verdict for your ZIP is computed from the closest weather station with a full chill record. In flat, uniform country that station represents you well; in hilly or coastal areas, where chill can change sharply over a few miles, the nearest station may differ from your exact spot.
  • Chill varies within a hardiness zone. USDA zones are defined by extreme winter cold, not by chill accumulation, and the two do not move together. The reference table in Section 10 is an anchor per zone, not a value that holds everywhere in it.
  • Hourly temperatures are reconstructed, not observed. The hourly detail is rebuilt from daily highs and lows by a standard method. Comparing that reconstruction against stations with true hourly readings is a refinement still on the list; it would sharpen the accuracy estimate but, as Section 7 notes, cannot change the chillR agreement.
  • The Dynamic Model was tuned on peach. Its temperature-response parameters were originally derived from peach budbreak experiments (Fishman and colleagues, 1987). It is the best general-purpose chill model and is widely applied across temperate fruit, but species can differ in their detailed response, so the chill-portions figure is a strong common yardstick rather than a species-exact one.
  • Cultivar requirements vary by source. Published chill requirements differ between references; SoilStack records the source and a confidence level rather than implying a single exact figure.
  • It is a planning reference, not a guarantee. Chill is one factor in whether a tree thrives. Soil, heat, water, pests, and care all matter, and an unusual season can always depart from a 30-year record.

12Data freshness

The chill figures rest on the 1991–2020 record. NOAA refreshes its 30-year climate baseline about once a decade, so the next natural update of this dataset is expected around 2031. Between those decadal updates the baseline period is fixed, so the figures are stable by design — unless NOAA reissues source records (as it did for a small number of stations in 2023) or SoilStack revises its method.

One thing these numbers are not: a forecast. They describe the chill a location received across 1991–2020, not the chill it will receive in future winters. In regions that are warming, chill is likely to trend below this historical baseline over time, so treat a borderline verdict with that direction of travel in mind.

This page carries its own version and “updated” date at the top. Those advance in step with the methodology: when the method changes — a new model, a revised data-quality rule, an added validation — the version is bumped and the date moves with it. Wording fixes that do not change the method do not bump the version.

13Citation chain

Every layer of this engine traces to a public, citable source. The weather data, the chill models, and the reference tool used to validate the result are listed below.

Weather data

  • Menne, M. J., Durre, I., Vose, R. S., Gleason, B. E., & Houston, T. G. (2012). An overview of the Global Historical Climatology Network-Daily database. Journal of Atmospheric and Oceanic Technology, 29, 897–910. (GHCN-Daily, NOAA NCEI; dataset gov.noaa.ncdc:C00861, doi:10.7289/V5D21VHZ)

Dynamic Model — chill portions (primary)

  • Fishman, S., Erez, A., & Couvillon, G. A. (1987). The temperature dependence of dormancy breaking in plants: mathematical analysis of a two-step model involving a cooperative transition. Journal of Theoretical Biology, 124(4), 473–483.
  • Fishman, S., Erez, A., & Couvillon, G. A. (1987). The temperature dependence of dormancy breaking in plants: computer simulation of processes studied under controlled temperatures. Journal of Theoretical Biology, 126(3), 309–321.
  • Erez, A., Fishman, S., Linsley-Noakes, G. C., & Allan, P. (1990). The dynamic model for rest completion in peach buds. Acta Horticulturae, 276, 165–174.

Chilling Hours

  • Weinberger, J. H. (1950). Chilling requirements of peach varieties. Proceedings of the American Society for Horticultural Science, 56, 122–128.
  • Bennett, J. P. (1949). Temperature and bud rest period. California Agriculture, 3(11), 9, 12.

Reference implementation (validation)

  • Luedeling, E., Zhang, M., Luedeling, V., & Girvetz, E. H. (2009). Sensitivity of winter chill models for fruit and nut trees to climatic changes expected in California's Central Valley. Agriculture, Ecosystems & Environment, 133, 23–31.
  • Luedeling, E. chillR: Statistical Methods for Phenology Analysis in Temperate Fruit Trees. R package (validated against version 0.77).

Hourly temperature reconstruction

  • Linvill, D. E. (1990). Calculating chilling hours and chill units from daily maximum and minimum temperature observations. HortScience, 25(1), 14–16. (The idealized daily temperature curve — sine daytime warming, logarithmic nighttime cooling — used to rebuild hourly temperatures.)
  • Spencer, J. W. (1971). Fourier series representation of the position of the Sun. Search, 2(5), 172. (Sunrise, sunset, and daylength from latitude, which set the shape of each day's curve.)

Also referenced

  • Richardson, E. A., Seeley, S. D., & Walker, D. R. (1974). A model for estimating the completion of rest for ‘Redhaven’ and ‘Elberta’ peach trees. HortScience, 9(4), 331–332. (Utah Model — described for context; not computed by SoilStack.)

14For developers

This page emits a machine-readable schema.org description of itself — a TechArticle with its data dependencies, the published works above as citation entries, and a Dataset entity representing SoilStack's computed winter-chill normals, attributed to NOAA's GHCN-Daily as its source. Any search or AI system can read the citation chain directly from the markup.

The validation in Section 7 is reproducible: the same station record run through chillR with the same dormant window and data-quality rules returns the figures shown there. The chill models themselves are fully specified in the cited papers, and the chillR package implements them in the open.

15Version history

v1.0 — June 11, 2026
First publication. Winter chill computed from NOAA GHCN-Daily 1991–2020 records using the Dynamic Model (chill portions) and the Chilling Hours model, reported as Safe Winter Chill (the level reached in 9 winters of 10) and validated to within 0.03% of the chillR reference package. Includes the cultivar-requirement matching and the good / marginal / too-warm verdict.