{"message":"GRIB Server API avec Cache complet (NOMADS + ECMWF)","version":"2.3.0","cache_system":"Préchargement complet de tous les modèles avec extraction dynamique","fallback":"Si cache absent, téléchargement just-in-time","refresh":"Automatique toutes les 6h (00:30, 06:30, 12:30, 18:30 UTC)","endpoints":{"/grib":"Télécharger des données GRIB depuis le cache (rapide)","/models":"Liste des modèles disponibles","/cache/status":"État du cache","/refresh":"Forcer le rafraîchissement du cache (tous modèles)","/refresh/{model}":"Rafraîchir un modèle spécifique"},"models":["gfs_0p25","gfs_0p50","gfs_wave","rap","ecmwf","icon_eu","icon_d2","icon_global","arpege","arome","cmems_currents","ibi_currents"],"variables_cached":{"NOMADS (GFS/NAM/RAP)":["UGRD, VGRD @ 10m","TMP @ 2m","GUST, APCP, CAPE @ surface","TCDC @ entire atmosphere"],"GFS-Wave":["HTSGW (wave height) @ surface","DIRPW (wave direction) @ surface","PERPW (wave period) @ surface"],"ECMWF":["UGRD, VGRD, GUST @ 10m","TMP @ 2m","PRMSL (surface)","APCP, TCDC, CAPE (mucape)"],"ICON-EU (DWD)":["UGRD, VGRD @ 10m","TMP @ 2m","PRMSL (surface)","APCP (total precipitation)"],"ARPEGE (Météo-France)":["UGRD, VGRD, GUST @ 10m","TMP @ 2m","PRMSL (surface)","TCDC, PRATE, CAPE"],"CMEMS (Ocean Currents)":["UOGRD (eastward current) @ surface","VOGRD (northward current) @ surface"]},"extraction":"Sous-ensembles extraits avec wgrib2 depuis cache local","note":"ECMWF est maintenant caché pour des performances optimales (<100ms vs 7-10s)"}