Look up the average weather for each hour at one or more locations. By default, each value is the mean of ERA5 data for that calendar day and UTC hour across a historical period, called a normal (for example, 1991–2020). Use it as a baseline for time-specific questions, such as whether a morning is warmer than usual.
An average for each hour does not describe a typical day's high or low. For those daily statistics, including precipitation totals and maximum wind speed, use Climatology Summary.
Request one hour or an inclusive hourly range. The requested year labels the result; the lookup uses its month, day, and UTC hour.
| Name | Type | Description | Format |
|---|---|---|---|
| time Conditional | string | Retrieve one hour. Use this alone, or provide both range parameters instead. Must be hour-aligned. | ISO 8601 |
| start_time Conditional | string | First hour in an inclusive range. Requires end_time and cannot be combined with time . | ISO 8601 |
| end_time Conditional | string | Last hour in an inclusive range. Returns up to 8,784 hourly timestamps. | ISO 8601 |
| coordinates Required | string | Semicolon-separated latitude,longitude pairs. Output preserves accepted input order. | lat,lon;lat,lon;... |
| normal Optional | string |
Normal period to use: 1991-2020 , 2011-2020 , or 2016-2025 .
Defaults to 1991-2020. | year range |
| rolling_average_days Optional | integer |
Takes a mean of the requested date + this many days on either side for a smoother climatology. For
example, if rolling_average_days is set to 3 and the requested date is August 15th,
this will be the average of the requested time of day from August 12th through 18th.
Defaults to 0. Range: 0–182. | days |
| elevation_correction Optional | boolean | Elevation-correct temperature and dewpoint. Defaults to false. | true or false |
| water_strategy Optional | string | Set to allow to use water grid cells. By default, interpolation prefers land cells at land locations. | allow |
Each inner climatologies array maps to one accepted coordinate and contains its requested hours in chronological order. Missing measurements are null.
| Name | Type | Description | Format |
|---|---|---|---|
| normal | string | The normal period used. | year range |
| time | string or omitted | The requested hour. Present for single-time requests. | ISO 8601 |
| start_time | string or omitted | The first returned hour. Present for range requests. | ISO 8601 |
| end_time | string or omitted | The last returned hour. Present for range requests. | ISO 8601 |
| rolling_average_days | integer | Days averaged on each side of a requested date. | days |
| climatologies | array | One hourly series per accepted coordinate, in request order. | - |
| time | string | The requested timestamp for the climatology point. | ISO 8601 |
| latitude | number | The requested latitude. | degrees |
| longitude | number | The requested longitude. | degrees |
| temperature_2m | number or null | Climatological air temperature at 2 meters. | °C |
| dewpoint_2m | number or null | Climatological dewpoint temperature at 2 meters. | °C |
| precipitation | number or null | Average precipitation total for the preceding hour. For rain from 09:00 to 10:00 UTC, request 10:00 UTC. | mm |
| pressure_msl | null | Reserved mean sea-level pressure field. The current climatology dataset does not provide this value. | hPa |
| wind_u_10m | number or null | Eastward wind component at 10 meters. | m/s |
| wind_v_10m | number or null | Northward wind component at 10 meters. | m/s |
| wind_speed_10m | number or null | Wind speed at 10 meters. | m/s |
| wind_u_100m | number or null | Eastward wind component at 100 meters. | m/s |
| wind_v_100m | number or null | Northward wind component at 100 meters. | m/s |
| wind_speed_100m | number or null | Wind speed at 100 meters. | m/s |