Ground-Truthing the Sky: Evaluating Free Weather APIs Against Field Station Instruments for Citizen Science Ecological Monitoring
Ground-Truthing the Sky: Evaluating Free Weather APIs Against Field Station Instruments for Citizen Science Ecological Monitoring
Document ID: CNL-TN-2026-001 Version: 1.0 Date: February 14, 2026 Author: Michael P. Hamilton, Ph.D.
AI Assistance Disclosure: This technical note was developed with assistance from Claude (Anthropic, Claude Opus 4.6). The AI contributed to API query construction, data retrieval and tabulation, comparative analysis, and manuscript drafting. The author takes full responsibility for the content, accuracy, and conclusions.
Abstract
Citizen science ecological monitoring frameworks require environmental context for observation locations that lack on-site instrumentation. We evaluated three freely available weather data sources — OpenWeatherMap (real-time, ~25 km resolution), NASA POWER (reanalysis, ~50 km), and ORNL Daymet (interpolated, 1 km) — against calibrated weather stations at four field sites spanning 30 to 1,649 meters elevation across Washington, Oregon, and California. At low-elevation sites, OpenWeatherMap temperature readings agreed with station instruments within 1–2°F. At a high-elevation mountain site (James San Jacinto Mountains Reserve, 1,649 m), OpenWeatherMap and NASA POWER failed catastrophically, with temperature errors of 7°F and 24°F respectively, attributable to grid cell elevations 650+ meters below the actual station. Daymet's 1 km grid resolved the mountain site's elevation within 111 meters, producing climatologically realistic values. Humidity degraded with terrain complexity across all sources; wind speed was unreliable at all sites. We propose a layered data architecture for the SCOPE (Science Community Observatory for Participatory Ecology) citizen science framework: OpenWeatherMap for real-time conditions at observation time, Daymet for 45-year climate trajectories at 1 km resolution across North America, NASA POWER for global sites outside Daymet coverage, and opportunistic integration of nearby personal weather stations from citizen-deployed networks. This architecture enables any geolocated ecological observation to be contextualized within its long-term environmental trajectory without requiring installed instrumentation — fulfilling a distributed sensing vision first advocated during the NEON planning process two decades ago.
1. Introduction
The SCOPE (Science Community Observatory for Participatory Ecology) framework proposes transforming citizen science observers into mobile ecological sensing platforms. A SCOPE observer captures species observations via iNaturalist, habitat structure via 360° photography, and contextualizes both within environmental conditions at the observation coordinates. For the thousands of locations where SCOPE observers will stand, there will be no weather station. The question is whether freely available weather APIs can serve as reliable proxies for on-site instrumentation.
This report documents an empirical evaluation conducted on February 14, 2026, comparing three free weather data sources — OpenWeatherMap, NASA POWER, and Daymet — against calibrated weather stations at four ecologically distinct field sites operated or formerly directed by the author over a 36-year career. The sites span a range of elevations, climate regimes, and terrain complexity representative of conditions SCOPE observers would encounter across western North America.
2. Methods
2.1 Test Sites
Four sites were selected to represent a gradient of terrain complexity and elevation:
Owl Farm, Bellingham, Washington (48.78540°N, 122.56165°W, ~30 m elevation). A lowland site in the northern Puget Sound region. Instrumented with an Ambient Weather station reporting to the Macroscope Environmental Observatory at macroscope.nexus. Maritime climate, low topographic relief.
Canemah Nature Lab, Oregon City, Oregon (45.3573°N, 122.6068°W, ~45 m elevation). A Willamette Valley site in the McLoughlin Historic District above the Willamette River. Instrumented with a WeatherFlow Tempest station reporting to the Macroscope Ecological Observatory at macroscope.earth. Valley floor, moderate topographic sheltering from surrounding bluffs.
Blue Oak Ranch Reserve, San Jose, California (37.381666°N, 121.73638°W, 575 m elevation). A University of California Natural Reserve in the Diablo Range east of San Jose. Instrumented with a Dendra-managed Campbell Scientific weather station. Mid-elevation oak savanna, rolling terrain with moderate topographic complexity.
James San Jacinto Mountains Reserve, Idyllwild, California (33.80944°N, 116.7752°W, 1,649 m / 5,410 ft elevation). A University of California Natural Reserve in the San Jacinto Mountains. Instrumented with a Dendra-managed Campbell Scientific weather station. High-elevation mixed conifer forest, extreme topographic complexity with steep elevational gradients.
2.2 Data Sources Evaluated
OpenWeatherMap Current Weather API (v2.5). Free tier, no subscription required. Returns real-time weather conditions including temperature, humidity, pressure (sea-level and ground-level), wind speed and direction, cloud cover, and precipitation. Resolution is approximately 25 km grid interpolation. Data were retrieved via REST API calls using curl with imperial units (Fahrenheit, mph).
NASA POWER Daily API (v2.8.10). Free, no API key required. Provides daily meteorological parameters derived from MERRA-2 reanalysis and GEOS satellite data. Resolution is 0.5° × 0.625° (approximately 50 km). Parameters tested: T2M (temperature at 2 meters), T2M_MAX, T2M_MIN, RH2M (relative humidity at 2 meters), WS2M (wind speed at 2 meters). Historical data available from 1981; current data lags by days to weeks.
Daymet V4 R1 [1]. Free, open access, no API key required. Provides daily surface weather data interpolated from ground-based station observations on a 1 km × 1 km grid. Coverage includes continental North America, Hawaii, and Puerto Rico from 1980 through the most recent complete calendar year. Variables: tmax, tmin (°C), prcp (mm/day), vp (Pa), srad (W/m²). Data retrieved via the Single Pixel Extraction REST API returning CSV format.
2.3 Procedure
For each site, the on-site weather station reading was recorded at approximately 17:30–18:00 PST on February 14, 2026. OpenWeatherMap API calls were made within minutes of the station readings using precise station coordinates. NASA POWER was queried for February 1, 2026 (most recent available date with data). Daymet was queried for February 1, 2024 (most recent complete year available) for the James Reserve site to evaluate resolution performance in complex terrain.
All API calls were executed from the command line using curl on a MacBook Pro. Station data were read directly from the Macroscope dashboard interfaces (macroscope.earth and macroscope.nexus) and from the Dendra data portal for the UC reserve stations.
3. Results
3.1 OpenWeatherMap vs. Station Instruments (February 14, 2026)
Owl Farm, Bellingham (low elevation, low complexity):
| Parameter | Ambient Weather | OpenWeatherMap | Difference |
|---|---|---|---|
| Temperature | 40.1°F | 41.8°F | +1.7°F |
| Humidity | 89% | 84% | −5% |
| Wind speed | 0.0 mph | 1.0 mph | +1.0 mph |
Note: Initial test using generic Bellingham coordinates (48.7519°N, 122.4787°W) returned values for city center with a 3.0°F temperature bias. Correcting to actual station coordinates (48.7854°N, 122.5617°W) reduced the bias to 1.7°F and placed the query in the "Marietta-Alderwood" grid cell. This demonstrates that coordinate precision directly affects API accuracy.
Canemah Nature Lab, Oregon City (low elevation, moderate sheltering):
| Parameter | Tempest Station | OpenWeatherMap | Difference |
|---|---|---|---|
| Temperature | 45.0°F | 46.3°F | +1.3°F |
| Humidity | 91% | 88% | −3% |
| Pressure (ground) | 1006 hPa | 1004 hPa | −2 hPa |
| Wind speed | 0.0 mph | 9.2 mph | +9.2 mph |
Wind speed divergence is extreme. The station reads calm in the topographically sheltered bluff site; the API reports regional winds that do not penetrate to the station location.
Blue Oak Ranch Reserve (mid-elevation, moderate complexity):
| Parameter | Dendra Station | OpenWeatherMap | Difference |
|---|---|---|---|
| Temperature | 48.5°F | 50.1°F | +1.6°F |
| Humidity | 88.3% | 73% | −15.3% |
| Pressure (station) | 947.7 mb | 962 mb | +14.3 mb |
| Pressure (sea level) | 1014.9 mb | 1014 mb | −0.9 mb |
| Wind speed | 4.0 mph SE (137°) | 11.5 mph SE (150°) | +7.5 mph |
| Wind direction | 137° SE | 150° SE | Close agreement |
Temperature remains reliable (+1.6°F). Humidity shows significant departure (−15.3%), likely due to the API grid cell averaging across elevations from the valley floor to the ridgeline. Station pressure divergence (14.3 mb) indicates the API's elevation model does not match the actual station elevation. Sea-level pressure agrees well (−0.9 mb), confirming the raw atmospheric data is sound — the elevation correction is where errors propagate. Wind direction agrees; magnitude does not.
James San Jacinto Mountains Reserve (high elevation, extreme complexity):
| Parameter | Dendra Station | OpenWeatherMap | Difference |
|---|---|---|---|
| Temperature | 51.9°F | 44.9°F | −7.0°F |
| Humidity | 37% | 67% | +30% |
| Pressure (station) | 839.7 mb | 878 mb | +38.3 mb |
| Pressure (sea level) | 1022.7 mb | 1018 mb | −4.7 mb |
| Wind speed | 1.3 mph SSE | 5.3 mph W | +4.0 mph, wrong direction |
Complete failure across all variables. The API reports conditions for a location roughly 650 meters lower than the actual station. Temperature is inverted — the station is warmer than the API predicts because the grid cell blends high-elevation and low-desert readings, and on this particular day the mountain station was above the valley inversion. Humidity is off by 30 percentage points. Station pressure divergence of 38 mb directly reflects the elevation mismatch.
3.2 Summary of OpenWeatherMap Bias by Site
Table 2. OpenWeatherMap bias across the elevational gradient
| Site | Elevation | Terrain | Temp Δ | Humidity Δ | Wind Δ |
|---|---|---|---|---|---|
| Owl Farm | ~30 m | Low relief | +1.7°F | −5% | +1.0 mph |
| Canemah | ~45 m | Moderate sheltering | +1.3°F | −3% | +9.2 mph |
| Blue Oak | 575 m | Rolling hills | +1.6°F | −15.3% | +7.5 mph |
| James Reserve | 1,649 m | Steep mountains | −7.0°F | +30% | +4.0 mph |
3.3 NASA POWER Evaluation (James Reserve)
The NASA POWER API [2] was tested at the James Reserve to determine whether reanalysis-based data improved on OpenWeatherMap's performance in complex terrain.
The POWER grid cell reported an elevation of 983 meters — 666 meters below the actual station at 1,649 meters. For February 1, 2026, the API returned mean temperature of 16.3°C (61.3°F), maximum of 23.7°C (74.7°F), and minimum of 10.8°C (51.4°F). These values describe conditions at the desert floor elevation, not at 5,410 feet in mixed conifer forest. A February daily mean of 61°F is unrealistic for the James Reserve by 20–25°F. Relative humidity was 30.4%, which is closer to typical station readings than OpenWeatherMap's 67%.
The 0.5° × 0.625° resolution of POWER's MERRA-2 grid is too coarse to resolve the San Jacinto Mountains' elevational gradients. The grid cell averages across roughly 3,000 feet of vertical relief, spanning vegetation zones from Sonoran desert scrub to subalpine forest.
3.4 Daymet Evaluation (James Reserve)
Daymet's 1 km × 1 km grid cell at the James Reserve coordinates reported an elevation of 1,760 meters — only 111 meters above the actual station elevation of 1,649 meters. This represents a 50-fold improvement in elevation accuracy over NASA POWER (111 m vs. 666 m error).
For February 1, 2024 (most recent available year), Daymet reported: tmax 6.3°C (43.3°F), tmin −0.5°C (31.1°F), precipitation 31.4 mm. A derived daily mean of approximately 2.9°C (37.2°F) is consistent with winter conditions at 5,400 feet in the San Jacintos — cold, near freezing, with significant precipitation. This contrasts sharply with NASA POWER's 61°F mean for the same location in the same season.
Table 3. Elevation accuracy comparison for James Reserve
| Source | Grid Resolution | Grid Cell Elevation | Error from Station | Temp Plausibility |
|---|---|---|---|---|
| Daymet | 1 km | 1,760 m | 111 m | Realistic |
| OpenWeatherMap | ~25 km | ~1,000 m (est.) | ~650 m | Poor |
| NASA POWER | 50 km | 983 m | 666 m | Unrealistic |
4. Daymet: Feasibility Assessment
4.1 Strengths
Daymet represents the most promising data source for SCOPE's climate trajectory analysis in North America. Its 1 km resolution captures elevational gradients that coarser products cannot resolve. The 45-year daily record (1980–present) provides sufficient temporal depth for computing decadal trends, growing degree days, frost-free season length, drought indices, and other derived climate variables essential for characterizing ecological trajectories. The data are freely available under NASA's open data policy with no API key required. The REST API supports single-pixel extraction by latitude/longitude with output in CSV or JSON format, compatible with direct integration into PHP/MySQL collection pipelines.
4.2 Limitations
Temporal lag. Daymet is updated annually after the close of each calendar year. As of February 2026, the most recent complete data available extends through 2024. The 2025 data have not yet been released, and Climate Engine has noted delays in processing the 2024 data as well. There is currently no data available for 2025 or 2026. This means Daymet cannot serve as a source for current or recent conditions — only for historical climatology and long-term trend analysis.
No real-time capability. Unlike OpenWeatherMap, Daymet provides no current conditions, forecasts, or weather alerts. It is strictly a retrospective dataset.
North America only. Coverage is limited to continental North America, Hawaii, and Puerto Rico (with Puerto Rico data beginning in 1950). SCOPE observers operating outside this domain — in Central America, Europe, the tropics — would need alternative data sources.
Variable limitations. Daymet provides temperature (max/min), precipitation, vapor pressure, shortwave radiation, snow water equivalent, and day length. It does not provide wind speed, wind direction, barometric pressure, cloud cover, or humidity directly (though humidity can be derived from vapor pressure and temperature). Secondary variables (radiation, vapor pressure, SWE) are derived from temperature and precipitation through theoretical and empirical relationships rather than independently observed.
API behavior. The start/end date filtering in the REST API appears to be unreliable. In testing, requests for specific date ranges returned the entire record from 1980 forward. The year filter works but returns all 365 days for the specified year. Extracting specific dates requires post-processing (e.g., grep by day-of-year). This is manageable but adds a step to automated collection workflows.
4.3 Migration Risk
NASA Earthdata is currently migrating all data sites, with completion expected by end of 2026. Additionally, the Daymet data access was temporarily disabled in AppEEARS from August through at least November 2025. While the ORNL DAAC single-pixel extraction endpoint appears operational, the migration introduces uncertainty about long-term API stability.
5. Recommended Architecture for SCOPE
Based on this evaluation, we recommend a layered data architecture for the SCOPE framework:
Layer 1: Real-time conditions — OpenWeatherMap (free tier). For current weather at observation time, OpenWeatherMap provides adequate temperature accuracy (±2°F) at low to moderate elevations. The free tier allows 1,000 API calls per day, sufficient for a distributed observer network. Temperature and sea-level pressure are reliable; humidity degrades with terrain complexity; wind speed should be treated as unreliable at all sites. Data should be collected at the time of each SCOPE observation using the observer's GPS coordinates.
Layer 2: Historical climatology — Daymet (1 km, North America). For computing climate trajectories, decadal trends, and ecological envelopes, Daymet provides the resolution and temporal depth required. Each SCOPE observation location should be characterized by its Daymet climate profile: mean monthly temperatures, precipitation totals, growing degree days, frost dates, and trends across the 45-year record. This layer transforms a point observation into an ecological context.
Layer 3: Global coverage — NASA POWER. For SCOPE sites outside North America where Daymet is unavailable, NASA POWER provides global coverage with daily resolution from 1981. Users must apply lapse-rate corrections for mountain sites (standard atmospheric lapse rate of 6.5°C per 1,000 m elevation difference between grid cell elevation and actual site elevation). The 50 km resolution is adequate for lowland tropical and temperate sites but insufficient for montane environments.
Layer 4: Ground-truth calibration. At sites where SCOPE observers have access to personal weather stations (Tempest, Ambient Weather, Davis, etc.), the station data should be collected alongside API data to build site-specific bias profiles. Over time, these profiles may enable statistical correction of API data at uninstrumented sites with similar topographic characteristics.
6. Discussion
This evaluation demonstrates that freely available weather APIs can provide adequate environmental context for citizen science ecological observations — with important caveats. The approach works well at low to moderate elevations where terrain does not create sharp microclimatic gradients. It fails in mountain environments where ecology is most sensitive to elevation, aspect, and topographic position.
This finding has a direct historical parallel. The NEON (National Ecological Observatory Network) planning process of the early 2000s debated whether continental-scale ecology required dense networks of inexpensive sensors or sparse networks of expensive ones. The atmospheric flux community prevailed, and NEON deployed approximately 80 heavily instrumented sites. Twenty years later, NEON's sparse network cannot resolve the ecological gradients between sites — the same interpolation problem we document here for weather APIs in mountain terrain.
The SCOPE framework offers a different path. Rather than choosing between expensive instrumentation and coarse interpolation, SCOPE combines human observers (who can stand at any coordinate), commodity cameras (which capture habitat structure), open APIs (which provide adequate environmental context for most locations), and high-resolution gridded products like Daymet (which provide climate history). Where the APIs fail — in complex mountain terrain — SCOPE observers can carry inexpensive personal weather stations, or the framework can flag those locations as requiring higher-confidence environmental data before ecological conclusions are drawn.
The Macroscope Environmental Observatory at Canemah (macroscope.earth) and the Macroscope instance at Owl Farm (macroscope.nexus) already integrate multiple data streams — weather stations, BirdWeather acoustic monitoring, iNaturalist observations — into unified ecological dashboards. This evaluation establishes the empirical basis for extending that integration to include API-sourced environmental data at locations where physical instrumentation is absent. The comparative profile — instrumented site alongside API-sourced site, displayed in the same interface — is now technically feasible and empirically characterized.
7. Data Availability
All API endpoints tested in this evaluation are freely accessible:
- OpenWeatherMap Current Weather:
https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&units=imperial&appid={key}(free API key required) - NASA POWER Daily:
https://power.larc.nasa.gov/api/temporal/daily/point?start={date}&end={date}&latitude={lat}&longitude={lon}&community=ag¶meters=T2M,RH2M,WS2M&format=json(no key required) - Daymet Single Pixel:
https://daymet.ornl.gov/single-pixel/api/data?lat={lat}&lon={lon}&vars=tmax,tmin,prcp,vp&years={year}&format=csv(no key required)
Station data are archived at the Macroscope Ecological Observatory (macroscope.earth), Macroscope Environmental Observatory (macroscope.nexus), and the Dendra environmental data platform for UC Natural Reserve System stations.
References
[1] Thornton, M. et al. (2022). "Daymet: Daily Surface Weather Data on a 1-km Grid for North America, Version 4 R1." ORNL DAAC. https://doi.org/10.3334/ORNLDAAC/2129
[2] Stackhouse, P. et al. (2018). "POWER Release 8 Methodology." NASA Langley Research Center. https://power.larc.nasa.gov
[3] OpenWeatherMap (2026). "One Call API 3.0 Documentation." OpenWeather Ltd. https://openweathermap.org/api/one-call-3
Document History
| Version | Date | Changes |
|---|---|---|
| 1.0 | 2026-02-14 | Initial release |
Cite This Document
BibTeX
Permanent URL: https://canemah.org/archive/document.php?id=CNL-TN-2026-023