Skip to content

Validation: IWXXM 2021_2RC1

BL Choy edited this page May 12, 2021 · 35 revisions

--- Validation closed ---

Reasons and requirements for having the new release

  1. Known issues discovered since the publishing of IWXXM 3.0.0 (see the Known Issues for details).
  2. Amendments 79 and 80 to ICAO Annex 3 (see the Impact Analysis for details).

How to proceed with the validation

  1. Read through the proposed changes and validate the changes to make sure that they adequately address the requirements with no foreseeable flaws.
  2. All schemas, schematron rules and related files are available in branch FT2012-2RC1. Branches for individual package is for visualizing difference from previous version only. One can also find the model and supporting tools in the FT2021-2RC1 branch of the wmo-im/iwxxm-modelling repository.
  3. To facilitate validation with schematron rules, a set of RDF files for current code tables can be found here.
  4. Separate issues have been raised for each package to track the findings, including positive ones.

Mind maps of the proposed changes

METAR/SPECI (Follow up in #248)

  1. Amendment 79: TAC template elements "Surface wind", "Visibility", "Runway visual range", "Air and dew-point temperatures", "Pressure values", "Recent weather" and "Sea-surface temperature ad state of the sea or significant wave height" and Note 12: When a meteorological element is temporarily missing, or its value considered temporarily as incorrect, it is replaced by "/" for each digit of the abbreviation of the text message and indicated as missing for its IWXXM version.

    Implementation: All of the respective IWXXM elements are already capable to have nil values and nilReasons. No change to the information model is required.

    Test instance(s): N/A

  2. Amendment 79 and 80: TAC template element "State of the runway" removed in Amendment 79 but delayed to Nov 2021 in Amendment 80.

    Implementation: iwxxm:AerodromeRunwayState is optional so even though it has been delayed not to be reported until Nov 2021 there is no urgency to remove it by then; it is proposed to be removed in a subsequent IWXXM update after Nov 2021.

    Test instance(s): N/A

  3. Issue: TAC template element "Trend forecast" and Note 17: Number of change indicators to be kept to a minimum in accordance with Appendix 4, 2.2.1, normally not exceeding three groups.

    Implementation: Currently iwxxm:MeteorologicalAerodromeObservationReport/trendForecast has a multiplicity of [0..3] which may be too restrictive that what is being required. It is proposed to relax the multiplicity to [0..*] (See revised UML diagram).

    Test instance(s): N/A

  4. Issue #203: Guidance on R/SNOCLO appears to be incompatible with IWXXM.nilReasonCheck.

    Implementation: It is proposed to indicate in the TAC-to-XML Guidance that iwxxm:runwayState shall be NIL with nilReason 'http://codes.wmo.int/common/nil/inapplicable' for SNOCLO. There will be no change to the schema, just the documentations.

    Test instance(s): N/A

  5. Issue #2@wmo-im/iwxxm-codelists: Missing Entries in 49-2/AerodromePresentOrForecastWeather.

    Implementation: Update the code list for iwxxm:AerodromePresentOrForecastWeather.

    Test instance(s): N/A

TAF (Follow up in #249)

  1. Issue #233: Attribute cloudAndVisibilityForecast in MeteorologicalAerodromeForecast in TAF should be optional.

    Implementation: It is proposed to make attribute cloudAndVisibilityOK in MeteorologicalAerodromeForecast in TAF optional (See revised UML diagram).

    Test instance(s): N/A

SIGMET (Follow up in#250)

  1. Amendment 79: Notes 25 and 33 of the SIGMET template mentioned how the geometry of radioactive cloud, and Note 34 on the movement or expected movement of the cloud, should be described.

    Implementation: N/A as the existing provision can adequately describe the geometry of a disc or cylinder and stationary movement.

    Test instance(s): N/A.

  2. Amendment 79: Note 29 of the SIGMET template mentioned that more than one volcanic ash clouds or cumulonimbus clouds simultaneously affecting the FIR concerned can be provided through the repeating of those elements marked with Notes 20 and 21. These repeatable elements, however, do not include volcano and tropical cyclone positions and tropical cyclone forecast positions.

    Implementation: Change the multiplicity of iwxxm:eruptingVolcano and iwxxm:tropicalCyclone from [0..2] to [0..1] and deprecate the use of @volcanoId and @tropicalCycloneId as ash cloud/volcano and CB/tropical cyclone relationship can no longer be ambiguous.

    Test instance(s): This instance containing 2 tropical cyclones and @tropicalCycloneId should fail schema validation.

  3. Issue #209: For Tropical Cyclone SIGMET it is uncertain whether the movement or forecast position refers to the cumulonimbus cloud or the centre of the tropical cyclone. ICAO Secretariat in a recent discussion indicated that the movement and intensity of TC SIGMET are definitely related to TC Centre and not to CB Clouds (See Revised UML diagram).

    Implementation: iwxxm:directionOfMotion, iwxxm:speedOfMotion and @intensityChange are added to iwxxm:TropicalCycloneSIGMETEvolvingConditionCollection and a schematron rule TropicalCycloneSIGMET.TropicalCycloneSIGMETEvolvingConditionCollection-2 is added to suppress the occurrence of the three elements and attribute under iwxxm:SIGMETEvolvingCondition.

    Test instance(s): This instance should pass schema validation but fail schematron validation.

  4. Issue #241: Some of the elements in the schema do not have the nillable attributes set. Without them, the elements cannot be made nillable with xsi:nil="true" which affects the consistency in setting an element nil.

    Implementation: Allow the use of xsi:nil="true" of some elements for a consistent representation of nil information.

    Test instance(s): N/A

AIRMET (Follow up in #251)

  1. Issue #206: AIRMET is unable to represent "ABV" for TAC template element "Phenomenon".

    Implementation: An optional element iwxxm:cloudTopAbove with type boolean is added to indicate whether the cloud top is above the mentioned height.

    Test instance(s): N/A

  2. Issue #241: Some of the elements in the schema do not have the nillable attributes set. Without them, the elements cannot be made nillable with xsi:nil="true" which affects the consistency in setting an element nil.

    Implementation: Allow the use of xsi:nil="true" of some elements for a consistent representation of nil information.

    Test instance(s): N/A

Tropical Cyclone Advisory (Follow up in #252)

  1. Amendment 79: TAC template element "Observed CB cloud" can be nil.

    Implementation: The respective IWXXM element is already capable to have nil values and nilReasons. No change to the information model is required. It is proposed to update the TAC-to-XML Guidance to include appropriate use of nilReason 'http://codes.wmo.int/common/nil/inapplicable' for iwxxm:cumulonimbusCloudLocation.

    Test instance(s): N/A

  2. Amendment 79: TAC template element "Changes in intensity" was introduced to indicate changes of maximum surface wind speed at time of observation.

    Implementation: It is proposed to add a new XML element iwxxm:intensityChange of simple type with enumeration values "NO_CHANGE", "WEAKEN" and "INTENSIFY" to indicate the change (See revised UML diagram).

    Test instance(s): N/A

  3. Issue #166: The TAC elements "Forecast of centre" and "Forecast of maximum surface wind" could be nil under certain situations.

    Implementation: It is proposed to make iwxxm:tropicalCyclonePosition and iwxxm:maximumSurfaceWindSpeed in the forecast part of the Tropical Cyclone Advisory nillable and when nil with a nilReason of 'http://codes.wmo.int/common/nil/inapplicable'. The TAC-to-XML Guidance should be revised accordingly (See Revised UML diagram).

    Test instance(s): N/A

  4. Issue #241: Some of the elements in the schema do not have the nillable attributes set. Without them, the elements cannot be made nillable with xsi:nil="true" which affects the consistency in setting an element nil.

    Implementation: Allow the use of xsi:nil="true" of some elements for a consistent representation of nil information.

    Test instance(s): N/A

  5. Issue #244: Notes for movementDirection and movementSpeed in TCA is not correct.

    Implementation: Revised the notes in the schema.

    Test instance(s): N/A

Volcanic Ash Advisory (Follow up in #253)

  1. Amendment 79: TAC template elements "State or region" and "Summit elevation" can be "UNKNOWN".

    Implementation: To represent "UNKNOWN" for "State or region" it is proposed to enter text "UNKNOWN" directly into iwxxm:stateOrRegion. For "Summit elevation", as its corresponding XML element iwxxm:summitElevation has a type of iwxxm:LengthWithNilReason, it is proposed to represent "UNKNOWN" by making the XML element nil with nilReason 'http://codes.wmo.int/common/nil/unknown". In either cases the TAC-to-XML Guidance should be revised accordingly (See revised UML diagram).

    Test instance(s): N/A

  2. Amendment 79: TAC template element "Summit elevation" can report a text string "SFC".

    Implementation: Change WITHHELD. ICAO METP WG-MOG IAVW Work Stream Lead had confirmed that it was ANC who made the last minute change to represent re-suspended ash with "SFC" instead of 0 m. It is understood that VAACs will not use "SFC" for the time being. The work stream will also submit an Annex 3 change request for the upcoming Amendment 81 to (i) remove the use of "SFC", (ii) extend this element to cover both elevation of summit or averaged height of re-suspended ash, and (iii) rename the element to "source elevation" to reflect a change of the information the element intends to carry.

    Test instance(s): N/A

  3. Amendment 80: Examples to TAC template elements "Name of volcano", "Information source", "Eruption details" and "Remarks" have new text.

    Implementation: No change is required as all of the respective XML elements are of type iwxxm:StringWithNilReason and it doesn't matter the exact text string to be included.

    Test instance(s): N/A

  4. Issue #241: Some of the elements in the schema do not have the nillable attributes set. Without them, the elements cannot be made nillable with xsi:nil="true" which affects the consistency in setting an element nil.

    Implementation: Allow the use of xsi:nil="true" of some elements for a consistent representation of nil information.

    Test instance(s): N/A

Space Weather Advisory (Follow up in #254)

  1. Amendment 79: TAC template element "Space weather effect and intensity" can have multiple effect and intensity of the space weather phenomena.

    Implementation: No change is required. The respective XML element iwxxm:phenomenon has multiplicity [0..*] which is already able to accommodate multiple combinations of phenomena, effect and intensity.

    Test instance(s): N/A

  2. Amendment 79: TAC template element "Observed or expected space weather phenomenon" can have multiple latitude bands.

    Implementation: No change is required. The respective XML element iwxxm:region has multiplicity [1..*] which is already able to accommodate multiple latitude bands.

    Test instance(s): N/A

  3. Amendment 79: TAC template element "Forecast of the phenomenon" can have multiple latitude bands.

    Implementation: No change is required. The respective XML element iwxxm:region has multiplicity [1..*] which is already able to accommodate multiple latitude bands.

    Test instance(s): N/A

  4. Amendment 79: TAC template element "Next advisory" should be able to indicate "will be issued by [time instant]".

    Implementation: No change is required. The respective XML element iwxxm:nextAdvisoryTime is of type gml:TimeInstant which is able to present temporal concept either at or before the indicated time instant with GML attribute "indeterminatePosition" as below. It is proposed to update the TAC-to-XML Guidance to reflect this representation:

    <iwxxm:nextAdvisoryTime>
        <gml:TimeInstant gml:id="uuid.ff02e4b5-e54c-4ec3-b34c-842229274727">
            <gml:timePosition indeterminatePosition="before">2016-11-08T07:00:00Z</gml:timePosition>
        </gml:TimeInstant>
    </iwxxm:nextAdvisoryTime>

Note: GML is unable to represent the concept "on or before" a certain time instant.

Test instance(s): N/A

  1. Issue #241: Some of the elements in the schema do not have the nillable attributes set. Without them, the elements cannot be made nillable with xsi:nil="true" which affects the consistency in setting an element nil.

    Implementation: Allow the use of xsi:nil="true" of some elements for a consistent representation of nil information.

    Test instance(s): N/A

  2. Issue #4@wmo-im/iwxxm-codelists: Code list for iwxxm:SpaceWeatherLocation should be revised to include the values of the latitude bands.

    Implementation: Update the code list for iwxxm:SpaceWeatherLocation.

    Test instance(s): N/A

WAFS SIGWX Forecast (Follow up in #255)

  1. Amendment 79: As of 4 Nov 2021, the WAFS SIGWX forecasts should be disseminated in IWXXM form. There are some significant differences between WAFS SIGWX forecasts in IWXXM and existing BUFR forms:

    • SIGWX will span a single range from FL100 to FL600(i.e. no separate medium and high level data sets).
    • Tropopause height will be represented by contours.
    • The combined in-cloud icing and turbulence field from the old limited area medium level SIGWX will be retired, and instead be replaced by an icing data set that covers the entire globe.
    • Clear Air Turbulence will change to a single turbulence field which encompasses both Clear Air and Orographically influenced turbulence.
    • Global SIGWX featuresfor a single forecast timestep would be contained within a single IWXXM fileinstead of scattered across different BUFR files.
    • More explicit description of SIGWX features. In particular thegeospatial description of the feature will be in 2.5D1to align with other IWXXM and other exchange models (XMs).
    • Soft-typing would be used to encode SIGWX features as far as possible.

    Implementation: These include:

    • Create a new Class "BasicReport" which will be extended by existing Class "Report" in package "Common" to separate attributes in relation to translation of TAC so that they will only be included by legacy IWXXM reports (see revised UML diagram).
    • Create a new package "Meteorological Feature" to provide the building blocks for the creation of Weather Objects (WxObject) (see UML diagram 1, UML diagram 2, and UML diagram 3).
    • Create another new package "WAFS Significant Weather Forecast" to build the actual container for the forecast with WxObject (see UML diagram 1, UML diagram 2, and UML diagram 3).
    • WxObject resembles OM_Observation but with a much larger degree of freedom, in particular without refraining the descriptors to be observation related and be mandatory.
    • Highlighted features include (see sample instance):
      • Each WxObject (or its extension) and collective has its unique gml:identifier. If they are also globally unique, they can be used as a handle for retrieval.
      • A set of basic features (mostly on geometry) to standardize representation.
      • Common but optional items in both WxObject and collective reduce replication of description within a collective, yet allow complete description when a WxObject is use alone.
      • xlink can be used to make reference to another WxObject which opens up the opportunity for online applications.

    Test instance(s): This test instance gives examples on how individual feature is represented.

Clone this wiki locally