Blog/Data Methods/ Soil Temp Mushroom Forecast

Predicting Soil Temperature for Mushroom Foraging Using Synoptic Weather Data

Mushroom fruiting is not random. Morels, chanterelles, boletes, and most other sought-after species respond to specific combinations of soil temperature and moisture — get one of those wrong and the timing will be off by days or weeks. Soil temperature in particular is the variable that most foragers either guess at or ignore entirely. We wanted to build something better: a real-time map of soil temperature conditions across Montana and Idaho, derived from actual sensor data rather than general seasonal assumptions.

The challenge is that dedicated soil temperature sensors are sparse and unevenly distributed. What we have in abundance across Montana and Idaho is air temperature data — from thousands of stations spread across multiple monitoring networks. The method we built uses that air temperature coverage as the raw material, runs it through an elevation-adjusted spatial interpolation, and converts the result into a soil temperature estimate suitable for forecasting mushroom activity.

Data note — This pipeline is updated regularly from live station data via the Synoptic API. The soil temperature layer shown on the mushroom map reflects recent conditions, not a long-term average. Terrain variability means local conditions can differ meaningfully from the interpolated surface.

Why Synoptic — and Which Networks

Synoptic Data is a weather data aggregator that provides unified API access to thousands of stations across dozens of monitoring networks in a single query. Rather than writing separate data pulls for SNOTEL, RAWS, MesoWest, ASOS, and state mesonet systems individually, a single Synoptic request can return data from all of them at once, normalized into a consistent format.

For soil temperature modeling, station density matters. A single network like SNOTEL gives good high-elevation coverage but leaves valley and lower-elevation terrain poorly represented. By pulling from multiple networks simultaneously through Synoptic, we get a much denser point cloud of air temperature observations — stations at ski areas, fire weather stations on south-facing ridges, agricultural weather networks in valley floors, and airport ASOS stations at lower elevations. Together they give a far more complete picture of the temperature gradient across the landscape than any single network could provide alone.

The Synoptic query targets a bounding box covering Montana and Idaho and retrieves the most recent air temperature, soil temperature (where available), and elevation for each active station. Stations without recent valid readings are filtered out before interpolation.

Elevation Adjustment and Normalization

Raw air temperature observations from stations at different elevations can't be interpolated directly — a station at 7,000 feet and one at 2,000 feet will report very different temperatures even if they're only a few miles apart horizontally. Interpolating them naively would smear that elevation signal across the landscape as if it were a geographic trend, producing a surface that reflects altitude rather than actual spatial temperature variation.

The solution is to normalize all observations to a common reference elevation before interpolating. We apply a standard atmospheric lapse rate of 6.5°C per 1,000 meters (roughly 3.5°F per 1,000 feet) to adjust every station's temperature to what it would read at a fixed reference elevation. The interpolation is then performed on these normalized values, producing a smooth surface that captures the true spatial variation in temperature independent of elevation. After interpolation, the elevation correction is re-applied using a Digital Elevation Model (DEM) — adding back the lapse rate adjustment cell by cell based on actual terrain — to produce the final temperature surface at real-world elevations across the study area.

Lapse rate in practice — The standard environmental lapse rate of 6.5°C/1,000m is a reasonable average, but actual lapse rates vary by season, time of day, and atmospheric conditions. Spring mornings in the Rockies can run closer to 5°C/1,000m while dry summer afternoons may exceed 8°C/1,000m. The model uses the standard rate as a practical approximation.

IDW Interpolation

With normalized temperatures in hand, we use Inverse Distance Weighting (IDW) to create a continuous raster surface from the point observations. IDW works on a straightforward principle: the estimated temperature at any unsampled location is a weighted average of nearby station readings, where the weight given to each station decreases with distance. Stations close to the prediction point exert strong influence; stations far away contribute relatively little.

The power parameter in IDW controls how steeply influence falls off with distance. A higher power makes the interpolation more local — each station dominates a smaller area around it — while a lower power produces a smoother surface that integrates observations over a wider range. For temperature, which tends to vary gradually across the landscape, a moderate power setting produces good results. The output is a gridded raster covering Montana and Idaho at a resolution appropriate for regional foraging planning.

One practical advantage of IDW over kriging for this application is computation speed. Because the soil temperature layer needs to refresh on a regular schedule from live data, the pipeline has to run end-to-end in a reasonable time window. IDW at regional scale is fast enough to fit comfortably within that constraint, whereas kriging's variogram fitting step adds meaningful overhead that matters when running repeatedly in a cloud environment.

From Air Temperature to Soil Temperature

Air temperature and soil temperature are correlated but not identical. Soil temperature lags air temperature — it responds to the longer-term trend rather than day-to-day swings — and the relationship varies by soil type, moisture content, canopy cover, and aspect. A south-facing open slope in May warms its soil faster than a north-facing forested slope at the same elevation even when both stations report similar air temperatures.

To bridge from air to soil, we use a regression relationship derived from stations that report both measurements. Where stations in the Synoptic network include dedicated soil temperature sensors, those paired readings allow us to build a model that translates the interpolated air temperature surface into an estimated soil temperature surface. The regression incorporates elevation adjustment and uses a rolling average of recent air temperature readings rather than instantaneous values, which better captures the thermal inertia of the soil column.

The resulting soil temperature surface is then thresholded to identify areas where conditions are within the range typically associated with fungal fruiting activity — generally soil temperatures above 50°F (10°C) for many spring species, with warm-season species like chanterelles and boletes responding to sustained readings above 55°F (13°C).

What the Map Shows

The output layer highlights areas of Montana and Idaho where current soil temperatures are within the target range for mushroom activity. It is not a prediction that mushrooms are present — it is an indication that the thermal conditions are favorable. Moisture, substrate, and local phenology all factor into whether fruiting actually occurs. But soil temperature is one of the most reliable leading indicators, and most foragers have no easy way to access that information at the terrain scale.

The map updates regularly as new station data flows through the Synoptic API, so the layer reflects recent conditions rather than seasonal averages. Early spring warm-ups, late cold snaps, and elevation inversions all show up in the data and get reflected in what you see on the map.

See it live — The soil temperature foraging map is available at mushroom.outsidedb.com. The map shows current conditions across Montana and Idaho alongside species-specific temperature guidance for morels, chanterelles, boletes, and other target species.
Data & Methods — Air and soil temperature observations from the Synoptic Data API across multiple monitoring networks. Elevation data from USGS DEM. Lapse rate normalization at 6.5°C/1,000m. IDW interpolation with elevation correction applied from DEM. Regression model calibrated from paired air/soil sensor stations.