Experiment record

Weather-history collection: formula failure and direct-API redesign

An observed failure in a formula-based hourly weather collection workflow, followed by a privacy-preserving direct-API redesign.

Conclusion

The formula-based collection path was not sufficiently reliable for the intended history archive: when its fetch formula returned an error, new hourly records stopped. The redesign changed the collection path to a direct API client with time-keyed writes and bounded backfill. This record does not yet demonstrate long-term reliability.

Scope and privacy boundary

The source workflow was a private spreadsheet used with a local energy-data project. Its location, spreadsheet identifiers, credentials, values, and source code are intentionally not published. Consequently, there is no public raw dataset for this record.

Verified observations

What is not verified

Reusable design pattern

  1. Treat a display formula as a display or comparison layer, not as the only historical-ingestion path.
  2. Fetch structured data in an authorised scheduled client.
  3. Use an unambiguous timestamp as the deduplication key.
  4. Preserve existing history; append only missing records.
  5. On failure, record the error and retry later without overwriting prior values.
  6. Recheck a limited recent window to repair temporary gaps.

Reproduction conditions

No public reproduction is supplied because the original environment is private. A future public reproduction should provide an independently accessible endpoint, a non-sensitive location or synthetic dataset, exact request parameters, the scheduler configuration, raw responses, and the complete analysis code.

The structured record is under experiments/OPENMETEO-MSM-001/. The CSV has a schema only, and the Python file is intentionally inert.