Files
astrape-dashboard/astrape_dashboard/scripts/debug/debug_weather.py
T
rpotter6298 665c941802 Initial commit: astrape-dashboard split out of the combined Astrape tree
The web frontend: the UI itself, the oracle, weather, station and
quality renderers, and the serving daemon.

The weather and station display modules were each split in two. The
dataclasses went to astrape-oracle with the stores that return them;
only the rendering stayed here, so the dependency runs dashboard ->
oracle -> ems -> gibil with no cycle.

Extracted from a single repository where the forecasting engine, the
database plumbing, the hardware client, the ingest daemons and the web
UI all imported each other freely. Verified that every module imports
with gibil resolved from its own installed checkout.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-30 14:19:09 +02:00

32 lines
1.1 KiB
Python

#!/usr/bin/env python3
"""Debug script to trace resolved truth data."""
from astrape_ems.classes.env import EnvLoader
from astrape_oracle.classes.weather.store import WeatherStore
from astrape_dashboard.classes.displays.weather import WeatherDisplay
from datetime import datetime, timezone
EnvLoader().load()
store = WeatherStore.from_env()
dataset = store.load_display_dataset()
print(f"\n=== DEBUG OUTPUT ===")
print(f"Forecast points: {len(dataset.forecast_points)}")
print(f"Resolved truth points: {len(dataset.resolved_truth)}")
print(f"\nResolved truth details:")
for i, point in enumerate(dataset.resolved_truth):
print(f" [{i}] resolved_at={point.resolved_at}, temp={point.temperature_c}, radiation={point.shortwave_radiation_w_m2}")
print(f"\nAPI payload:")
display = WeatherDisplay()
payload = display.data_payload(dataset)
import json
data = json.loads(payload)
print(f" Resolved truth in payload: {len(data['resolved_truth'])}")
for i, point in enumerate(data['resolved_truth']):
print(f" [{i}] resolved_at={point['resolved_at']}, temp={point['temperature_c']}")
print(f"\n=== END DEBUG ===\n")