Ensemble API

Hundreds Of Weather Forecasts, Every time, Everywhere, All at Once

Location and Time

Ensemble Models

Hourly Weather Variables

Settings

API Response

Loading...
(Open in new tab or copy this URL into your application).

Note: This API call is equivalent to 4.0 calls because of factors like long time intervals, the number of locations, variables, or models involved.

Data Source

Ensemble models are a type of weather forecasting technique that use multiple members or versions of a model to produce a range of possible outcomes for a given forecast. Each member is initialized with slightly different initial conditions and/or model parameters to account for uncertainties and variations in the atmosphere, resulting in a set of perturbed forecasts.

By combining the perturbed forecasts, the ensemble model generates a probability distribution of possible outcomes, indicating not only the most likely forecast but also the range of possible outcomes and their likelihoods. This probabilistic approach provides more comprehensive and accurate forecast guidance, especially for high-impact weather events where uncertainties are high.

Different national weather services calculate ensemble models, each with varying resolutions of weather variables and forecast time-range. For instance, the German weather service DWD's ICON model provides exceptionally high resolution for Europe but only forecasts up to 7 days. Meanwhile, the GFS model can forecast up to 35 days, albeit at a lower resolution of 50 km. The appropriate ensemble model to use would depend on the forecast horizon and region of interest.

You can find the update timings in the model updates documentation.
National Weather ServiceWeather ModelRegionResolutionMembersForecast LengthUpdate frequency
Deutscher Wetterdienst (DWD)ICON-D2-EPSCentral Europe2 km, hourly202 daysEvery 3 hours
ICON-EU-EPSEurope13 km, hourly405 daysEvery 6 hours
ICON-EPSGlobal26 km, hourly407.5 daysEvery 12 hours
NOAAGFS Ensemble 0.25°Global25 km, 3-hourly3110 daysEvery 6 hours
GFS Ensemble 0.5°Global50 km, 3-hourly3135 daysEvery 6 hours
ECMWFIFS 0.4°Global44 km, 3-hourly5115 daysEvery 6 hours
IFS 0.25°Global25 km, 3-hourly5115 daysEvery 6 hours
Canadian Weather ServiceGEMGlobal25 km, 3-hourly2116 days (32 days every thursday)Every 12 hours
Australian Bureau of Meteorology (BOM)ACCESS-GEGlobal40 km, 3-hourly1810 daysEvery 6 hours
UK Met OfficeMOGREPS-GGlobal20 km, 1-hourly188 daysEvery 6 hours

To ensure ease of use, all data is interpolated to a 1-hourly time-step resolution. As the forecast horizon extends further into the future, some ensemble models may reduce the time resolution to 6-hourly intervals.

API Documentation

The API endpoint /v1/ensemble accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 7 days for each ensemble member. Time always starts at 0:00 today. All URL parameters are listed below:

ParameterFormatRequiredDefaultDescription
latitude, longitudeFloating pointYesGeographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location_id.
modelsString arrayYesSelect one or more ensemble weather models as comma-separated list
elevationFloating pointNoThe elevation used for statistical downscaling. Per default, a 90 meter digital elevation model is used. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated.
hourlyString arrayNoA list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used.
temperature_unitStringNocelsiusIf fahrenheit is set, all temperature values are converted to Fahrenheit.
wind_speed_unitStringNokmhOther wind speed speed units: ms, mph and kn
precipitation_unitStringNommOther precipitation amount units: inch
timeformatStringNoiso8601If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc_offset_seconds again to get the correct date.
timezoneStringNoGMTIf timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the time zone database is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified.
past_daysIntegerNo0If past_days is set, past weather data can be returned.
forecast_daysInteger (0-35)No7Per default, only 7 days are returned. Up to 35 days of forecast are possible.
forecast_hours
forecast_minutely_15
past_hours
past_minutely_15
Integer (>0)NoSimilar to forecast_days, the number of timesteps of hourly and 15-minutely data can controlled. Instead of using the current day as a reference, the current hour or the current 15-minute time-step is used.
start_date
end_date
String (yyyy-mm-dd)NoThe time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30).
start_hour
end_hour
start_minutely_15
end_minutely_15
String (yyyy-mm-ddThh:mm)NoThe time interval to get weather data for hourly or 15 minutely data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00).
cell_selectionStringNolandSet a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with similar elevation to the requested coordinates using a 90-meter digital elevation model. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell.
apikeyStringNoOnly required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See pricing for more information.

Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future!

