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.5.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.5-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for meteofetch-0.5.5.tar.gz
Algorithm Hash digest
SHA256 04b2c84b320ede97d8f7eedbfd75f9801984274a32c982bd8a8834a1072cd15a
MD5 0030885a4f734e8d9e2f0074d5eb65f1
BLAKE2b-256 be4936a8f708484171ddf6f6567718ad686abf83fe58c6cb4e0975e237a6b231

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for meteofetch-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a39b7ae20b19703ab165754f3ff0b85074097bfb6dacd08c3ee2795f542cfd13
MD5 53ba9a5279f0393276d1b54cb3888784
BLAKE2b-256 cff0d63b2c3a9b02aa6159f0728ee011db404a5ba14bd1473775e3d993ea826e

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