Methodology & data sources
Every page on BlissGarden is computed from public climate and geographic data — no hand-entered dates. This page explains where the numbers come from, how we join them to each city, and the approximations involved.
Hardiness zones (USDA / PRISM)
USDA Plant Hardiness Zones come from the 2023 revision published by the PRISM Climate Group at Oregon State University, based on 1991–2020 climate normals and distributed as a zone per ZIP code.
Frost dates (NOAA 1991–2020 Climate Normals)
Average frost dates come from the NOAA NCEI U.S. Climate Normals, 1991–2020. For each weather station these give the probability of the last spring freeze and first fall freeze at several temperature thresholds (28°F, 32°F, and 36°F) and probability levels (10%, 50%, and 90%). The 50% probability at 32°F is the “average” frost date most gardeners use.
Nearby weather stations
Where a city has more than one qualifying station within 50 km, each place page lists the three nearest stations with complete 32°F normals — with their distance, elevation, and each station’s own last-spring and first-fall frost dates. The headline dates always come from the closest station.
When those stations disagree by more than a few days, that spread is real local microclimate variation — elevation, large bodies of water, and urban heat all shift frost dates within a single metro — not measurement error. Most sites hide this behind one interpolated number; we show it so you can judge which station best matches your own yard.
Cities & ZIP codes (U.S. Census)
City names, locations, and ZIP-area centroids come from the U.S. Census Bureau Gazetteer files, and population from the American Community Survey 5-year estimates.
Planting windows (crop offsets)
Planting dates are computed by shifting each city’s frost dates by crop-specific offsets — for example, “start tomatoes indoors 6–8 weeks before the last spring frost.” These offsets follow standard university-extension guidance and are the same everywhere; only the frost dates change from city to city.
Why some cities aren't listed
A city is published only when it has an assigned hardiness zone, a weather station within 50 km with complete 32°F freeze normals, and a population of at least 10,000. Cities that miss any of these are skipped rather than shown with incomplete data.
API & data access
Everything on these pages is available programmatically. The frost dates, hardiness zones, and crop planting windows are served as free, keyless JSON under /api/v1, and every place page offers a per-place CSV export. See the API documentation for endpoints, response shapes, and live examples.