Hourly Parameter Definition

The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum.

VariableValid timeUnitDescription
temperature_2mInstant°C (°F)Air temperature at 2 meters above ground
relative_humidity_2mInstant%Relative humidity at 2 meters above ground
dew_point_2mInstant°C (°F)Dew point temperature at 2 meters above ground
apparent_temperatureInstant°C (°F)Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation
pressure_msl
surface_pressure
InstanthPaAtmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation.
cloud_coverInstant%Total cloud cover as an area fraction
wind_speed_10m
wind_speed_80m
wind_speed_120m
Instantkm/h (mph, m/s, knots)Wind speed at 10, 80 or 120 meters above ground. Wind speed on 10 meters is the standard level.
wind_direction_10m
wind_direction_80m
wind_direction_120m
Instant°Wind direction at 10, 80 or 120 meters above ground
wind_gusts_10mPreceding hour maxkm/h (mph, m/s, knots)Gusts at 10 meters above ground as a maximum of the preceding hour
shortwave_radiationPreceding hour meanW/m²Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation
direct_radiation
direct_normal_irradiance
Preceding hour meanW/m²Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun). HRRR offers direct radiation directly. In GFS it is approximated based on Razo, Müller Witwer
diffuse_radiationPreceding hour meanW/m²Diffuse solar radiation as average of the preceding hour. HRRR offers diffuse radiation directly. In GFS it is approximated based on Razo, Müller Witwer
global_tilted_irradiancePreceding hour meanW/m²Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west). If azimuth is set to "nan", the calculation assumes a horizontal tracker. If tilt is set to "nan", it is assumed that the panel has a vertical tracker. If both are set to "nan", a bi-axial tracker is assumed.
sunshine_durationPreceding hour sumSecondsNumber of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition.
vapour_pressure_deficitInstantkPaVapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases
evapotranspirationPreceding hour summm (inch)Evapotranspration from land surface and plants that weather models assumes for this location. Available soil water is considered. 1 mm evapotranspiration per hour equals 1 liter of water per spare meter.
et0_fao_evapotranspirationPreceding hour summm (inch)ET₀ Reference Evapotranspiration of a well watered grass field. Based on FAO-56 Penman-Monteith equations ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants.
weather_codeInstantWMO codeWeather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation, snowfall, cape, lifted index and gusts.
precipitationPreceding hour summm (inch)Total precipitation (rain, showers, snow) sum of the preceding hour
snowfallPreceding hour sumcm (inch)Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent
rainPreceding hour summm (inch)Liquid precipitation of the preceding hour in millimeter
weather_codeInstantWMO codeWeather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details.
snow_depthInstantmetersSnow depth on the ground
freezing_level_heightInstantmetersAltitude above sea level of the 0°C level
visibilityInstantmetersViewing distance in meters. Influenced by low clouds, humidity and aerosols.
capeInstantJ/kgConvective available potential energy. See Wikipedia.
surface_temperatureInstant°C (°F)Temperature of the top soil level
soil_temperature_0_to_10cm
soil_temperature_10_to_40cm
soil_temperature_40_to_100cm
soil_temperature_100_to_200cm
Instant°C (°F)Temperature in the soil as an average on 0-10, 10-40, 40-100 and 100-200 cm depths.
soil_moisture_0_to_10cm
soil_moisture_10_to_40cm
soil_moisture_40_to_100cm
soil_moisture_100_to_200cm
Instantm³/m³Average soil water content as volumetric mixing ratio at 0-10, 10-40, 40-100 and 100-200 cm depths.