{
  "informationService": {
    "descriptionInformation": {
      "descriptionIdentification": {
        "title": "IWXXM TAF Subscription and Request Service - SMHI",
        "edition": "0.2",
        "referenceDate": "2025-11-26"
      },
      "abbreviations": [
        {
          "name": "AIRM",
          "description": "ATM Information Reference Model"
        },
        {
          "name": "AMQP",
          "description": "Advanced Queueing Message Protocol (1.0) – per SWIM TI Yellow Profile Messaging"
        },
        {
          "name": "ATC",
          "description": "Air Traffic Control"
        },
        {
          "name": "ATM",
          "description": "Air Traffic Management"
        },
        {
          "name": "SMHI",
          "description": "Swedish Meteorological and Hydrological Institute"
        },
        {
          "name": "HTTP",
          "description": "Hypertext Transfer Protocol"
        },
        {
          "name": "ICAO",
          "description": "International Civil Aviation Organization"
        },
        {
          "name": "IER",
          "description": "Information Exchange Requirement"
        },
        {
          "name": "IR",
          "description": "Implementation Rules"
        },
        {
          "name": "ISRM",
          "description": "Information Service Reference Model"
        },
        {
          "name": "IWXXM",
          "description": "ICAO Meteorological Information Exchange Model"
        },
        {
          "name": "METAR",
          "description": "Meteorological Aerodrome Report"
        },
        {
          "name": "NWS",
          "description": "National Weather Service"
        },
        {
          "name": "OGC",
          "description": "Open Geospatial Consortium"
        },
        {
          "name": "PCP",
          "description": "Pilot Common Project"
        },
        {
          "name": "REQ",
          "description": "Requirement"
        },
        {
          "name": "WMO",
          "description": "World Meteorological Organization"
        },
        {
          "name": "SIGMET",
          "description": "Significant meteorological phenomena"
        },
        {
          "name": "TAF",
          "description": "Terminal Aerodrome Forecast"
        }
      ]
    },
    "serviceIdentification": {
      "name": "IWXXM TAF Subscription and Request Service - SMHI",
      "version": "0.2"
    },
    "serviceAbstract": "<h1 id=\"smhi-aviation-meteorology-data-services\">SMHI Aviation Meteorology Data Services</h1><p>SMHI provides aviation meteorological data for Swedish aerodromes through a modern distribution service designed for operational aviation use. The service complies with <strong>ICAO Annex 3</strong> requirements and supports <strong>PANS-MET Doc 10157</strong>, enabling integration with current and next-generation aviation systems.</p><p>Rather than delivering static files or manual feeds, SMHI distributes up-to-date <strong>TAF reports encoded in IWXXM</strong> and made available through standards-based interfaces. This approach aligns with global aviation meteorology initiatives and supports data sharing across Europe and internationally.</p><h2 id=\"supported-usage-and-operational-context\">Supported Usage and Operational Context</h2><p>The TAF data supplied by SMHI can be incorporated directly into decision-support tools for:</p><ul><li><strong>Flight planning and optimization</strong>, improving fuel efficiency</li><li><strong>Environmental impact reduction</strong>, including lower CO₂ emissions</li><li><strong>Safety and awareness applications</strong>, supporting hazard mitigation and situational monitoring</li></ul><h2 id=\"access-methods\">Access Methods</h2><p>Users may retrieve the latest IWXXM TAF reports in two ways:</p><h3 id=\"ogc-api-environmental-data-retrieval-edr\">1) OGC API – Environmental Data Retrieval (EDR)</h3><ul><li><strong>EDR Service Endpoint</strong>: <a href=\"https://aviation.smhi.se/edr\">https://aviation.smhi.se/edr</a></li><li><strong>API Landing Page &amp; Documentation</strong>: <a href=\"https://aviation.smhi.se/edr/docs\">https://aviation.smhi.se/edr/docs</a></li></ul><p>Data can be queried on demand using a REST-based OGC EDR interface.</p><p>The EDR interface exposes TAF observations as time-bound collections and allows clients to select specific stations and receive output in IWXXM format.</p><h3 id=\"amqp-1.0-publishsubscribe-pubsub\">2) AMQP 1.0 Publish/Subscribe (PUB/SUB)</h3><p>Operational subscribers may receive live TAF messages through AMQP 1.0 using any of the common language clients and libraries.</p><ul><li><strong>AMQP Broker Service Endpoint</strong>: <code>amqps://aviation.smhi.se:5671</code></li><li><strong>Subscription Topic / Address</strong>: <code>weather.aviation.taf</code></li></ul><h2 id=\"messaging-format\">Messaging Format</h2><p>Fully compliant with the <strong>EUROCONTROL SWIM Technical Infrastructure Yellow Profile</strong>, including standardized metadata headers.</p><ul><li><strong>Current IWXXM version:</strong> IWXXM 2023-1</li></ul><h2 id=\"distribution-alignment\">Distribution Alignment</h2><p>Messages are harmonised with the <strong>Namcon common broker collaboration</strong> and are forwarded to the common broker operated by <strong>FMI (Finland)</strong>.</p><ul><li>Message payloads are encoded in IWXXM and delivered alongside standardized aviation metadata headers facilitating <strong>routing, filtering, and operational handling</strong>.</li></ul><h2 id=\"authentication-policy-future-eacp-usage\">Authentication, Policy &amp; Future EACP Usage</h2><p>Access is subject to SMHI policy and aviation domain requirements:</p><ul><li>Review the <strong>Policy &amp; Terms of Service</strong>: <a href=\"https://aviation.smhi.se/edr/policy\">https://aviation.smhi.se/edr/policy</a></li><li>Users must confirm that they are legitimately operating within the aviation sector and authorized to consume operational data.</li><li><strong>EACP certificates are not yet required</strong>, but the service will support them once the European aviation identity framework is deployed.</li><li>Users should expect <strong>future authentication using EACP client certificates</strong> to validate their operational identity.</li></ul>",
    "serviceProvider": {
      "providerType": [
        "REGULATED_METEOROLOGICAL_SERVICE_PROVIDER"
      ],
      "pointOfContact": [
        {
          "name": "SMHI Aviation Customer Service",
          "contactInformation": [
            {
              "type": "EMAIL",
              "address": "aviation-support@smhi.se"
            },
            {
              "type": "PHONE",
              "address": "+46 11 495 82 00"
            },
            {
              "type": "URL",
              "address": "https://www.smhi.se"
            }
          ],
          "role": "Data Provider"
        }
      ],
      "provider": "SMHI",
      "providerDescription": "The Swedish Meteorological and Hydrological Institute (SMHI) is Sweden’s national expert authority for weather, climate, and hydrology and provides regulated aeronautical meteorological services in accordance with ICAO Annex 3 and EU Implementing Regulations."
    },
    "serviceCategorisation": {
      "serviceType": "SWIM_COMPLIANT",
      "businessActivityType": [
        "AERODROME_OPERATION",
        "AIRSPACE_ORGANISATION_AND_MANAGEMENT",
        "INFORMATION_MANAGEMENT",
        "SERVICE_DELIVERY_MANAGEMENT"
      ],
      "intendedConsumer": [
        "AIR_TRAFFIC_SERVICE_PROVIDER",
        "AIRPORT_OPERATOR",
        "AIRSIDE_GROUND_HANDLER",
        "CIVIL_AIR_NAVIGATION_SERVICE_PROVIDER",
        "CIVIL_AIRSPACE_USER",
        "COMMUNICATION_NAVIGATION_AND_SURVEILLANCE_SERVICE_PROVIDER",
        "MILITARY_AIR_NAVIGATION_SERVICE_PROVIDER",
        "MILITARY_AIRSPACE_USER",
        "PROVIDER_OF_DATA_SERVICES",
        "REGULATED_METEOROLOGICAL_SERVICE_PROVIDER"
      ],
      "informationCategory": [
        "METEOROLOGICAL_INFORMATION_EXCHANGE"
      ],
      "applicationMessageExchangePattern": [
        {
          "name": "Request/Reply"
        },
        {
          "name": "Publish/Subscribe with Push Mechanism"
        }
      ],
      "geospatialCategorisation": {
        "countryCode": [
          "SE"
        ],
        "fir": [
          "ESAA"
        ],
        "description": "The dataset is valid for Sweden (Sweden FIR/ESAA)."
      },
      "other": [
        {
          "name": "Service Type: METEOROLOGICAL_FEATURE_ACCESS_SERVICE",
          "value": "METEOROLOGICAL_FEATURE_ACCESS_SERVICE",
          "categorisationScheme": {
            "url": "http://reference.swim.aero/information-services/service-categories/CodeServiceType.html"
          }
        },
        {
          "name": "Service Type: METEOROLOGICAL_INFORMATION_SUBSCRIPTION_SERVICE",
          "value": "METEOROLOGICAL_INFORMATION_SUBSCRIPTION_SERVICE",
          "categorisationScheme": {
            "url": "http://reference.swim.aero/information-services/service-categories/CodeServiceType.html"
          }
        }
      ],
      "lifeCycle": [
        {
          "lifeCycleStage": "OPERATIONAL",
          "from": "2025-12-08"
        }
      ]
    },
    "generalDescription": {
      "operationalEnvironment": {
        "operationalNeeds": [
          {
            "name": "Operational Needs",
            "description": "This service contributes to fulfilling operational needs as defined in Commission Implementing Regulation (EU) 2017/373 and ICAO Annex 3. It supports the EU Implementing Regulation 2021/116 - Common Project One."
          },
          {
            "name": "Information Exchange Requirements",
            "description": "IER 1 - The information currently included in the TAF as defined in Commission Implementing Regulation (EU) 2017/373, ICAO Annex 3."
          }
        ],
        "capabilities": [
          {
            "name": "Capabilities",
            "description": "The service provides high quality, up-to-date, trusted, regulated meteorological information in digital form for use by service consumers within the aviation domain."
          }
        ]
      },
      "functionality": [
        {
          "name": "Distribute Data",
          "description": "The service distributes the data according to the stored subscriptions and topics.",
          "realWorldEffect": "Information has been shared; the service consumer gets the requested data."
        },
        {
          "name": "Request Data",
          "description": "The consumer can request data from the service using an OGC API - EDR endpoint.",
          "realWorldEffect": "Information has been shared; the service consumer gets the requested data."
        },
        {
          "name": "Subscribe to Data",
          "description": "The user can subscribe to data via AMQP 1.0. Messages follow the SWIM TI Yellow Profile (Messaging).",
          "realWorldEffect": "Subscription established; data is received upon publication."
        }
      ],
      "qualitiesOfService": {
        "performance": [
          {
            "name": "Performance",
            "description": "Actual pre-operational status."
          }
        ],
        "reliability": [
          {
            "name": "Reliability",
            "description": "Actual pre-operational status."
          }
        ],
        "security": [
          {
            "name": "Security",
            "description": "SWIM TI Yellow Profile-compliant security controls (confidentiality, integrity, authentication)."
          }
        ]
      },
      "accessAndUseConditions": [
        {
          "name": "General Terms and Conditions of Business",
          "type": "LEGAL_CONSTRAINT",
          "description": "Terms and conditions are available at https://aviation.smhi.se/edr/policy."
        },
        {
          "name": "Information Retainment",
          "type": "SERVICE_CONSUMPTION_CONSTRAINT",
          "description": "According to ICAO Annex 3, meteorological information is retained for a period of at least 30 days from the date of issue."
        },
        {
          "name": "Subscription",
          "type": "SERVICE_CONSUMPTION_CONSTRAINT",
          "description": "Consumers begin receiving data by connecting to the published endpoints with appropriate credentials; no explicit subscribe/unsubscribe API is provided."
        },
        {
          "name": "Authentication and authorization",
          "type": "SECURITY_CONSTRAINT",
          "description": "Access is limited by policy to users within the Aviation domain. Please review the policy at https://aviation.smhi.se/edr/policy. In the future authentication and authorization via EACP issued Aviation Domain Certificate may be required to use the services."
        },
        {
          "name": "Encryption",
          "type": "SECURITY_CONSTRAINT",
          "description": "Communication is encrypted per SWIM TI Yellow Profile."
        },
        {
          "name": "Signature",
          "type": "SECURITY_CONSTRAINT",
          "description": "The requested information may contain a digital signature using SHA-256 or stronger."
        }
      ],
      "validation": [
        {
          "type": "SELF_VALIDATION",
          "description": {
            "evidence": "Service tested by SMHI"
          }
        }
      ],
      "dateInOperation": "2025-12-08"
    },
    "informationDescription": {
      "filtering": {
        "capability": [
          {
            "name": "Filtering Capabilities (EDR)",
            "description": "Filtering is exposed through OGC API - EDR query parameters and collections, including spatial, temporal, and parameter subsetting of IWXXM-derived attributes (e.g., aerodrome ICAO designator, validity period).",
            "reference": {
              "url": "https://ogcapi.ogc.org/edr/"
            }
          },
          {
            "name": "Filtering Capabilities (AMQP)",
            "description": "Topic-based filtering is available through the broker’s topic hierarchy. Private queues with provider-defined selectors consistent with SWIM TI Yellow Profile may be provisioned."
          }
        ]
      },
      "sourceOfInformation": "The service provider ensures that the data offered within this service is created by SMHI, a REGULATED_METEOROLOGICAL_SERVICE_PROVIDER.",
      "informationDefinition": [
        {
          "name": "TAF (Terminal Aerodrome Forecast)",
          "definition": "A digital aeronautical meteorological forecast for an aerodrome, covering a defined validity period, encoded and exchanged using IWXXM.",
          "airmCorrespondence": "AIRM 1.0.0 :: TAF — correspondence and mapping notes: https://airm.aero/developers/icao-wxxm-3.0.0-to-airm-1.0.0-index",
          "datatype": "IWXXM 3.x TAF",
          "cardinality": "0..*",
          "constraints": "IWXXM version 2023-1 (https://schemas.wmo.int/iwxxm/2023-1/iwxxm.xsd). Payload is raw XML in AMQP messages and EDR responses; no size constraints.",
          "path": "/taf"
        }
      ]
    },
    "technicalDescription": {
      "serviceMonitoring": {
        "monitoringDescription": "SMHI IT components are monitored with 24/7 maintenance."
      },
      "technicalConstraint": [
        {
          "name": "Transport Security",
          "description": "AMQP uses amqps:// over TLS. SASL EXTERNAL (client certificate) may be required. Provider aims to use server certificates in the EACP chain once available. Client certificate policy for consumers is under consideration."
        },
        {
          "name": "Topic Structure",
          "description": "Messages are published under weather.aviation.taf. This covers all messages in the Sweden FIR. AMQP 1.0 filters (e.g., ICAO location identifier) can be applied via message headers as defined by the message schema."
        },
        {
          "name": "Payload Encoding",
          "description": "IWXXM content is carried as plain text XML (not gzipped)."
        },
        {
          "name": "Flow Control and Limits",
          "description": "Default link credit and connection limits are to be confirmed; values will be documented in narrative connection documentation when available."
        }
      ],
      "behaviour": [
        {
          "name": "Typical Request/Reply Behaviour",
          "description": "The request is sent from the consumer to the EDR service, which processes the request and returns the TAF IWXXM payload. The service follows OGC API - EDR behaviour.",
          "reference": {
            "description": "OGC API - EDR",
            "url": "https://ogcapi.ogc.org/edr/"
          }
        },
        {
          "name": "Typical Data Distribution Behaviour",
          "description": "The service sends data to consumers when available and matching their connection parameters using AMQP 1.0 per SWIM TI Yellow Profile Messaging."
        }
      ]
    },
    "serviceInterface": [
      {
        "name": "EDR Request",
        "description": "The interface is used to receive the data via OGC API - EDR.",
        "provisionSide": "PROVIDER_SIDE",
        "schema": {
          "url": "https://aviation.smhi.se/docs"
        },
        "endpoints": [
          {
            "name": "SMHI EDR API",
            "description": "Connection between the service provider and the consumer via OGC API - EDR.",
            "url": "https://aviation.smhi.se/edr"
          }
        ],
        "serviceInterfaceBinding": {
          "name": "SWIM_TI_YP_1_1_HTTP_REST",
          "description": "HTTP(S) REST binding per SWIM Technical Infrastructure Yellow Profile."
        },
        "networkInterfaceBinding": {
          "name": "IPV4_SECURE_UNICAST",
          "description": "Service supports IPv4 secure unicast and IPv6 secure unicast over TLS (mTLS per policy)."
        },
        "operations": [
          {
            "name": "EDR operations",
            "description": "Standard EDR retrieval operations (collection discovery, position/area/trajectory queries, temporal subsetting).",
            "idempotency": "IDEMPOTENT",
            "messages": [
              {
                "name": "EDR Request",
                "direction": "IN"
              },
              {
                "name": "EDR Response",
                "direction": "OUT"
              }
            ]
          }
        ],
        "messages": [
          {
            "name": "EDR Response",
            "description": "Response payload structure and parameters are defined by the OpenAPI document.",
            "schema": {
              "url": "https://aviation.smhi.se/docs"
            }
          }
        ],
        "messageExchangePattern": "SYNCHRONOUS_REQUEST_RESPONSE"
      },
      {
        "name": "AMQP Push Service",
        "description": "The interface is used to receive published data via AMQP 1.0 per SWIM TI Yellow Profile Messaging.",
        "provisionSide": "PROVIDER_SIDE",
        "schema": {
          "url": "https://raw.githubusercontent.com/iblsoft/swimdemo/acf23736bca2a55a0184988acbcd52cd8f8b88c3/schema/cp1/taf.json"
        },
        "endpoints": [
          {
            "name": "AMQPBrokerSMHI",
            "description": "Connection for AMQP 1.0 notifications and payload delivery according to the consumer’s connection.",
            "url": "amqps://aviation.smhi.se:5671"
          }
        ],
        "serviceInterfaceBinding": {
          "name": "AMQP_MESSAGING",
          "description": "Binding aligned with EUROCONTROL SWIM Technical Infrastructure Yellow Profile (Messaging)."
        },
        "networkInterfaceBinding": {
          "name": "IPV4_SECURE_UNICAST",
          "description": "Service supports IPv4 secure unicast and IPv6 secure unicast over TLS (mTLS per policy)."
        },
        "operations": [
          {
            "name": "dataDelivery",
            "description": "The IWXXM payload is delivered directly in the AMQP message or via reference to an EDR resource.",
            "idempotency": "NON_IDEMPOTENT",
            "messages": [
              {
                "name": "dataDelivery",
                "direction": "OUT"
              }
            ]
          }
        ],
        "messages": [
          {
            "name": "dataDelivery",
            "description": "AMQP message contract including headers/properties and IWXXM payload shape for TAF.",
            "schema": {
              "url": "https://raw.githubusercontent.com/iblsoft/swimdemo/acf23736bca2a55a0184988acbcd52cd8f8b88c3/schema/cp1/taf.json"
            }
          }
        ],
        "messageExchangePattern": "BROKERED_PUBLISH_SUBSCRIBE_WITH_PUSH_MECHANISM"
      }
    ],
    "references": {
      "implementedStandard": [
        {
          "title": "OGC API - Environmental Data Retrieval (EDR)",
          "standardType": "SERVICE_STANDARD",
          "conformanceStatement": "is conformant",
          "version": "1.1.0",
          "description": "OGC API - Environmental Data Retrieval"
        },
        {
          "title": "EUROCONTROL SWIM Technical Infrastructure - Yellow Profile (Messaging, AMQP 1.0)",
          "standardType": "EUROCONTROL_SPECIFICATION_FOR_SWIM_TECHNICAL_INFRASTRUCTURE",
          "conformanceStatement": "is conformant",
          "version": "2.0",
          "description": "Advanced Message Queuing Protocol 1.0 per SWIM TI Yellow Profile"
        }
      ]
    }
  }
}
