fix(climato): fiabiliser les jours récents à couverture station partielle
Some checks failed
Deploy info-canicule / deploy (push) Failing after 4s
Some checks failed
Deploy info-canicule / deploy (push) Failing after 4s
Les 1-2 derniers jours du flux climato `latest` ont souvent 0-1 station publiée (parfois TN sans TX), produisant des agrégats département nuls ou non représentatifs. Symptômes côté page dept : TX/TN vides ou tx==tn à J-1/J-2 sur le graphe, et moyenne 3j/7j figée (computeAnomaly lisait climato.days brut et retombait sur les mêmes vieux jours complets). - climato.ts : exposer la couverture réelle par champ (txN/tnN, optionnels, rétro-compatibles avec le cache 24h). - [code].astro : `_mergedDay` choisit par champ la source fiable — climato si couverture >= 50% de la médiane station du dept, sinon SYNOP (garde >= 3 obs/jour pour éviter tx==tn), sinon valeur fine, sinon null. Le badge anomalie utilise désormais les 7 derniers jours complets (finissant J-1) au lieu de climato.days brut, recollant graphe et badge. Vérifié par simulation sur données réelles (depts 31/75/13) : jours pleins inchangés (zéro régression), jours récents partiels comblés proprement. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e247005d34
commit
9db5d4c204
3 changed files with 45 additions and 15 deletions
|
|
@ -67,6 +67,7 @@ Home et pages dept renvoient `Cache-Control: ... must-revalidate` (cf. commit `e
|
|||
- **SYNOP renvoie les températures en Kelvin**. `observations.ts` les convertit via `K2C()`. Piège classique si on ajoute un nouveau champ température.
|
||||
- **DROM** : pas (encore) inclus dans le mapping `departements.ts` côté front. Vigilance Métropole only pour le MVP. Pour ajouter Outre-mer : étendre `DEPARTEMENTS` + tester si `domain_id` correspond aux codes 971-978.
|
||||
- **Conseils par phénomène** (`advice.ts`) : texte curated depuis sante.gouv.fr et meteofrance.fr. À relire / actualiser périodiquement (au moins 1× par an).
|
||||
- **Climato — couverture station des derniers jours très partielle** : dans `latest-2025-2026`, les 1-2 jours les plus récents ont souvent 0-1 station publiée (parfois TN sans TX) → l'agrégat département est nul ou non représentatif. La page dept (`[code].astro`, `_mergedDay`) ne fait confiance à l'agrégat climato d'un jour que si sa couverture ≥ 50 % de la médiane station du dept ; sinon elle bascule sur le SYNOP (garde ≥ 3 obs/jour pour éviter `tx==tn`), puis sur la valeur fine, puis `null`. Le badge anomalie utilise les 7 derniers jours **complets** (finissant J-1, today exclu car partiel). Ne pas réintroduire de lecture directe de `climato.days` brut pour le calcul d'anomalie.
|
||||
- **Normales 1991-2020** : fichier `src/data/normales.json` committé. Régénération via `scripts/build-normales.mjs` quand la décennie de référence Météo France change (~tous les 10 ans, prochain ~2031).
|
||||
- **Cache miss au boot** : si Valkey est down, `cacheOrFetch` log un warning mais re-fetch à chaque requête — pas de fallback persistant. Acceptable pour un service stateless, mais surveiller la latence Opendatasoft.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue