Fix weather display: use issued_at for zero-hour truth and deduplicate forecasts
- Changed save_zero_hour_forecast_as_truth to use issued_at instead of target_at for resolved_at timestamp - Added window function to deduplicate forecast points, keeping only the most recent for each (target_at, horizon_hours) - Limits resolved truth query to current time to prevent future points from displaying - This fixes vertical lines in the chart caused by duplicate forecasts and ensures truth data displays correctly
This commit is contained in:
@@ -216,8 +216,20 @@ class WeatherStore:
|
||||
temperature_c,
|
||||
shortwave_radiation_w_m2,
|
||||
cloud_cover_pct
|
||||
FROM weather_forecast_points
|
||||
WHERE target_at >= %s AND target_at <= %s
|
||||
FROM (
|
||||
SELECT
|
||||
issued_at,
|
||||
target_at,
|
||||
horizon_hours,
|
||||
source,
|
||||
temperature_c,
|
||||
shortwave_radiation_w_m2,
|
||||
cloud_cover_pct,
|
||||
ROW_NUMBER() OVER (PARTITION BY target_at, horizon_hours ORDER BY issued_at DESC) as rn
|
||||
FROM weather_forecast_points
|
||||
WHERE target_at >= %s AND target_at <= %s
|
||||
) as ranked
|
||||
WHERE rn = 1
|
||||
ORDER BY target_at, horizon_hours
|
||||
LIMIT 5000
|
||||
""",
|
||||
|
||||
Reference in New Issue
Block a user