Methodology and sources

Each calendar is arithmetic on two published inputs. This page lists them, with the one assumption that is ours.

1. Frost dates: NOAA U.S. Climate Normals 1991–2020

For each pilot city we use one GHCN-Daily station from the NOAA/NCEI annual/seasonal normals product. The four fields are the 50% probability dates of the last spring and first fall minimum temperature at or below 32°F and 28°F. "50% probability" means that in half of the 30 years in the record the event came later than the date shown.

Datasethttps://www.ncei.noaa.gov/products/land-based-station/us-climate-normals
Data typesANN-TMIN-PRBLST-T32FP50, ANN-TMIN-PRBFST-T32FP50, ANN-TMIN-PRBLST-T28FP50, ANN-TMIN-PRBFST-T28FP50
Access methodNCEI Access Data Service v1 (JSON), one request per station; station name, coordinates and elevation fetched with includeStationName / includeStationLocation
Retrieved2026-10-16
Missing valuesNOAA returns -666 when a normal cannot be computed. We store that as not computable and do not generate a calendar for the station (Phoenix, Los Angeles, San Diego in the pilot).
LicenceNOAA data are U.S. Government works. We attribute NOAA/NCEI on every page.

The raw records we use are published at /data/stations.json with these notes embedded.

2. Spring planting rules: Colorado State University Extension

Crop hardiness classes, the spring offsets from the last frost, transplant age and typical days to harvest come from CMG GardenNotes #720, Vegetable Planting Guide (reviewed September 2024). The guide's own wording for each class:

ClassGuide wordingOffset we apply
Hardy"As early as 2-4 weeks before the date of the average last spring frost."-4 to -2 weeks from last spring 32°F date
Semi-hardy"As early as 0-2 weeks before the date of the average last spring frost."-2 to 0 weeks from last spring 32°F date
Tender"From seed: around the date of the average last spring frost"0 to 1 weeks from last spring 32°F date
Very tender"Typically 2+ weeks after the average last spring frost date."2 to 4 weeks from last spring 32°F date

Two small choices are ours: "around the date of the average last spring frost" is rendered as the frost date to one week after, and "2+ weeks after" as two to four weeks after. The guide also says soil temperature is one of the best methods to decide spring planting; we repeat that on every page because the calendar cannot measure it.

3. Indoor seed starting

The guide gives an "age of transplant" in weeks for each transplanted crop. We subtract that from the outdoor window to get the indoor sowing window. For a crop that is usually direct-sown the table shows no indoor date.

4. Fall planting: Purdue Extension method

Purdue HO-66-W, The Fall Vegetable Garden, sets the fall planting date by counting a cultivar's days to maturity back from the first fall frost. It defines hardy crops as those that withstand several hard frosts, semi-hardy as withstanding a light frost, and tender as damaged by even a light frost.

Our editorial assumption: because hardy and semi-hardy crops can keep maturing past the first light frost, we add 14 days to the hardy window and 7 days to the semi-hardy window. Tender and very tender crops get no allowance. These numbers are not in either source and are labelled as ours wherever they appear. A fall date is shown only when it falls at least four weeks after the end of the spring window; otherwise the row says "no separate fall sowing".

5. What the calendars do not do

6. Corrections

If a value on any page does not match its NOAA record or the cited guide, that is a bug. The data file carries a version (2026-10-16) and each page shows its retrieval date so the discrepancy can be traced.