feat(dashboard): console phase 3 - history, forecast accuracy, data statistics
- History in the station panel (inline SVG): 3 d / 7 d / 30 d / 90 d / 1 y / all or a date range; level and discharge, the 24 h peaks as the model issued them, warning/danger bands, hover/touch values. Up to 7 d the chart ends in the current forecast. Above 2,500 readings it shows the daily mean with the daily low-high band, so a flood peak is not averaged away; gaps (RID's nightly pause) break the line instead of being bridged. Days are Bangkok days computed arithmetically: Intl per reading took a minute for "All" (67,000 rows), now 2 s. - "How accurate is the forecast?" for P.1 (/api/forecast/skill), loaded when opened because a cold skill query takes up to 20 s. - Data statistics (/api/stats) behind "2.7M readings since 2018" in the status bar. fix(dashboard): "All time" history ended in October 2024. The history route returns the oldest rows first and stops at 50,000 by default; P.1 has about 67,000 hours. Both dashboards now ask for limit=100000 (the route's maximum).
This commit is contained in:
1 parent
71cc1b0ca7
commit
ffd3030352
4 files changed
+498
-62
No files matched your search
@@ -112,5 +112,19 @@ def test_basin_stations_have_a_fallback_feed():
|
||||
assert "fetch('/sensors/thaiwater')" in html
|
||||
|
||||
|
||||
def test_history_reaches_today():
|
||||
"""/measurements/history returns the oldest rows first and stops at its
|
||||
limit (50,000 by default): "All" must ask for more, or P.1 ends in 2024."""
|
||||
assert "hours=${hours}&limit=100000" in _html()
|
||||
dashboard = (STATIC / "dashboard.html").read_text(encoding="utf-8")
|
||||
assert "&limit=100000" in dashboard
|
||||
|
||||
|
||||
def test_skill_loads_only_when_opened():
|
||||
html = _html()
|
||||
assert "fetch('/api/forecast/skill?station_code=P.1&horizon=24')" in html
|
||||
assert "sk.addEventListener('toggle'" in html
|
||||
|
||||
|
||||
def test_preview_is_not_indexed():
|
||||
assert '<meta name="robots" content="noindex">' in _html()
|
||||
Reference in new issue
Block a user