Get a MetaMesh point forecast for each coordinate or station, with optional conditions, observations, and
historical ERA5 averages (normals). include_climatology adds normals at every hour from the
first to last forecast time; include_climatology_summary adds daily normals for the local dates
covered by the forecast.
Either option works on its own.
| Name | Type | Description |
|---|---|---|
| coordinates Conditional | string (lat,lon;...) | Latitude,longitude pairs separated by semicolons, for example 37,-121;40.3,-100. Results preserve the input order. Use this, stations, or both. Range: latitude −90° to 90°, longitude −180° to 180° |
| stations Conditional | string | Comma- or semicolon-separated ICAO station identifiers. Results for coordinates come first. See Available Stations for supported IDs. |
| include_conditions Optional | boolean | Add hourly, daily, and day/night summaries in conditions. Default: false |
| include_observations Optional | boolean | Add recent routine ASOS reports in observations. Coordinates use the nearest ASOS station. Default: false |
| include_distribution Optional | boolean | Add p10/p90 ranges for supported scalar fields, precipitation probabilities, and precipitation-type probabilities to each forecast point. Default: false |
| include_climatology Optional | boolean | Add hourly ERA5 normals from the first through last returned forecast time in climatologies. This can include hours between forecast points. Default: false |
| include_climatology_summary Optional | boolean | Add one ERA5 daily normal per local date covered by each forecast in climatology_summaries. Default: false |
| initialization_time Optional | string (ISO 8601) | Select an exact MetaMesh run for station forecasts. Default: latest initialization time |
| min_forecast_hour Optional | integer | Earliest forecast hour to include in the response, counted from forecast zero. Range: 0–360; Unit: hours; Default: 0 |
| max_forecast_hour Optional | integer | Latest forecast hour to include in the response, counted from forecast zero. Range: 0–360; Unit: hours; Default: 360 |
| min_forecast_time Optional | string (ISO 8601) | Earliest valid time to include in the response. |
| max_forecast_time Optional | string (ISO 8601) | Latest valid time to include in the response. |
| observation_hours Optional | integer | Number of hours before the current time to return. Used only when include_observations is true. Range: 1–168; Unit: hours; Default: 48 |
| climatology_normal Optional | string | Normal period to use. Used when include_climatology or include_climatology_summary is true. Allowed: 1991-2020, 2011-2020, 2016-2025; Default: 1991-2020 |
Requests with include_conditions or include_observations set to true accept at most 10
total locations.
Location arrays preserve input order, with coordinates before stations. Unknown or unavailable stations keep their position with an empty array or null condition.
| Name | Type | Description |
|---|---|---|
| initialization_time | string (ISO 8601) | MetaMesh initialization time. |
| forecast_zero | string (ISO 8601) | Valid time of forecast hour 0. |
| forecast_start_time | string (ISO 8601) | null | Valid time of the first returned forecast point. Null when no forecast points are returned. |
| forecasts | object[][] | One MetaMesh series per location. See Point Forecast. |
| conditions | object[] | One summary set per location, including sky_state_icon_url and sky_state_condition in every block whenever include_conditions=true. See Conditions. Present when: include_conditions=true |
| observations | object[][] | One chronological ASOS series per location. See ASOS Observations. Present when: include_observations=true |
| climatology_normal | string | The normal period used. Present when: include_climatology or include_climatology_summary is true |
| climatologies | object[][] | One hourly normal series per forecast location, covering every hour from its first through last forecast time. Empty forecasts produce empty arrays. See Climatology. Present when: include_climatology=true |
| climatology_summaries | object[][] | One daily series per location, from its first through last forecast date. Dates use the location's fixed standard UTC offset, so a UTC forecast time may belong to the previous local date. Empty forecasts produce empty arrays. See Climatology Summary. Present when: include_climatology_summary=true |
| units | object | Units for numeric weather fields. Always present. |