wmo-im / iwxxm

XML schema and Schematron for aviation weather data exchange
https://old.wmo.int/wiswiki/tiki-index.php%3Fpage=TT-AvXML
48 stars 22 forks source link

Cloud type in METAR/SPECI cannot be encoded when amount and base are missing #146

Closed mgoberfield closed 5 years ago

mgoberfield commented 5 years ago

Current guidance to encode the case of missing cloud amount and base height, but cloud type is available results in the loss of type information.

Current guidance from TAC-to-XML-Guidance.txt:

Cloud amount and base "//////" When cumulonimbus clouds or towering cumulus clouds are detected by the automatic observing system and the cloud amount and the height of cloud base cannot be observed, this shall be indicated by a cloud "layer" with a nilReason of either "http://codes.wmo.int/common/nil/notObservable" if the value could not be observed due to a sensor or system failure, or "http://codes.wmo.int/common/nil/notDetectedByAutoSystem" if the automated system is working properly but did not observe any values.

In the case of METAR/SPECI sky condition '//////CB' or '//////TCU' if this guidance were followed:

<iwxxm:cloud>
   <iwxxm:AerodromeCloud>
      <iwxxm:layer nilReason="http://codes.wmo.int/common/notlObservable" xsi:nil="true">
   </iwxxm:AerodromeCloud>
</iwxxm:cloud>

or

<iwxxm:cloud>
   <iwxxm:AerodromeCloud>
      <iwxxm:layer nilReason="http://codes.wmo.int/common/notDetectedByAutoSystem" xsi:nil="true">
   </iwxxm:AerodromeCloud>
</iwxxm:cloud>

In either case, the cloud type, 'CB' or 'TCU', is lost in encoding.

A suggested change to guidance in the encoding of such cases:

Cloud amount and base "//////" When cloud amount and the height of cloud base cannot be observed, this shall be indicated by a cloud "layer" with a nilReason of either "http://codes.wmo.int/common/nil/notObservable" if the value could not be observed due to a sensor or system failure, or "http://codes.wmo.int/common/nil/notDetectedByAutoSystem" if the automated system is working properly but did not observe any values.

Cloud amount, base and type "//////CB" or "//////TCU" When cloud amount and the height of cloud base cannot be observed but cloud type can be determined, this shall be indicated by 'CloudLayer' having "amount" and "base" with a nilReason of either "http://codes.wmo.int/common/nil/notObservable" if the value could not be observed due to a sensor or system failure, or "http://codes.wmo.int/common/nil/notDetectedByAutoSystem" if the automated system is working properly but did not observe any values.

If this guidance language change is adopted, then '//////CB' or '//////TCU' can be encoded without any change to 3.0.0RC2 schema.

blchoy commented 5 years ago

Thank you. I think this is sensible. May be we could put it into a PR too?

mgoberfield commented 5 years ago

Hello Choy. I will do that now. Thank you .

blchoy commented 5 years ago

Great work my friend!