Best Smoke Days: Methodology
How the 0-100 smoke score is calculated. Five weather signals, a wet-bulb stall model, cooker-specific wind sensitivity, and full transparency on the data sources.
Data sources
Forecasts are pulled from Open-Meteo as the primary source, with the US National Weather Service as failover. The worker tries Open-Meteo first; if Open-Meteo returns 5xx, times out, or sends malformed JSON, the request fails over to NWS within the same fetch cycle. Successful Open-Meteo responses are cached in Cloudflare KV with a 24-hour freshness window and a maximum 30-hour retention window, so a brief upstream outage doesn't blank the forecast.
Both sources provide regional forecasts. They don't see your yard's trees, structures, or elevation. Step outside before lighting the fire: the score is a planning signal, not a ground truth.
Location and the national comparison
The meat smoking calculator's weather panel starts without a score. A US ZIP you choose takes priority over a saved explicit choice, then an approximate location from Cloudflare. Automatic selection requires US country metadata and a ZIP verified against our location lookup. Postal metadata can be missing or inaccurate; use Change location to correct it. We never infer a ZIP from a state, request browser location permission automatically, or put IP addresses or precise coordinates in these responses.
Without a valid US ZIP, “Top smoke conditions across our US locations” compares 50 geographically distributed metro ZIPs in the continental United States. Coverage includes the Northeast, Southeast, Midwest, Mountain West and Pacific Coast. It excludes Alaska, Hawaii, territories and most rural ZIPs; it is not a search of every US ZIP. The internal dataset supports forecasting only and does not create city landing pages.
Each comparison uses brisket packer, a pellet smoker and a 225°F scoring assumption. We select the forecast matching today's calendar date in each location's own timezone and show that date. Tied scores sort alphabetically by the stable location identifier. The highest two distinct available locations are shown; one or none may be available. A different cooking date selected in the local tool is identified explicitly.
A scheduled job reads and scores forecasts once for the comparison, with at most 50 upstream requests per run, including provider retries. Visitors request a compact cached ranking, not dozens of forecasts. The job runs at 04:00 and 05:00 UTC to cover Eastern midnight through daylight saving changes. Forecast fetch times remain unchanged when a cache is reused or the ranking is rewritten. Data older than 24 hours is labeled stale; data older than 30 hours is excluded. A valid local ZIP whose forecast fails stays a local error with retry and change controls.
Missing temperature, humidity, wind or precipitation probability is not treated as a calm, dry forecast. Incomplete records are omitted. NWS hourly forecasts do not supply rain accumulation or usually gust speed; their score uses rain probability without an accumulation adjustment and a sustained-wind gust estimate. Its current-day summary covers the hours still available from that provider. Source differences and yard-scale conditions can change the ranking.
Location responses use private, no-store caching. Explicit ZIP forecasts may be cached for five minutes and national rankings for one minute. These network caches do not change the displayed source-fetch time or extend the 30-hour source expiry.
The five scoring signals
- Precipitation (up to 50 points). Probability times accumulation. 90% rain + 0.5″ accumulation costs the full 50 points so the day lands in the red band on its own.
- Wind and gusts (scaled by cooker sensitivity). Effective gust = reported gust if present, otherwise sustained wind × 1.4 (CONUS inland gust factor). Penalty grows linearly from 10 mph and caps at 35 mph. Coefficient: offset 1.5×, pellet 1.0×, kettle 1.2×, kamado 0.5×, electric 0.1×.
- Cold mornings (up to 20 points). Penalty starts below 40 °F low and reaches full at 10 °F. Catches the days where startup is hard and fuel rate explodes.
- Hot afternoons (up to 25 points). Penalty starts above 85 °F high and reaches full above 110 °F (the danger-zone end of the operating range).
- Stall risk (up to 20 points, stall-sensitive cuts only). Computes the wet-bulb temperature inside the cooker cavity using the Stull 2011 formula. Maps wet-bulb 110 °F → 160 °F to 0–100% stall risk; applies as a penalty for brisket flat, brisket packer, pork butt, spare ribs, baby back ribs, and lamb shoulder. The direction is deliberate: higher humidity lengthens the stall rather than shortening it, because humid air keeps the meat surface wet and evaporating (Greg Blonder: "the stall is rapid in dry environments, prolonged in humid"; AmazingRibs notes a water pan raises humidity and slows the cook). That relationship holds only up to saturation: at the fully sealed limit of a foil wrap the surface stops evaporating entirely, the plateau temperature climbs past target doneness, and the stall vanishes instead of lengthening further.
The four bands
- Ideal (85-100). Light the fire.
- Green (70-84). Solid cook conditions with one or two minor caveats.
- Yellow (50-69). Cook is workable but requires attention: wind, humidity, or temperature are pushing the edges.
- Red (0-49). Pick a different day if you can.
Confidence labels
Each day in the 7-day window carries a horizon label that reflects how far ahead the forecast looks, not measured statistical confidence: high for the next 24-48 hours, medium for days 3-4, low for days 5-7. These labels are planning guidance, not calibrated probabilities or evidence of measured accuracy.
The scoring model is only as good as the cooks it's checked against. If you log pit and meat temperatures on your smokes, you can contribute a real cook to the calibration set — real stall data is what tightens these predictions.
Have a question this page doesn't answer? See the FAQ or affiliate disclosures.
Methodology FAQ
Where does the weather data come from?
Pitmaster Tools uses the Open-Meteo API as the primary forecast source. If Open-Meteo is unavailable or returns malformed data, the worker fails over to the US National Weather Service (api.weather.gov). Both sources provide regional forecasts: they don't see your specific yard's microclimate. The day's confidence label drops from high to medium to low as the forecast horizon grows.
How is the 0-100 score calculated?
We start at 100 and subtract penalties for five weather signals: precipitation (probability × accumulation, up to 50 points), wind / gusts (scaled by cooker sensitivity, up to 30 points after the coefficient), cold mornings (below 40 °F low, up to 20 points), hot afternoons (above 85 °F high, up to 25 points), and stall risk for stall-sensitive cuts (wet-bulb-driven, up to 20 points). The remaining score lands in one of four bands: red (under 50), yellow (50-69), green (70-84), or ideal (85+).
What is wet-bulb temperature and why does it matter?
Wet-bulb temperature is the lowest temperature evaporation can cool a wet surface down to. It's a function of air temperature and humidity. For a low-and-slow cook, the meat's surface evaporates moisture and is cooled by it: this is the source of the stall plateau around 150-165 °F. We compute the wet-bulb inside the cooker cavity using the Stull 2011 closed-form formula and adjust it for the cooker's baseline RH (offset is dry, electric is humid). Higher cavity wet-bulb means a longer stall.
Why does cooker type affect the score?
Different cookers respond differently to weather. An offset stick burner's fire is exposed to wind and shifts pit temperature with every gust: we apply a 1.5× wind sensitivity coefficient. An electric smoker doesn't notice wind at all (0.1×). A kamado is well-insulated but holds high humidity (25% RH baseline) so its stall pattern is different from an offset's (4% RH baseline). The score weighs both effects.
Is the score the same for every cut?
No. The stall-risk penalty only applies to stall-sensitive cuts: brisket flat, brisket packer, pork butt, spare ribs, baby back ribs, and lamb shoulder. Quick cuts like chicken thighs, spatchcock chicken, fish, or pork loin don't sit in the stall band long enough for evaporative cooling to dominate, so the same humid day scores worse for brisket than it does for chicken.
How accurate is the forecast?
We pull from regional forecast sources, but every forecast carries uncertainty that grows with the horizon. The day index gets a confidence label: high for the next 24-48 hours, dropping to medium and then low further out. Treat the day-5 through day-7 end of the window as a planning signal, not a commitment. Also: the regional forecast doesn't model your yard's trees, structures, or elevation. Step outside before lighting the fire.