Skip to main content

Package python pour récupérer les données modélisées de prévision de MétéoFrance et de l'ECMWF

Project description

MeteoFetch est un client python qui permet de récupérer sans clé d'API les dernières prévisions de :

L'utilisateur peut choisir de :

  • télécharger les fichiers grib correspondant dans le dossier de son choix
  • charger les données de son choix dans un dictionnaire de xr.DataArray prêts pour l'analyse (les fichiers grib sont téléchargés dans un dossier temporaire et supprimés après chargement des données souhaitées). Les xr.DataArrays respectent le standard CF (Climate and Forecast)

Pour connaître les champs téléchargeables pour chaque modèle, des nomenclatures sont disponibles à https://meteofetch.readthedocs.io.

Installation

Le package est disponible sur Pypi :

pip install meteofetch

Le package est également disponible sur conda-forge :

conda install -c conda-forge meteofetch

Ou :

mamba install meteofetch

Utilisation rapide

from meteofetch import Arome0025

datasets = Arome0025.get_latest_forecast(paquet='SP3')
datasets['ssr']

Disponibilité

Il est possible de vérifier la disponibilité des derniers runs de prévision pour un modèle donné.

from meteofetch import Arome0025

Arome0025.availability()
SP1 SP2 SP3 IP1 IP2 IP3 IP4 IP5 HP1 HP2 HP3
2024-05-21 18:00:00 True True True True True True True True True True True
2024-05-21 15:00:00 True True True True True True True True True True True
2024-05-21 12:00:00 True True True True True True True True True True True
2024-05-21 09:00:00 True True True True True True True True True True True
2024-05-21 06:00:00 True True True True True True True True True True True
2024-05-21 03:00:00 True True True True True True True True True True True
2024-05-21 00:00:00 True True True True True True True True True True True
2024-05-20 21:00:00 True True True True True True True True True True True

Ou de récupérer la date du dernier run de prévision disponible pour un paquet donné.

from meteofetch import Arome0025

Arome0025.get_latest_forecast_time(paquet="SP1")
Timestamp('2024-05-21 18:00:00+0000', tz='UTC')

Par défaut, meteofetch sert à l'utilisateur toutes les variables contenues dans le paquet requêté. Il est cependant conseillée de préciser les variables voulues pour limiter l'usage mémoire :

from meteofetch import Arome001

datasets = Arome001.get_latest_forecast(paquet='SP1', variables=('u10', 'v10'))
datasets['u10']

datasets = Arome001.get_latest_forecast(paquet='SP2', variables='sp')
datasets['sp']

Vous pouvez ensuite utiliser les méthodes usuelles proposées par xarray pour traiter les DataArray :

import xarray as xr
import matplotlib.pyplot as plt
from meteofetch import Arpege01

dim = "points"
coords = ["Paris", "Edimbourg"]
x = xr.DataArray([2.33, -3.18], dims=dim)
y = xr.DataArray([48.9, 55.95], dims=dim)

datasets = Arpege01.get_latest_forecast(paquet="SP1", variables="t2m")

plt.figure(figsize=(8, 3))
datasets["t2m"].sel(lon=x, lat=y, method="nearest").assign_coords(
    {dim: coords}
).plot.line(x="time")

output_code_1

Ou encore :

from meteofetch import Arome001

datasets = Arome001.get_latest_forecast(paquet='SP3', variables='h')

datasets['h'].plot(cmap='Spectral_r', vmin=0, vmax=3000)

output_code_2

Les domaines Outre-Mer sont également disponibles :

from meteofetch import (
    AromeOutreMerAntilles,
    AromeOutreMerGuyane,
    AromeOutreMerIndien,
    AromeOutreMerNouvelleCaledonie,
    AromeOutreMerPolynesie,
)

datasets = AromeOutreMerIndien.get_latest_forecast(paquet="SP1")
datasets["t2m"].mean(dim="time").plot(cmap="Spectral_r")

output_code_3

Vous pouvez également combiner meteofetch avec mapflow, ma librairie de visualisation de cartes :

from mapflow import animate
from meteofetch import Arome0025

datasets = Arome0025.get_latest_forecast(paquet="SP1")
animate(da=datasets['t2m'], path="run_t2m.mp4")

https://github.com/user-attachments/assets/ad9667f8-f5e6-4e2e-9b7c-cf5770945c42

meteofetch permet également de charger les fichiers gribs de la prévision souhaitée à l'endroit où le souhaite l'utilisateur.

from meteofetch import Ifs

path = 'your/folder/'
Ifs.get_latest_forecast(path=path, return_data=False)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meteofetch-0.5.6.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meteofetch-0.5.6-py3-none-any.whl (40.1 kB view details)

Uploaded Python 3

File details

Details for the file meteofetch-0.5.6.tar.gz.

File metadata

  • Download URL: meteofetch-0.5.6.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for meteofetch-0.5.6.tar.gz
Algorithm Hash digest
SHA256 a50cb8670bf383a5e3478a55cab8313fed49bf69d5e3805437ef4e45c87926ca
MD5 7c41845c4897145b9dc0fc40c6d5e982
BLAKE2b-256 550c5d7e702d0114fd6e4edbf0149da386c9c019120da74e1dabfecf0080abda

See more details on using hashes here.

File details

Details for the file meteofetch-0.5.6-py3-none-any.whl.

File metadata

  • Download URL: meteofetch-0.5.6-py3-none-any.whl
  • Upload date:
  • Size: 40.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for meteofetch-0.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7200a67898ec5858bef1f6b2a4f8ee2f98ba124dc8f9d0d6676c48c5e1112a60
MD5 900971bc3d4c51fd6e5bb9efbc00776b
BLAKE2b-256 34379dfcb34ee8d5805dfb90e6941cde128015102118edd4052266b30f8c0685

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page