Easy access to Météo-France weather models and data
Documentation: https://maif.github.io/meteole/home/
Repository: https://github.com/MAIF/meteole
Meteole is a Python library designed to simplify accessing weather data from the Météo-France APIs. It provides:
- Automated token management: Simplify authentication with a single
application_id
. - Unified model usage: AROME and ARPEGE forecasts with a consistent interface.
- User-friendly parameter handling: Intuitive management of key weather forecasting parameters.
- Seamless data integration: Directly export forecasts as Pandas DataFrames
- Vigilance bulletins: Retrieve real-time weather warnings across France.
Perfect for data scientists, meteorologists, and developers, Meteole helps integrate weather forecasts into projects effortlessly.
pip install meteole
Create an account on the Météo-France API portal. Next, subscribe to the desired APIs (Arome, Arpege, etc.). Retrieve the API token (or key) by going to “Mes APIs” and then “Générer token”.
Meteole allows you to retrieve forecasts for a wide range of weather indicators. Here's how to get started with AROME and ARPEGE:
Characteristics | AROME | ARPEGE |
---|---|---|
Resolution | 1.3 km | 10 km |
Update Frequency | Every 3 hours | Every 6 hours |
Forecast Range | Up to 51 hours | Up to 114 hours |
from meteole import AromeForecast
# Initialize the AROME forecast client
# Find your APPLICATION_ID by following these guidelines: https://maif.github.io/meteole/how_to/?h=application_id#get-a-token-an-api-key-or-an-application-id
arome_client = AromeForecast(application_id=APPLICATION_ID)
# Check indicators available
print(arome_client.INDICATORS)
# Fetch weather data
df_arome = arome_client.get_coverage(
indicator="V_COMPONENT_OF_WIND_GUST__SPECIFIC_HEIGHT_LEVEL_ABOVE_GROUND", # Optional: if not, you have to fill coverage_id
run="2025-01-10T00:00:00Z", # Optional: forecast start time
interval=None, # Optional: time range for predictions
forecast_horizons=[0, 1, 2], # Optional: prediction times (in hours)
heights=[10], # Optional: height above ground level
pressures=None, # Optional: pressure level
coverage_id=None # Optional: an alternative to indicator/run/interval
)
Note: The coverage_id can be used instead of indicator, run, and interval.
The usage of ARPEGE is identical to AROME, except that you initialize the ArpegeForecast
class
Use the get_capabilities()
method to list all available indicators, run times, and intervals:
indicators = arome_client.get_capabilities()
print(indicators)
Understand the required parameters (forecast_horizons
, heights
, pressures
) for any indicator using get_description()
:
description = arome_client.get_description(coverage_id)
print(description)
The geographical coverage of forecasts can be customized using the lat and long parameters in the get_coverage method. By default, Meteole retrieves data for the entire metropolitan France.
The get_combined_coverage
method allows you to retrieve weather data for multiple indicators at the same time, streamlining the process of gathering forecasts for different parameters (e.g., temperature, wind speed, etc.). For detailed guidance on using this feature, refer to this tutorial.
Explore detailed examples in the tutorials folder to quickly get started with Meteole.
Meteo France provides nationwide vigilance bulletins, highlighting potential weather risks. These tools allow you to integrate weather warnings into your workflows, helping trigger targeted actions or models.
from meteole import Vigilance
vigi = Vigilance(application_id=APPLICATION_ID)
df_phenomenon, df_timelaps = vigi.get_phenomenon()
bulletin = vigi.get_bulletin()
vigi.get_vignette()
To have more documentation from Meteo-France in Vigilance Bulletin :
Contributions are very welcome!
If you see an issue that you'd like to see fixed, the best way to make it happen is to help out by submitting a pull request implementing it.
Refer to the CONTRIBUTING.md file for more details about the workflow, and general hints on how to prepare your pull request. You can also ask for clarifications or guidance in GitHub issues directly.
This project is Open Source and available under the Apache 2 License.
The development of Meteole was inspired by the excellent work in the meteofranceapi repository by Antoine Tavant.