This project is read-only.

TAF flags enumeration is incorrect


The Taf.eTafFlag enumeration is annotated with [Flags()] and used as a flag field, but no explicit values are assigned. This means the values "Ammended=1", "Cancelled=2" and "Corrected=3" are assigned automatically, which in turn means that Corrected is equivalent to "Ammended|Cancelled", which makes no sense.

The result is that the Corrected flag set when "COR" is decoded is then immediately cleared when no "AMD" is seen, and a TAF report containing "COR" subsequently has IsCorrected=false in the decoded result.

These flag values need to be explicitly assigned powers of two so that they can be combined independently. See the attached patch file.

TAF COR EDDP 051755Z 0518/0618 25025G40KT 9999 BKN025
     TEMPO 0518/0521 26030G45KT RA
     PROB40 TEMPO 0519/0522 26035G50KT 4000 RASN BKN014
     PROB30 TEMPO 0521/0606 27030G45KT 2000 SHSN BKN014TCU
     PROB40 TEMPO 0610/0618 29030G45KT 2000 SHSN BKN014TCU=

file attachments