Yr · Schema

MET Norway Forecast Response Schema

Schema for the GeoJSON-based forecast timeseries returned by the MET Norway locationforecast and nowcast APIs.

WeatherForecastsMeteorologyClimateNorwayNordicOpen DataAviation WeatherMarine WeatherAlerts

Properties

Name Type Description
type string GeoJSON feature type identifier
geometry object
properties object
View JSON Schema on GitHub

JSON Schema

yr-no-forecast-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api.met.no/weatherapi/schemas/forecast",
  "title": "MET Norway Forecast Response Schema",
  "description": "Schema for the GeoJSON-based forecast timeseries returned by the MET Norway locationforecast and nowcast APIs.",
  "type": "object",
  "required": ["type", "geometry", "properties"],
  "properties": {
    "type": {
      "type": "string",
      "const": "Feature",
      "description": "GeoJSON feature type identifier"
    },
    "geometry": {
      "$ref": "#/definitions/PointGeometry"
    },
    "properties": {
      "$ref": "#/definitions/Forecast"
    }
  },
  "definitions": {
    "PointGeometry": {
      "title": "GeoJSON Point Geometry",
      "type": "object",
      "required": ["type", "coordinates"],
      "properties": {
        "type": {
          "type": "string",
          "const": "Point"
        },
        "coordinates": {
          "type": "array",
          "description": "[longitude, latitude] or [longitude, latitude, altitude]",
          "minItems": 2,
          "maxItems": 3,
          "items": {
            "type": "number"
          },
          "examples": [
            [9.58, 60.10],
            [9.58, 60.10, 200]
          ]
        }
      }
    },
    "Forecast": {
      "title": "Forecast Timeseries Container",
      "type": "object",
      "required": ["meta", "timeseries"],
      "properties": {
        "meta": {
          "type": "object",
          "required": ["updated_at", "units"],
          "properties": {
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "description": "ISO 8601 timestamp of the last forecast update",
              "examples": ["2024-01-15T06:00:00Z"]
            },
            "units": {
              "$ref": "#/definitions/ForecastUnits"
            },
            "radar_coverage": {
              "$ref": "#/definitions/RadarCoverage"
            }
          }
        },
        "timeseries": {
          "type": "array",
          "description": "Ordered array of forecast time steps",
          "items": {
            "$ref": "#/definitions/ForecastTimeStep"
          }
        }
      }
    },
    "ForecastTimeStep": {
      "title": "Forecast Time Step",
      "type": "object",
      "required": ["time", "data"],
      "properties": {
        "time": {
          "type": "string",
          "format": "date-time",
          "description": "ISO 8601 timestamp for which this forecast step is valid",
          "examples": ["2024-01-15T07:00:00Z"]
        },
        "data": {
          "type": "object",
          "description": "Forecast values for this time step",
          "properties": {
            "instant": {
              "type": "object",
              "description": "Parameters valid at this exact instant",
              "properties": {
                "details": {
                  "$ref": "#/definitions/ForecastData"
                }
              }
            },
            "next_1_hours": {
              "$ref": "#/definitions/ForecastPeriod"
            },
            "next_6_hours": {
              "$ref": "#/definitions/ForecastPeriod"
            },
            "next_12_hours": {
              "$ref": "#/definitions/ForecastPeriod"
            }
          }
        }
      }
    },
    "ForecastPeriod": {
      "type": "object",
      "description": "Aggregate forecast values and summary for a time period",
      "properties": {
        "summary": {
          "$ref": "#/definitions/ForecastSummary"
        },
        "details": {
          "$ref": "#/definitions/ForecastData"
        }
      }
    },
    "ForecastSummary": {
      "type": "object",
      "required": ["symbol_code"],
      "description": "Summary of weather conditions for a forecast period",
      "properties": {
        "symbol_code": {
          "$ref": "#/definitions/WeatherSymbol"
        },
        "symbol_confidence": {
          "$ref": "#/definitions/SymbolConfidence"
        }
      }
    },
    "ForecastData": {
      "type": "object",
      "description": "Map of weather parameter names to their numeric values",
      "additionalProperties": {
        "type": "number"
      },
      "examples": [
        {
          "air_temperature": 2.5,
          "wind_speed": 4.2,
          "wind_from_direction": 180.0,
          "relative_humidity": 85.0,
          "cloud_area_fraction": 60.0,
          "precipitation_amount": 0.2,
          "ultraviolet_index_clear_sky": 0.5
        }
      ]
    },
    "ForecastUnits": {
      "type": "object",
      "description": "Map of parameter names to their unit strings",
      "additionalProperties": {
        "type": "string"
      },
      "examples": [
        {
          "air_temperature": "celsius",
          "wind_speed": "m/s",
          "wind_from_direction": "degrees",
          "precipitation_amount": "mm",
          "relative_humidity": "%",
          "cloud_area_fraction": "%",
          "ultraviolet_index_clear_sky": "1"
        }
      ]
    },
    "WeatherSymbol": {
      "type": "string",
      "description": "Identifier summarizing weather conditions for a time period",
      "enum": [
        "clearsky_day", "clearsky_night", "clearsky_polartwilight",
        "fair_day", "fair_night", "fair_polartwilight",
        "partlycloudy_day", "partlycloudy_night", "partlycloudy_polartwilight",
        "cloudy", "fog",
        "lightrain", "rain", "heavyrain",
        "lightrainandthunder", "rainandthunder", "heavyrainandthunder",
        "lightsnow", "snow", "heavysnow",
        "lightsnowandthunder", "snowandthunder", "heavysnowandthunder",
        "lightsleet", "sleet", "heavysleet",
        "lightsleetandthunder", "sleetandthunder", "heavysleetandthunder",
        "lightrainshowers_day", "lightrainshowers_night", "lightrainshowers_polartwilight",
        "rainshowers_day", "rainshowers_night", "rainshowers_polartwilight",
        "heavyrainshowers_day", "heavyrainshowers_night", "heavyrainshowers_polartwilight",
        "lightrainshowersandthunder_day", "lightrainshowersandthunder_night", "lightrainshowersandthunder_polartwilight",
        "rainshowersandthunder_day", "rainshowersandthunder_night", "rainshowersandthunder_polartwilight",
        "heavyrainshowersandthunder_day", "heavyrainshowersandthunder_night", "heavyrainshowersandthunder_polartwilight",
        "lightsnowshowers_day", "lightsnowshowers_night", "lightsnowshowers_polartwilight",
        "snowshowers_day", "snowshowers_night", "snowshowers_polartwilight",
        "heavysnowshowers_day", "heavysnowshowers_night", "heavysnowshowers_polartwilight",
        "lightssnowshowersandthunder_day", "lightssnowshowersandthunder_night", "lightssnowshowersandthunder_polartwilight",
        "snowshowersandthunder_day", "snowshowersandthunder_night", "snowshowersandthunder_polartwilight",
        "heavysnowshowersandthunder_day", "heavysnowshowersandthunder_night", "heavysnowshowersandthunder_polartwilight",
        "lightsleetshowers_day", "lightsleetshowers_night", "lightsleetshowers_polartwilight",
        "sleetshowers_day", "sleetshowers_night", "sleetshowers_polartwilight",
        "heavysleetshowers_day", "heavysleetshowers_night", "heavysleetshowers_polartwilight",
        "lightssleetshowersandthunder_day", "lightssleetshowersandthunder_night", "lightssleetshowersandthunder_polartwilight",
        "sleetshowersandthunder_day", "sleetshowersandthunder_night", "sleetshowersandthunder_polartwilight",
        "heavysleetshowersandthunder_day", "heavysleetshowersandthunder_night", "heavysleetshowersandthunder_polartwilight"
      ]
    },
    "SymbolConfidence": {
      "type": "string",
      "description": "Certainty estimate for a weather symbol",
      "enum": ["certain", "somewhat certain", "uncertain"]
    },
    "RadarCoverage": {
      "type": "string",
      "description": "Radar coverage status for the requested location",
      "enum": ["ok", "temporarily unavailable", "no coverage"]
    }
  }
}