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-023 Version: 2.0 Date: February 15, 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 and describe a follow-on experimental design to characterize the temporal structure of API bias through paired hourly collection from instrumented stations and their “virtual” API counterparts. This temporal study leverages the Dendra Science API for programmatic access to University of California Natural Reserve System (UCNRS) Campbell Scientific stations and the NASA POWER hourly temporal endpoint, enabling retrospective analysis of diurnal bias patterns across elevation gradients and weather regimes without requiring prospective data collection. We further identify the WeatherFlow Tempest community weather station network — over 63,000 stations with dense regional coverage — as a potential ground-truth resource that could transform the calibration layer from sparse personal stations to dense community networks, contingent on research access to network data through the WeatherFlow Enterprise API.
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 — personal weather stations. 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.
Layer 5: Research-grade point observations — Dendra Science. For SCOPE sites within or near the UC Natural Reserve System, the Dendra Science API [4] provides programmatic access to Campbell Scientific instrumentation at 10–15 minute intervals with QA/QC annotations and calibration metadata. Unlike the interpolated or reanalysis products in Layers 1–3, Dendra delivers actual point observations from calibrated sensors — the highest-confidence environmental data available. This layer serves as the definitive ground-truth benchmark for validating all other data sources.
Layer 6: Community weather station networks — WeatherFlow Tempest (pending access). The WeatherFlow Tempest network [5] comprises over 63,000 stations globally, with dense regional coverage that could transform the calibration layer (Layer 4) from sparse personal stations to community-scale ground-truth networks. Access to network-wide data requires the WeatherFlow Enterprise API, which is not publicly priced. A research access pathway is under negotiation (see Section 7.6). If secured, Tempest network data would provide the dense, contemporaneous ground-truth observations needed to validate API interpolation products at spatial scales relevant to ecological gradient analysis.
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 emergence of dense community weather station networks — particularly the WeatherFlow Tempest network with over 63,000 stations — introduces a fundamentally different opportunity. These are not research-grade instruments, but their density may compensate for individual station limitations. In the Bellingham, Washington region alone, the Tempest network map shows over 50 stations within a 30-kilometer radius, creating a spatial density that no API interpolation product can match. If network data can be accessed programmatically, it becomes possible to compare API-derived conditions not against a single ground-truth station but against a spatial field of nearby observations — enabling assessment of whether the API captures actual spatial gradients or merely returns a smoothed regional average.
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. Proposed Experiment: Temporal Bias Characterization
The single-snapshot comparison presented above establishes that API bias exists and scales with terrain complexity. It does not reveal whether the bias is constant, diurnal, weather-dependent, or stochastic. A follow-on experiment is proposed to characterize the temporal structure of API bias through paired hourly collection from instrumented stations and their “virtual” API counterparts at the same coordinates.
7.1 Rationale
Organisms respond to the diurnal envelope — the daily minimum and maximum, the rate of morning warming, the timing of afternoon humidity drop — not to the daily mean. If API bias is a constant offset, it can be corrected with a simple calibration factor. If it varies systematically with time of day (e.g., overestimating nighttime minima, underestimating afternoon maxima), the correction requires a diurnal model. If it varies with weather regime (e.g., accurate during clear conditions but divergent during frontal passages or fog events), the correction becomes conditional and less reliable. Understanding which of these patterns holds at each site determines how much ecological inference can be supported by API-derived environmental data.
7.2 Data Sources and Historical Availability
The temporal bias study draws on five categories of data source. Their temporal coverage and access constraints differ substantially, which determines the feasibility of retrospective versus prospective analysis.
Table 4. Data source availability for temporal bias characterization
| Source | Type | Temporal Resolution | Historical Archive | Retrospective Tier 1 | Prospective Tier 2 | Access |
|---|---|---|---|---|---|---|
| WeatherFlow Tempest | Personal station | 1-minute | Full, since deployment | Yes | Yes | Free (own station) |
| Ambient Weather | Personal station | Station interval | Full, since deployment | Yes | Yes | Free (own station) |
| Dendra Science | Research station | 10–15 minute | Full, since ~2017 | Yes | Yes | Free (read-only) |
| NASA POWER Hourly | Reanalysis | Hourly | Decades, days-to-weeks lag | Yes | No (lagged) | Free |
| OpenWeatherMap | Grid model | Current only | None (free tier) | No | Yes | Free (API key) |
| Daymet V4 R1 | Interpolated | Daily only | 1980–2024, 1–2 yr lag | Daily crosscheck | No | Free |
This availability matrix has a critical practical consequence: Tier 1 retrospective analysis can proceed immediately using Tempest, Ambient Weather, Dendra, and POWER hourly archives. No prospective data collection is required to characterize POWER’s diurnal bias structure against ground-truth stations. OpenWeatherMap, which provides only current conditions on the free tier, can only be evaluated through Tier 2 prospective collection. Daymet’s daily resolution excludes it from hourly analysis but it participates as a daily crosscheck against aggregated station data.
Instrumented stations (ground truth):
- Canemah Nature Lab (~45 m). WeatherFlow Tempest station, accessed via the WeatherFlow REST API. Full archive at minute resolution since June 2024. Variables: temperature, humidity, pressure, wind speed/direction, precipitation, solar radiation, lightning.
- Owl Farm, Bellingham (~30 m). Ambient Weather station, accessed via the Ambient Weather API. Full archive at the station’s reporting interval. Variables: temperature, humidity, pressure, wind speed/direction, precipitation.
- Blue Oak Ranch Reserve (575 m). Campbell Scientific weather station managed by Dendra Science, accessed via the Dendra REST API [4] at
api.dendra.science/v1/. High-resolution archive (typically 10–15 minute intervals). Variables queried via semantic vocabulary tags (e.g.,ds_Aggregate_Average.ds_Medium_Air.ds_Variable_Temperature). Unit conversion handled server-side. - James San Jacinto Mountains Reserve (1,649 m). Campbell Scientific weather station managed by Dendra Science, same API access as Blue Oak. This site provides the critical high-elevation test case where the single-snapshot evaluation documented complete API failure.
Virtual stations (API-derived, same coordinates):
- NASA POWER Hourly (
/api/temporal/hourly/point). The POWER API provides an hourly temporal endpoint in addition to the daily endpoint tested in Section 3.3. Parameters include T2M, T2M_MAX, T2M_MIN, RH2M, WS2M, surface pressure (PS), and shortwave radiation (ALLSKY_SFC_SW_DWN). Historical data extend back decades with a lag of days to weeks from present. Resolution remains 0.5° × 0.625° (~50 km), but hourly resolution enables diurnal bias characterization — specifically, whether the grid cell elevation mismatch at mountain sites produces a constant temperature offset or distorts the shape of the diurnal curve. - OpenWeatherMap Current Weather (free tier). Provides real-time conditions only; historical hourly data requires a paid subscription (One Call 3.0 “timemachine” endpoint [3]). OpenWeatherMap therefore participates only in the prospective collection tier (Section 7.3, Tier 2), not the retrospective analysis.
- Daymet V4 R1. Daily resolution only, with data lagging by 1–2 years. Daymet is excluded from the hourly temporal analysis but participates as the climate baseline reference — daily tmax/tmin from Daymet can be compared against daily aggregates derived from hourly station and POWER data.
7.3 Experimental Design
The experiment operates in two tiers:
Tier 1: Retrospective analysis (immediate). Select a 7–10 day period of recent meteorological interest — ideally a period capturing a frontal passage followed by clearing, providing both disturbed and stable atmospheric conditions. For this period, retrieve hourly data from all four instrumented stations (Tempest API, Ambient Weather API, Dendra API) and corresponding hourly data from NASA POWER for the same coordinates. This tier requires no prospective data collection and can be executed immediately against existing archives. The Dendra API’s datapoint query supports time filtering via time[$gt] and time[$lt] operators with ISO 8601 timestamps, pagination via $limit (max 2,000) and $skip, and server-side unit conversion.
Tier 2: Prospective collection (5–7 days). Deploy an automated collector (PHP cron job on Galatea, hourly execution) that simultaneously queries each instrumented station API and OpenWeatherMap’s free current-conditions endpoint for the same coordinates. This adds the real-time OpenWeatherMap comparison that cannot be obtained retrospectively. Data are written to a MySQL table with columns for site_id, source (tempest, ambient, dendra, openweathermap, nasa_power), timestamp_utc, and weather variables (temperature, humidity, pressure, wind_speed, wind_direction). One row per station-source-hour. Five days of collection across four sites and five sources yields approximately 2,400 rows — a compact dataset sufficient for diurnal pattern analysis.
7.4 Analysis Plan
Paired time series. For each site, plot the instrumented station record alongside the POWER hourly record (Tier 1) and OpenWeatherMap record (Tier 2) for temperature, humidity, and wind speed. Visual inspection reveals whether bias is constant, diurnal, or episodic.
Diurnal bias profiles. Compute hourly mean bias (API minus station) aggregated by hour of day across the study period. Plot as 24-hour bias curves for each site and variable. A flat curve indicates constant bias (correctable by offset). A curve with amplitude indicates diurnal bias structure (correctable by hour-of-day model). High variance around the mean indicates weather-dependent or stochastic bias (less correctable).
Weather regime conditioning. Partition the study period into regimes (frontal, post-frontal clearing, stable high pressure, nocturnal inversion) using station barometric pressure trends and wind patterns. Compute bias statistics within each regime. This reveals whether API accuracy degrades during meteorologically dynamic periods — precisely when ecological events (frost, heat stress, storm damage) are most consequential.
Elevation gradient analysis. Compare the diurnal bias profile shape across the four sites. If POWER’s bias is a constant offset that scales linearly with the elevation error between grid cell and station, a lapse-rate correction (6.5°C per 1,000 m) may rescue the product for mountain sites. If the bias distorts the diurnal curve shape — missing the mountain thermal belt inversion, for instance — the product is fundamentally unreliable for mountain ecology regardless of correction.
Daymet daily comparison. Aggregate hourly station data to daily tmax and tmin. Compare against Daymet values for the same coordinates and dates (where available). This connects the hourly temporal analysis to the longer-term climate baseline, testing whether Daymet’s interpolated daily extremes agree with observed diurnal envelopes.
7.5 The Dendra Science API
The Dendra Science platform [4] provides programmatic REST API access to environmental data from the UC Natural Reserve System and affiliated research networks. The API at api.dendra.science/v1/ follows a hierarchical data model:
- Organizations → Stations → Datastreams → Datapoints
Each station carries GeoJSON coordinates with altitude. Datastreams are tagged with a controlled vocabulary system (scheme ds) that enables semantic queries — for example, ds_Aggregate_Average.ds_Medium_Air.ds_Variable_Temperature retrieves average air temperature datastreams across any station in the network. The datapoint endpoint supports time-range filtering, unit conversion via uom_id (e.g., degree-fahrenheit) or system-of-measurement conversion via som_id (e.g., imp for imperial), and pagination up to 2,000 records per request.
A bulk lookup endpoint (/datapoints/lookup) allows simultaneous retrieval from multiple datastreams across multiple stations in a single API call, using combinations of station IDs and vocabulary tags. This makes it feasible to pull synchronized temperature, humidity, and wind records from Blue Oak and James Reserve in a single request.
The Dendra API also provides an aggregation system that computes server-side rollups (hourly sums, daily means, custom windows) and caches results, reducing the need to transfer and process raw high-frequency data locally.
For the SCOPE framework, the Dendra API represents a fifth data layer not considered in the initial architecture (Section 5): research-grade, QA/QC-annotated Campbell Scientific instrumentation accessible via a modern REST interface. Unlike Daymet (interpolated), NASA POWER (reanalysis), or OpenWeatherMap (grid-modeled), Dendra provides actual point observations from calibrated sensors — the highest-confidence environmental data available at the UCNRS sites.
7.6 Community Weather Station Networks: The Tempest Opportunity
The evaluation in Sections 3–5 frames the ground-truth calibration problem as one of sparse personal stations validating interpolated API products. The WeatherFlow Tempest community weather station network [5] presents an opportunity to reframe this problem entirely: instead of validating against isolated stations, SCOPE could validate against dense spatial fields of concurrent observations.
Network scale and density. WeatherFlow reports over 63,000 Tempest stations globally. Regional density varies but can be substantial. The Tempest station map for the Bellingham, Washington area shows over 50 stations within a 30-kilometer radius — a density that exceeds the grid resolution of both OpenWeatherMap (~25 km) and NASA POWER (~50 km). In regions with this density, the network provides multiple independent observations within a single API grid cell, enabling direct assessment of within-cell variability that no interpolated product can capture.
Data access architecture. WeatherFlow provides free API access to data from personally owned Tempest stations, including full historical archives at minute resolution. Access to the broader network requires the Enterprise API tier, which provides bulk endpoints capable of retrieving data from up to 10,000 stations per request, historical data access across the network, and the “Weather Anywhere” interpolation product — WeatherFlow’s own spatial model derived from its station network rather than from reanalysis grids.
Pricing and access barriers. The consumer Tempest station ($349) includes free API access to one’s own station data indefinitely. The commercial TempestOne ($649) adds a commercial use license. Network-wide access through the Enterprise API requires custom pricing that is not publicly listed. For non-commercial research, WeatherFlow has indicated willingness to provide research access to regional station subsets. In June 2024, Kate Looney (kate.looney@tempest.earth), WeatherFlow’s partnership contact, offered free access to a selection of Pacific Northwest stations with appropriate credit to WeatherFlow-Tempest. That conversation lapsed but the offer establishes a precedent for research access without Enterprise subscription costs.
Research value for SCOPE. If network access is secured, even for a regional subset, the Tempest network enables several analyses not possible with the current four-station design:
First, spatial validation of API products. With 50+ stations in the Bellingham area, one can compute the actual temperature field across a region and compare it against the single value returned by OpenWeatherMap for the same coordinates. This tests whether API grid cells represent meaningful spatial averages or arbitrary smoothing artifacts.
Second, elevation gradient reconstruction. In regions where Tempest stations span an elevation range — coastal lowlands through foothill terrain, for instance — the network can empirically map the temperature lapse rate and compare it against the gradients implied by API products and Daymet’s 1 km grid.
Third, evaluation of WeatherFlow’s “Weather Anywhere” product. This interpolation model, derived from Tempest station data rather than reanalysis grids, represents a fundamentally different approach to spatial estimation. Comparing “Weather Anywhere” against OpenWeatherMap and NASA POWER at the same coordinates, with dense ground-truth from the network itself, would test whether community-station-derived interpolation outperforms reanalysis-derived interpolation in complex terrain.
Current status. An email to Kate Looney has been drafted to reopen the research access conversation, framing the request around the SCOPE framework and the technical evaluation documented in this report. The request emphasizes non-commercial research use, proper WeatherFlow-Tempest attribution, and the potential for published validation of the “Weather Anywhere” product — which serves WeatherFlow’s commercial interests in demonstrating product quality.
8. Data Availability
All API endpoints tested or referenced 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) - NASA POWER Hourly:
https://power.larc.nasa.gov/api/temporal/hourly/point?start={date}&end={date}&latitude={lat}&longitude={lon}&community=ag¶meters=T2M,RH2M,WS2M,PS&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) - Dendra Science API:
https://api.dendra.science/v1/(no key required for read operations; see API documentation [4]) - WeatherFlow Tempest API:
https://swd.weatherflow.com/swd/rest/(free for own station; Enterprise tier for network access [5])
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
[4] Dendra Science (2024). “Dendra API Documentation.” Dendra Science, Inc. https://dendrascience.github.io/dendra-json-schema/
[5] WeatherFlow (2026). “Tempest Weather System.” WeatherFlow-Tempest, Inc. https://weatherflow.com/tempest-weather-system/
Document History
| Version | Date | Changes |
|---|---|---|
| 1.0 | 2026-02-14 | Initial release: single-snapshot API evaluation at four sites |
| 1.1 | 2026-02-15 | Added Section 7: proposed temporal bias characterization experiment; added Dendra Science API as fifth data layer; added NASA POWER hourly endpoint; updated abstract, data availability, and references |
| 2.0 | 2026-02-15 | Added Section 7.6: WeatherFlow Tempest community network opportunity and research access strategy; expanded Section 5 to six-layer architecture (Dendra as Layer 5, Tempest network as Layer 6); added Table 4: data source availability matrix for temporal study; added WeatherFlow Tempest API to data availability and references; updated abstract and discussion |
Cite This Document
BibTeX
Permanent URL: https://canemah.org/archive/document.php?id=CNL-TN-2026-023