Repository navigation
feat(weather-ai): couches précipitation et vent à 10 m - #152
Merged
Merged
Conversation
…her AI weather-ai#318 publie `precipitation` (cumul 6 h, mm) et `wind_u/v_component_10m` (m/s) dans `weather_ai_wnc_mini`. Le sélecteur suit déjà `variables` ; ce changement complète l'intégration : - WEATHER_AI_FIELDS porte libellé + variables .om ; l'onglet Cyclones IA n'annonce que les champs listés par le latest.json public (anciens runs à reçu /1 : t2m seule), champs de base si le bucket ne répond pas. - Précipitation libellée « taux moyen sur les 6 h précédentes » dans la bande de contexte (le package divise le cumul par delta_time_hours=6). - Changement de run : matchVariableOrFirst() recale une variable absente du run choisi (précipitation/vent sur un ancien run) au lieu d'une lecture en erreur. - Fixture : run 06Z avec précipitation et vent u/v aux facteurs du producteur ; tests de lecture (mm/h, vitesse/direction), repli des flèches, recalage de variable, annonce des champs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
infoclimat-numeric | 92c2a7a | Commit Preview URL Branch Preview URL |
Oct 24 2026, 03:59 PM |
…le meta.json du run, champs relus Retours de la revue Codex de #152 : - Première échéance d'un run progressif (in-progress.json à +6 h seul) : timeStepHoursAt() renvoie undefined, l'URL n'avait pas de delta_time_hours et la précipitation restait vide. fallbackTimeStepHours() fournit le pas fixe de 6 h du domaine Weather AI. - Changement de run : tant que metaJson décrit un autre run que modelRun (meta.json en cours de lecture), getOMUrlFor() ne bâtit aucune URL. Choisir le vent ou la précipitation dans cet intervalle ne charge plus une variable absente du run choisi ; la fin de la lecture recharge les couches. - Onglet Cyclones IA : la liste des champs suit latest.json au rythme du rafraîchissement des métadonnées (watchWeatherAiVariables), au lieu d'une lecture unique au montage. Tests : précipitation à une seule échéance, URL refusée sur métadonnées d'un autre run, suivi périodique de variables (fixture url-builder alignée sur son run). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…si échoue, garde limitée à Weather AI Retour P2 de la re-revue Codex de #152 : si le meta.json d'un run choisi répondait 404 ou échouait, onModelRunChange relançait l'erreur sans restaurer modelRun, metaJson restait celui du run précédent, et la garde run/meta.json de getOMUrlFor refusait toute URL (tous modèles) jusqu'au choix d'un autre run. - loadModelRun() (metadata.ts) : sélectionne le run, lit ses métadonnées ; sur échec, restaure run et metaJson précédents puis relève l'erreur. Une StaleMetadataError ne restaure rien. - time-selector.svelte : l'utilise, rétablit le verrou et le chargement, affiche un toast « Run indisponible ». - getOMUrlFor : la garde ne s'applique qu'au domaine Weather AI, seul à publier des variables différentes d'un run à l'autre. Tests : 404, succès et sélection changée pour loadModelRun ; URL bâtie hors Weather AI malgré un meta.json d'un autre run (échouent sur 9f0a5b5). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ure, retour au dernier couple chargé Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…te écriture d'état, loading compris Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…itial non écrit si périmé Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…) avant chaque écriture de loadModelRun Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexte
weather-ai#318 publie dans
weather_ai_wnc_minideux nouvelles couches :precipitation(cumul en mm sur les 6 h qui précèdent l'échéance, facteur OM 10) etwind_u_component_10m/wind_v_component_10m(m/s, facteur 100). Source :docs/agents/lac/couches-carto.mdde weather-ai, section « Couches maps vent à 10 m et précipitation 6 h ».Le sélecteur de variables suivait déjà
variablesdelatest.json/meta.json. Les palettes (precipitationen mm/h, vent en m/s) et le rendu du vent (vitesse, direction, flèches) viennent du package, sans échelle à ajouter.delta_time_hours=6est bien posé, y compris à +6 h.Changements
WEATHER_AI_FIELDSporte maintenant le libellé et les variables.omde chaque champ. L'onglet Cyclones IA n'annonce que les champs listés par lelatest.jsonpublic (fetchWeatherAiVariables+weatherAiFieldLabels). Si le bucket ne répond pas, il annonce les trois champs de base, sans erreur.weatherAiVariableNote)./1, t2m seule) : au changement de run,time-selector.svelteappelle maintenantmatchVariableOrFirst(). Si la précipitation ou le vent est affiché et que le run choisi ne le publie pas, la carte bascule surpressure_mslau lieu de lancer une lecture en erreur. Les flèches de repli n'étaient déjà demandées que siwind_u_component_10mest publié.precipitationet le vent u/v aux réglages du producteur. Le run 00Z reste un ancien run sans ces couches..claude/rules/architecture.md,components.md, README) est mise à jour.Vérifications
npx vitest run src/lib/tests/weather-ai-domain.test.ts: 41/41. Les nouveaux tests couvrent la lecture de la pluie (12 mm/6 h → 2 mm/h), la vitesse et la direction du vent (5 m/s, ≈ 323°), les flèches de repli selon le run, le recalage de variable, la liste des champs annoncés et le libellé.weather-ai-attribution,metadata-race,domain-load,model-selector-groups.npm run check: 0 erreur. eslint et prettier : OK.s3-talos.cmer.fr/wai-om-public, run 24/10 00Z à 3 variables) :variable=precipitationretombe surpressure_msl..om. Les seules erreurs viennent du relieftiles.mapterhorn.com, injoignable depuis le poste de test et sans rapport avec ce changement.Reste à vérifier quand un run à trois couches sera publié
🤖 Generated with Claude Code