Download Meteorological Data from OPEN-METEO API (https://open-meteo.com/en)
Open-Meteo collaborates with National Weather Services providing Open Data with 11 to 2 km resolution. Our high performance APIs select the best weather model for your location and provide data as a simple JSON API.
APIs are free without any API key for open-source developers and non-commercial use. You can embed them directly into your app.
openmeteopy is a client Python wrapper library for Open-Meteo web API. It allows quick and easy consumption of OM data from Python applications via a simple object model and in a human-friendly fashion.
openmeteopy runs on Python 3.6+.
print(mgr.get_data())
pip install openmeteo-py==0.0.1git clone https://github.com/m0rp43us/openmeteopy
cd openmeteopy-main/
pip3 install .###Parameters
Options :
| Parameter | Format | Required | Default |
|---|---|---|---|
| latitude, longitude | Floating point | Yes | |
| current_weather | Bool | No | false |
| temperature_unit | String | No | celsius |
| windspeed_unit | String | No | kmh |
| precipitation_unit | String | No | kmh |
| timeformat | String | No | iso8601 |
| timezone | String | No | UTC |
| past_days | Integer (0-2) | No | 0 |
Hourly Parameter Definition :
| Variable | Valid time | Unit |
|---|---|---|
| temperature_2m | Instant | °C (°F) |
| relativehumidity_2m | Instant | % |
| dewpoint_2m | Instant | °C (°F) |
| apparent_temperature | Instant | °C (°F) |
| pressure_msl | Instant | hPa |
| cloudcover | Instant | % |
| cloudcover_low | Instant | % |
| cloudcover_mid | Instant | % |
| cloudcover_high | Instant | % |
| windspeed_10m | Instant | km/h (mph, m/s, knots) |
| windspeed_80m | Instant | km/h (mph, m/s, knots) |
| windspeed_120m | Instant | km/h (mph, m/s, knots) |
| windspeed_180m | Instant | km/h (mph, m/s, knots) |
| winddirection_10m | Instant | ° |
| winddirection_80m | Instant | ° |
| winddirection_120m | Instant | ° |
| winddirection_180m | Instant | ° |
| windgusts_10m | Preceding hour max | km/h (mph, m/s) |
| shortwave_radiation | Preceding hour mean W/m² | |
| direct_radiation | Preceding hour mean | W/m² |
| diffuse_radiation | Preceding hour mean | W/mv² |
| vapor_pressure_deficit | Instant | kPa |
| evapotranspiration | Preceding hour sum | mm (inch) |
| precipitation | Preceding hour sum | mm (inch) |
| weathercode | Instant | WMO code |
| snow_height | Instant | meters |
| freezinglevel_height | Instant | meters |
| soil_temperature_0cm | Instant | °C (°F) |
| soil_temperature_6cm | Instant | °C (°F) |
| soil_temperature_18cm | Instant | °C (°F) |
| soil_temperature_54cm | Instant | °C (°F) |
| soil_moisture_0_1cm | Instant | m³/m³ |
| soil_moisture_1_3cm | Instant | m³/m³ |
| soil_moisture_3_9cm | Instant | m³/m³ |
| soil_moisture_9_27cm | Instant | m³/m³ |
| soil_moisture_27_81cm | Instant | m³/m³ |
| all | - | - |
Daily Parameter Definition
| Variable | Unit |
|---|---|
| temperature_2m_max | °C (°F) |
| temperature_2m_min | °C (°F) |
| apparent_temperature_max | °C (°F) |
| apparent_temperature_min | °C (°F) |
| precipitation_sum | mm |
| precipitation_hours | hours |
| weathercode | WMO code |
| sunrise | iso8601 |
| sunset | iso8601 |
| windspeed_10m_max | km/h (mph, m/s, knots) |
| windgusts_10m_max | km/h (mph, m/s, knots) |
| winddirection_10m_dominant | ° |
| shortwave_radiation_sum | MJ/m² |
| all | - |
WMO Weather interpretation codes (WW)
| code | Description |
|---|---|
| 0 | Clear sky |
| 1, 2, 3 | Mainly clear, partly cloudy, and overcast |
| 45, 48 | Fog and depositing rime fog |
| 51, 53, 55 | Drizzle: Light, moderate, and dense intensity |
| 56, 57 | Freezing Drizzle: Light and dense intensity |
| 61, 63, 65 | Rain: Slight, moderate and heavy intensity |
| 66, 67 | Freezing Rain: Light and heavy intensity |
| 71, 73, 75 | Snow fall: Slight, moderate, and heavy intensity |
| 77 | Snow grains |
| 80, 81, 82 | Rain showers: Slight, moderate, and violent |
| 85, 86 | Snow showers slight and heavy |
| 95 * | Thunderstorm: Slight or moderate |
| 96, 99 * | Thunderstorm with slight and heavy hail |
Download Meteorological data
from openmeteo_py import Hourly,Daily,Options,OWmanager
# Latitude, Longitude for Rabat,Morocco
latitude = 33.9842
longitude = -6.8675
hourly = Hourly()
daily = Daily()
options = Options(latitude,longitude)
mgr = OWmanager(options,
hourly.all(),
daily.all())
# Download data
meteo = mgr.get_data()
print(meteo)