SPoHF-WP6-Twins

Changelog

A monthly summary of new functionality delivered across the WP6 digital twins (blue, red and grey). Each entry links to that month’s full changelog, with deep links into the live dashboards.

Month Highlights
October / November 2026 In review: LetsGrow for Red — open PR #31 syncs Neurath’s climate computer (pipes, vents, screens, lamps, irrigation, weather station; 51 sensors, ~14 M rows of history) the way Blue syncs Yookr. Red’s wires, set straight — three wires now installed and behaving; Red reads its wires from upstream’s sensor map, and July–October readings misfiled under the wrong wire are documented. Pages that stay up through an outage — fitted DLI and climate models stay in memory when the object store is down, the climate forecast stops re-downloading its model on each request (~600 ms), and a TimescaleDB restart no longer causes errors. Plus faster home pages, separate e2e databases with a single pre-push check, and Dash0 auto-instrumentation.
September / October 2026 Red’s light model, measured and honest — lamp light is now detected from the two PAR sensors instead of inferred from model error (winter lamp light had been understated by 53%), a new lamp calendar shows it hour by hour, and scored on unseen days the weather-to-plant-light chain went from R² 0.655 to 0.926 and now beats “same as yesterday”. Climate per height — a weather → greenhouse → per-wire forecast of temperature, humidity, CO₂ and light, a wire-uniformity comparison, and a crop-cycles waterfall linking each fruit sample to the climate it grew in. Deploys without downtime — exports, models and uploads moved to object storage, so both dashboards roll with no disks attached; models persist with a nightly refit and a config fingerprint; and an upload clean-up data-loss bug fixed. Plus Blue harvest per plant and per pick date, and 2026’s pooled Mix_D/Mix_E samples.
July / August 2026 Production moved to the new cluster — both twins evacuated off the old Kubernetes cluster on 15 July, databases dumped, restored and verified (Blue’s 5.34 M readings plus the irreplaceable yearly manual data), production URLs flipped, old cluster kept as a one-step rollback — and six storage-related faults found and fixed along the way. Source-aware sync health — the Sync Status page now separates our pipeline is failing from the upstream source has gone quiet, with a 7-day reliability score, failing-since and a per-run sparkline. End-to-end tracing — every request and scheduled job emits OpenTelemetry traces, with logs stamped by trace ID. Plus second & third harvest thresholds on Blue’s GDD tracker, and fixes for a login-provider outage that crash-looped the dashboards and 23 days of silently failing nightly exports — and a community fix making the twins render correctly on non-UTF-8 Windows systems.
June / July 2026 Soil-condition forecasting for Blue — a 7-day look-ahead on soil moisture & temperature per treatment, retrained on every deploy. Manual data in context — fertigation events overlaid on soil charts, a manual-measurement monitor, and mixed sensor/manual views. GDD on OpenMeteo modeled weather — a full calendar year (from Jan 2024) now analysable, with growth constants set to recognised values. Blue fully operational on the SPoHF Datalake — the direct Yookr API fallback retired, removing ~686 lines of code and 4.1 M duplicate rows (43.5% of the readings table). Plus per-axis chart types (line/scatter/boxplot) and a templates/asset refactor.
May / June 2026 Manual data sources for Blue — insect-trap CSV and yearly long_data measurements on a new shared, twin-agnostic upload capability. Multi-height sensor views for Red — a Multi Height section mapping PAR & DLI across sensor heights. Plus server-side chart aggregation, min/max range bands, and coverage-by-source status pages.