Repository navigation
Releases: CyrilJl/MeteoFetch
Release list
v0.5.7
v0.5.6
v0.5.5
Dans cette release j'ai intégré le modèle Aifs (https://www.ecmwf.int/en/newsletter/178/news/aifs-new-ecmwf-forecasting-system), qui fonctionne comme les autres modèles : from meteofetch import Aifs.
Pour être cohérent, j'ai renommé l'ancienne classe ECMWF en Ifs.
Enfin, dans les méthodes availability, il y a un argument return_date, qui vaut False par défaut, mais qui lorsqu'il est True renvoie à quelle heure les runs en question ont été mis à disposition.
from meteofetch import Arome0025
Arome0025.availability(return_date=True)
# SP1 SP2 SP3 ... HP1 HP2 HP3
# 2025-08-26 21:00:00 False False False ... False False False
# 2025-08-26 18:00:00 False False False ... False False False
# 2025-08-26 15:00:00 2025-08-26 18:50:58 2025-08-26 18:51:12 2025-08-26 18:51:23 ... 2025-08-26 18:53:14 2025-08-26 18:54:49 2025-08-26 18:54:54
# 2025-08-26 12:00:00 2025-08-26 15:52:35 2025-08-26 15:52:29 2025-08-26 15:52:39 ... 2025-08-26 15:54:28 2025-08-26 15:56:19 2025-08-26 15:56:25
# 2025-08-26 09:00:00 2025-08-26 13:14:54 2025-08-26 13:15:02 2025-08-26 13:15:13 ... 2025-08-26 13:16:58 2025-08-26 13:17:56 2025-08-26 13:18:00
# 2025-08-26 06:00:00 2025-08-26 11:03:41 2025-08-26 11:03:51 2025-08-26 11:04:03 ... 2025-08-26 11:05:50 2025-08-26 11:07:11 2025-08-26 11:07:18
# 2025-08-26 03:00:00 2025-08-26 05:44:28 2025-08-26 05:44:39 2025-08-26 05:44:50 ... 2025-08-26 05:46:44 2025-08-26 05:47:41 2025-08-26 05:39:15
# 2025-08-26 00:00:00 2025-08-26 02:47:21 2025-08-26 02:47:31 2025-08-26 02:47:41 ... 2025-08-26 02:49:17 2025-08-26 02:49:24 2025-08-26 02:49:28
# [8 rows x 11 columns]v0.5.4
- méthode
availabilitypour avoir une meilleure idée de la disponibilité des derniers runs :
from meteofetch import Arome001
Arome001.availability()
# SP1 SP2 SP3 HP1
# 2025-05-13 15:00:00 False False False False
# 2025-05-13 12:00:00 False False False False
# 2025-05-13 09:00:00 False False False False
# 2025-05-13 06:00:00 True True True True
# 2025-05-13 03:00:00 True True True True
# 2025-05-13 00:00:00 True True True True
# 2025-05-12 21:00:00 True True True True
# 2025-05-12 18:00:00 True True True Truev0.5.3
v0.5
-
L'utilisateur a la possibilité de télécharger les fichiers grib dans le dossier de son choix, sans forcément les ouvrir avec xarray : utile pour des besoins opérationnels
-
Pour les domaines OutreMer, debug : pas de groupe 000H pour les paquets HP3 et IP4
-
Les utilisateurs de windows ne peuvent pas lire les fichiers grib IP1 d'Arpege025 (mais quand même les télécharger) : les fichiers sont trop volumineux et eccodes présente un bug spécifique à windows dans ce cas là (un pointeur devient négatif). Je vais implémenter une solution qui utilisera :
grib_copy big_file.grib 'split_[shortName].grib'
v0.4.1
- Introduction de la classe Ecmwf pour aller récupérer des forecasts Ecmwf (pas encore de choix de produits pour l'instant, je suis parti sur ifs oper) : https://www.ecmwf.int/en/forecasts/datasets/open-data
- Parallélisation des téléchargements
- Amélioration de la RAM consommée
- Introduction d'un switch pour utiliser le grib defs (par défaut) d'eccodes ou bien le grib defs de MétéoFrance (le grib defs d'eccodes est parfait pour les produits ECMWF, tandis que pour les produits MétéoFrance aucun des deux ne recouvre complètement les variables fournies et leurs caractéristiques comme long_name ou unités ; MF m'a indique qu'un grib defs complet sera fourni dans un délai incertain)
- Introduction d'une doc sphinx, déployée dans un futur proche
v0.2.5
MeteoFetch 0.2.5
Les xarray.DataArray sont CF-compliant. Vous pouvez les enregistrer au format netcdf par exemple, et les ouvrir sous QGIS, Panoply... qui reconnaîtront leurs CRS. L'option zlib est également activée par défaut (compression sans pertes).
v0.2.3
- Meilleure gestion des fichiers temporaires créés lors des téléchargement des fichiers grib2
- Ajout des cinq domaines Arome Outre-Mer
- Factorisation des processing avant concaténation des échéances (certains produits arrivent pas de temps par pas de temps, d'autres par groupes de pas de temps) -> création de deux classes parentes qui gèrent cela