1.  **The BUFR Format**

    1.  **Introduction**

> BUFR stands for Binary Universal Form for the Representation of
> meteorological data. It is a standard developed by the World
> Meteorological Organization (WMO; see WMO Manual 306 Part B for
> technical specification, which can be procured via the WMO web site
> <http://www.wmo.int/pages/prog/www/WMOCodes/Operational/BUFR/BufrTabB-11-2007.pdf>)
> for the efficient storage of meteorological features in a machine
> independent form, where all the information to describe the features
> are contained within the data.
>
> This document has been prepared by the Aviation Weather Center (AWC)
> for the purpose of providing guidance to software developers who have
> the task of constructing Graphical AIRMET (G-AIRMET) BUFR
> visualization software**.** The document is designed to assist
> developers in the construction of compliant visualization software
> that receives its data input from text files obtained from BUFR
> decoding software supplied by the AWC
>
> The AWC has produced this document with the intention of circulating
> it to all interested parties. If additional guidance or advice in
> regard to any of the items included in this document is required, then
> users, software manufacturers and State Authorities are invited to
> contact the AWC. A consultancy service is available to assist these
> users. Please contact Clinton Wallace for further information: -
> E-mail: <Clinton.Wallace@noaa.gov> Tel: (816) 584-7248.

2.  **Concepts**

> To produce a BUFR file two elements are needed: 1) A file of raw data
> and 2) a set of tables containing descriptors. When the raw data is
> encoded each data value is attached to a descriptor which defines what
> that data represents. The decoding process reads the BUFR file, looks
> up the descriptor in the relevant table and writes out the information
> in whatever format is needed.

1.  ***BUFR Tables***

> The binary BUFR files contain a set of tables' descriptors and data
> values. To be able to understand what the values represent the
> descriptors need to be decoded from a set of common tables that sit on
> the local machine. This format means that the BUFR messages are very
> small and are machine independent. They can be understood and decoded
> by any BUFR decoder which has the latest tables available.

2.  ***Representation***

> Data held in the BUFR format is completely independent of the way in
> which the data is depicted on G-AIRMET charts. Only the information
> that describes the feature is encoded. For example, an area of
> aircraft icing is a list of points with the height of the base and
> top. There is nothing in the BUFR bulletin about how the icing area
> should be drawn, or how the attributes are to be displayed. This
> depiction is arbitrary, and is determined by the graphical display
> program. This document has been produced to assist in this regard. It
> is recommended that the overall aim of BUFR visualization, as stated
> in section 1.1, should be carefully considered.

3.  ***Standards***

> Although no information is given in BUFR on how to visually represent
> the data, rules have been laid down by the International Civil
> Aviation Organization (ICAO) and WMO. The ICAO requirements are laid
> out in *Annex 3, Meteorological Service for International Air
> Navigation* in the *International Standards and Recommended Practices*
> document. WMO Manual 306 Part B should be the standard used for the
> BUFR code itself.

4.  ***Open and Closed Areas***

> The boundaries of areas of some of the G-AIRMET elements are described
> as being either "open" or "closed". Closed areas are defined as
> regions that have identical first and last coordinates. Open areas
> have different start and end coordinates. Both open and closed areas
> are used in the G-AIRMET.

2.  **Header Representation**

> A BUFR message will always be packaged between the characters 'BUFR'
> and '7777'. Before the data representing the features appears, a
> header is always found that details where the message has come from,
> the date and valid times, regional information, and ICAO information.

1.  **Message Header for Graphical AIRMET (Tango, Sierra, and Zulu)**

  -------------- ----------------------------------- ---------------------
  **AIRMET**     **Aviation Hazard**                 **WMO HEADER**

  SIERRA         IFR Ceiling                         JUGE86 KKCI

                 IFR Visibility                      

                 Mountain Obscuration                

  TANGO          Turbulence                          JUHE00 KKCI

                 Strong Surface Wind                 

                 Low-Level Wind Shear Potential      

  ZULU           Icing                               JUIE00 KKCI

                 Lowest Freezing Level               

                 Multiple Freezing Levels            
  -------------- ----------------------------------- ---------------------

3.  **Features Represented**

    1.  **Graphical AIRMET Sierra**

> Graphical AIRMET Sierra consists of the following phenomena:

-   IFR Ceiling

-   IFR Visibility

-   Mountain Obscuration

    1.  **Graphical AIRMET Tango**

> Graphical AIRMET Tango consists of the following phenomena:

-   Moderate Turbulence

-   Sustained Strong Surface Winds (\> 30 knots)

-   Low Level Wind Shear

    1.  **Graphical AIRMET Zulu**

> Graphical AIRMET Zulu consists of the following phenomena:

-   Moderate Icing

-   Freezing Levels

-   Multiple Freezing Levels

4.  **Graphical AIRMET Sierra**

    1.  **G-AIRMET Sierra Representation**

        1.  **BUFR Sequence**

> Table 1 shows the BUFR sequence for G-AIRMET Sierra. In BUFR, how the
> data is depicted is not specified. Only the points describing the area
> and the attributes associated with that area are held.

  --------- -------- -----------------------------------------------------
                     **(Graphical AIRMET Sierra)**

  3 16 071  3 01 014 Time period (for which AIRMET is valid)

            1 01 000 Delayed replication

            0 31 002 Replication factor

            3 16 075 GFA IFR Ceiling and Visibility

            1 01 000 Delayed replication

            0 31 002 Replication factor

            3 16 076 GFA Mountain Obscuration
  --------- -------- -----------------------------------------------------

> **Table 1: G-AIRMET Sierra BUFR Sequence**

2.  **IFR Ceiling Representation**

> IFR CIG is represented on a G-AIRMET Sierra chart as an area drawn
> with a line. IFR CIG will depict areas of cloud ceilings with bases
> less than 1000 feet above ground level (AGL). The appropriate text
> label is located at the center of the hazard area polygon. There is no
> symbol associated with areas of IFR CIG.

1.  ***BUFR Sequence***

> Table 2 shows the BUFR sequence for *SIERRA*. In BUFR, how the data is
> depicted is not specified. Only the points describing the area and the
> attributes associated with that area are held.

  --------- -------- -----------------------------------------------------
                     **(GFA IFR Ceiling and Visibility)**

  3 16 075  0 08 079 Product Status, 0=Normal, 1=COR, 2=AMD, 3=COR AMD,
                     4=CNL

            0 08 041 Data significance, 8=IFR Ceiling and Visibility

            3 16 074 GFA Identifier and Observed/Forecast Location

            0 20 006 Flight rules, 1=IFR

            0 33 042 Type of limit represented by following (cloud base)
                     value, 2=Exclusive upper limit, 7=Missing

            0 20 013 Height of base of cloud

            0 33 042 Type of limit represented by following (cloud base)
                     value, 2=Exclusive upper limit, 7=Missing

            0 20 001 Horizontal visibility

            0 20 025 Obscuration

            0 20 026 Character of obscuration, 6=Blowing, 15=Missing

            0 08 041 Data significance, Missing=Cancel

            0 08 041 Product Status, Missing=Cancel
  --------- -------- -----------------------------------------------------

> **Table 2: G-AIRMET Sierra IFR CIG BUFR Sequence**

3.  **Mountain Obscuration Representation**

> Mountain obscuration is represented on a G-AIRMET Sierra chart as a
> single line. The appropriate label for mountain obscuration (Figure 1)
> is located at the center of the hazard area polygon.
>
> ![](media/image1.png)
>
> **Figure 1: Mountain obscuration label**

1.  ***BUFR Sequence***

> Table 3 shows the BUFR sequence for *mountain obscuration*. In BUFR,
> how the data is depicted is not specified. Only the points describing
> the line and the attributes associated with that line are held.

  --------- -------- -----------------------------------------------------
                     **(GFA Mountain Obscuration)**

  3 16 076  0 08 079 Product Status, 0=Normal, 1=COR, 2=AMD, 3=COR AMD,
                     4=CNL

            0 08 041 Data significance, 9=Mountain obscuration

            3 16 074 GFA Identifier and Observed/Forecast Location

            0 20 006 Flight rules, 1=IFR

            0 20 025 Obscuration

            0 08 041 Data significance, Missing=Cancel

            0 08 079 Product Status, Missing=Cancel
  --------- -------- -----------------------------------------------------

> **Table 3: G-AIRMET Sierra Mountain Obscuration BUFR Sequence**

5.  **Graphical AIRMET Tango**

    1.  **G-AIRMET Tango Representation**

        1.  **BUFR Sequence**

> Table 4 shows the BUFR sequence for G-AIRMET Tango. In BUFR, how the
> data is depicted is not specified. Only the points describing the area
> and the attributes associated with that area are held.

  --------- -------- -----------------------------------------------------
                     **(Graphical AIRMET Tango)**

  3 16 071  3 01 014 Time period (for which AIRMET is valid)

            1 01 000 Delayed replication

            0 31 002 Replication factor

            3 16 077 GFA Turbulence

            1 01 000 Delayed replication

            0 31 002 Replication factor

            3 16 078 GFA Strong Surface Wind

            1 01 000 Delayed Replication

            0 31 002 Replication Factor

            3 16 079 GFA Low-Level Wind Shear
  --------- -------- -----------------------------------------------------

> **Table 4: G-AIRMET Tango BUFR Sequence**

2.  **Turbulence Representation**

> Turbulence is represented on a G-AIRMET Tango chart as an area drawn
> with a line. The appropriate intensity label is located at the center
> of the hazard area polygon. The base and top of the turbulence layer
> (100's feet AMSL or FL) will be included in the drawn area
>
> Please note that open and closed boundaries are used for encoding
> turbulence information -- see section 1.3.4.

1.  ***BUFR Sequence***

> Table 5 shows the BUFR sequence for *turbulence*. In BUFR, how the
> data is depicted is not specified. Only the points describing the area
> and the attributes associated with that area are held.

  --------- -------- -----------------------------------------------------
                     **(GFA Turbulence)**

  3 16 077  0 08 079 Product Status, 0=Normal, 1=COR, 2=AMD, 3=COR AMD,
                     4=CNL

            0 08 011 Meteorological feature, 13=Turbulence

            3 16 074 GFA Identifier and Observed/Forecast Location

            0 11 031 Degree of turbulence, 6=Moderate

            0 08 011 Meteorological feature, Missing=Cancel

            0 08 079 Product Status, Missing=Cancel
  --------- -------- -----------------------------------------------------

> **Table 5: G-AIRMET Tango Turbulence BUFR Sequence**

3.  **Strong Surface Winds Representation**

> Areas where the strong surface winds are in excess of 30 knots
> specified at 10 meters above the ground are represented on a G-AIRMET
> Tango chart as an area drawn with a line.
>
> Please note that open and closed boundaries are used for encoding
> turbulence information -- see section 1.3.4.

1.  ***BUFR Sequence***

> Table 6 shows the BUFR sequence for *strong surface winds*. In BUFR,
> how the data is depicted is not specified. Only the points describing
> the area and the attributes associated with that area are held.

  --------- -------- -----------------------------------------------------
                     **(GFA Strong Surface Wind)**

  3 16 078  0 08 079 Product Status, 0=Normal, 1=COR, 2=AMD, 3=COR AMD,
                     4=CNL

            0 08 041 Data significance, 10=Strong surface wind

            3 16 074 GFA Identifier and Observed/Forecast Location

            0 33 042 Type of limit represented by the following (wind
                     speed) value, 0=Exclusive lower limit

            0 11 012 Wind speed at 10 m

            0 08 041 Data significance, Missing=Cancel

            0 08 079 Product Status, Missing=Cancel
  --------- -------- -----------------------------------------------------

> **Table 6: G-AIRMET Tango Strong Surface Wind BUFR Sequence**

4.  **Low-Level Wind Shear Representation**

> Areas of wind shear, other than that which is convectively induced,
> that exceed 10 knots per 100 feet below 2000 feet AGL are represented
> on a G-AIRMET Tango chart as an area. A text box with 'LLWS' inside it
> is associated with the area.

1.  ***BUFR Sequence***

> Table 7 shows the BUFR sequence for *low-level wind shear*. In BUFR,
> how the data is depicted is not specified. Only the points describing
> the line and the attributes associated with that line are held.

  --------- -------- -----------------------------------------------------
                     **(GFA Low-Level Wind Shear)**

  3 16 079  0 08 079 Product Status, 0=Normal, 1=COR, 2=AMD, 3=COR AMD,
                     4=CNL

            0 08 011 Meteorological feature, 16=Phenomenon

            3 16 074 GFA Identifier and Observed/Forecast Location

            0 20 023 Other weather phenomena, bit 12=Wind shear

            0 20 024 Intensity of phenomena

            0 08 011 Meteorological feature, Missing=Cancel

            0 08 079 Product Status, Missing=Cancel
  --------- -------- -----------------------------------------------------

> **Table 7: G-AIRMET Tango Low Level Wind Shear BUFR Sequence**

6.  **Graphical AIRMET Zulu**

    1.  **G-AIRMET Tango Representation**

        1.  **BUFR Sequence**

> Table 8 shows the BUFR sequence for G-AIRMET Zulu. In BUFR, how the
> data is depicted is not specified. Only the points describing the area
> and the attributes associated with that area are held.

  --------- -------- -----------------------------------------------------
                     **(Graphical AIRMET Zulu)**

  3 16 073  3 01 014 Time period (for which AIRMET is valid)

            1 01 000 Delayed replication

            0 31 002 Replication factor

            3 16 080 GFA Icing

            1 01 000 Delayed replication

            0 31 002 Replication factor

            3 16 081 GFA Freezing Level
  --------- -------- -----------------------------------------------------

> **Table 8: G-AIRMET Zulu BUFR Sequence**

2.  **Icing Representation**

> Icing is represented on a G-AIRMET Zulu chart as an area drawn with a
> line. The appropriate intensity label is located at the center of the
> hazard area polygon. The base and top of the icing layer (100's feet
> AMSL or FL) will be included in the drawn area.
>
> Please note that open and closed boundaries are used for encoding
> icing information -- see section 1.3.4.

1.  ***BUFR Sequence***

> Table 9 shows the BUFR sequence for *icing*. In BUFR, how the data is
> depicted is not specified. Only the points describing the line and the
> attributes associated with that line are held.

  --------- -------- -----------------------------------------------------
                     **(GFA Icing )**

  3 16 080  0 08 079 Product Status, 0=Normal, 1=COR, 2=AMD, 3=COR AMD,
                     4=CNL

            0 08 011 Meteorological feature, 15=Airframe Icing

            3 16 074 GFA Identifier and Observed/Forecast Location

            0 20 041 Airframe icing, 4=Moderate Icing

            0 08 011 Meteorological feature, Missing=Cancel

            0 08 079 Product Status, Missing=Cancel
  --------- -------- -----------------------------------------------------

> **Table 9: G-AIRMET Zulu Moderate Icing BUFR Sequence**

3.  **Freezing Level Representation**

> The freezing level heights are delineated by a single line on the GFA
> chart at 4000 feet AMSL intervals. A text box which details the height
> of the lowest freezing level (in hundreds of feet AMSL or SFC) is
> associated with each freezing level.

1.  ***BUFR Sequence***

> Table 10 shows the BUFR sequence for *freezing level heights*. In
> BUFR, how the data is depicted is not specified. Only the points
> describing the line and the attributes associated with that line are
> held.

  --------- -------- -----------------------------------------------------
                     **(GFA Freezing Level)**

  3 16 080  0 08 079 Product Status, 0=Normal, 1=COR, 2=AMD, 3=COR AMD,
                     4=CNL

            0 08 041 Data significance, 11=Freezing level, 12=Multiple
                     freezing level

            3 16 074 GFA Identifier and Observed/Forecast Location

            0 08 041 Data significance, Missing=Cancel

            0 08 079 Product Status, Missing=Cancel
  --------- -------- -----------------------------------------------------

> **Table 10: GFA Freezing Level BUFR Sequence**

7.  **BUFR Documentation**

> This page contains access to detailed format descriptions that apply
> to the BUFR format.
>
> http://dss.ucar.edu/docs/formats/bufr/

8.  **Contact Details**

> The Aviation Weather Center can provide a consultancy service to
> assist individual clients in the construction of GFA visualization
> software that is fully compliant with ICAO Annex 3 and the software
> criteria that have been constructed by the ICAO SADIS Operations
> Group. Please contact the Aviation Weather Center via the contact
> details below for further information.

Clinton E. Wallace

> Chief, Aviation Support Branch

Email: clinton.wallace@noaa.gov

***[Appendix: G-AIRMET Examples]{.underline}***

**G-AIRMET BUFR Examples:**

**I. Introduction** 

Example AIRMET products (G-AIRMETs) have been encoded into BUFR format
for each of the Bulletin Designators SIERRA, TANGO, and ZULU.  This
follows a similar convention used today in AIRMET text products.   The
following table lists the associated hazards associated with each:

  -----------------------------------------------------------------------
  SIERRA                  TANGO                   ZULU
  ----------------------- ----------------------- -----------------------
  IFR (Includes           Turbulence (Includes    Icing
  Ceiling/Visibility)     High and Low level      
                          Turbulence)             

  Mountain Obscuration    Strong Surface Winds    Freezing Level &
                                                  Multiple Freezing Level

                          Low Level Wind Shear    
  -----------------------------------------------------------------------

The data is used to populate the BUFR message in these examples is
derived through a multi-stage process consisting of these steps:

-   The G-AIRMETs are drawn using the GEMPAK/N-AWIPS software NMAP2.  
    Each AIRMET is stored internally in that software as a GFA
    (Graphical Forecast Area) object, consisting of many attributes
    (e.g. Time, Location, Line Type and Color, etc.). The AIRMETs drawn
    graphically in NMAP are referenced as G-AIRMETs.

-   The objects are saved into a Vector Graphics Format File (VGF), a
    format unique to the GEMPAK/NAWIPS software.

-   The VGF files are processed into XML document files.  The XML files
    are used to generate the AIRMET Text Products and the example
    G-AIRMET BUFR messages referred to in this document. 

The XML files used in the creation of the BUFR message follow a format
used in the proposed BUFR sequences.   Element names match the
descriptor sequences, while attributes are tagged onto each element to
provide additional details.  The "type" attribute will be used to
qualify the associated Code Table value listed under the attribute
"bufrCode".

For elements describing flight levels, visibility, or wind speed, the
"units" attribute will be used to indicate whether the values are in
feet, statute miles, or knots.  The units on these variables will be
converted accordingly in the encoding process to BUFR.

**[Additional Information:]{.underline}**

-   AIRMET products are issued at 0245Z, 0845Z, 1445Z, 2045Z.   The text
    products are issued with a validity period from the top of the hour
    for a period of 6 hours.  The forecast content of an AIRMET goes out
    to 12 hours. For example, the 0245Z issued product would be valid
    for a period from 0300Z until 0900Z, with individual hazard elements
    forecast through 15Z.  AIRMETs may be amended in between these times
    as needed.  The BUFR examples described in this document follow this
    convention.

-   Each GFA Object will be given a tag ID (sequence ID), consisting of
    a number and a letter designator of 'E', 'C', 'W', for East,
    Central, or West; the region that it is associated with.  
     (Examples:  1E, 4C, 3W).

-   Tags for Turbulence are prefixed with the letters 'H' or 'L'.  This
    convention is used for internal reference, used by forecasters to
    discriminate between high and low level turbulence.  There is no
    "official" cut-off level to discriminate between high and low-level
    turbulence.

1.  Each GFA Object is internally assigned a forecast hour, referenced
    with respect to the validity start time of the product.  For
    example, on a 0245Z product, a forecast hour of 0 would correspond
    to 0300Z, and a forecast hour of 3 would correspond to 0600Z.    GFA
    Objects could be valid for forecast hours of 0, 3, 6, 9, and 12
    hours from the initial valid time of the product, and times in
    between.

-   Each GFA Object is internally assigned an Issue Type (Status).  This
    would be Normal (during a standard issuance), and New, Correction,
    Amendment, or Cancellation (during other times).

Examples described in this document will include the following:

-   A Brief Narrative Description, including the Validity time Period
    with an Issue Time, and Valid Until Time.

-   A GIF image with polygons and labels depicting the GFA Hazards.

-   An XML document consisting of a textual representation of the data
    encoded into the BUFR message. 

**[GIF Image Nomenclature:]{.underline}**

The GIF Images are generated such that the hazard areas are depicted
with a unique line with specific colors, types, and labels.   The labels
are depicted with a Status message, if the GFA object pertains to an
Amendment (AMD), Correction (COR), or Cancellation (CANCEL) reference. 
[***Otherwise, the Status is omitted, if the hazard is associated with a
standard issued product***.]{.underline} Reference the table below for
examples.

+----------------+----------------+----------------+-----------------+
| Hazard         | Line Example   | Label Format   | Example         |
+================+================+================+=================+
| IFR            | ![](media/i    | \<Status\>     | ![](media       |
|                | mage2.png){wid |                | /image3.png){wi |
|                | th="0.80625in" | Forecast Hour, | dth="1.65625in" |
|                | heigh          | Tag            | hei             |
|                | t="4.166666666 |                | ght="0.55902777 |
|                | 6666664e-2in"} | IFR\|IFR       | 77777778in"}(a) |
|                |                | _CIG\|IFR_VIS, | IFR_CIG Label   |
|                |                | Weather        | used on CIGS    |
|                |                |                | BLO 010         |
|                |                |                | condition only. |
|                |                |                |                 |
|                |                |                | \(b\) IFR_VIS   |
|                |                |                | Label used on   |
|                |                |                | VIS BLO 3 SM    |
|                |                |                | condition only. |
|                |                |                |                 |
|                |                |                | © IFR Label     |
|                |                |                | used if         |
|                |                |                | conditions (a)  |
|                |                |                | & (b) are both  |
|                |                |                | met.            |
+----------------+----------------+----------------+-----------------+
| Mountain       | ![](medi       | \<Status\>     | ![](me          |
| Obscuration    | a/image4.png){ |                | dia/image5.png) |
|                | width="0.84791 | Forecast Hour, | {width="0.44722 |
|                | 66666666667in" | Tag Mountain   | 222222222224in" |
|                | heig           | Obsc Symbol,   | height="0.55069 |
|                | ht="5.48611111 | Weather        | 44444444445in"} |
|                | 1111111e-2in"} |                |                 |
+----------------+----------------+----------------+-----------------+
| Turbulence     | ![](medi       | \<Status\>     | ![](m           |
|                | a/image6.png){ |                | edia/image8.png |
|                | width="0.85347 | Forecast Hour, | ){width="0.8645 |
|                | 22222222222in" | Tag Mod. Turb. | 833333333334in" |
|                | heigh          | Symbol, Top    | hei             |
|                | t="0.15625in"} | and Base \*    | ght="0.5625in"} |
+----------------+----------------+----------------+-----------------+
| Strong Surface | ![](medi       | \<Status\>     | ![](me          |
| Wind 30 knots  | a/image9.png){ |                | dia/image10.png |
| or greater     | width="0.92083 | Forecast Hour, | ){width="0.3854 |
|                | 33333333333in" | Tag            | 166666666667in" |
|                | hei            |                | h               |
|                | ght="0.1354166 | Symbol         | eight="0.374305 |
|                | 6666666666in"} |                | 55555555556in"} |
+----------------+----------------+----------------+-----------------+
| LLWS           | ![](media      | \<Status\>     | ![](me          |
|                | /image11.png){ |                | dia/image12.png |
|                | width="0.89513 | LLWS           | ){width="0.4152 |
|                | 88888888889in" |                | 777777777778in" |
|                | heigh          |                | h               |
|                | t="0.15625in"} |                | eight="0.197222 |
|                |                |                | 22222222222in"} |
+----------------+----------------+----------------+-----------------+
| Icing          | ![](media      | \<Status\>     | ![](media/      |
|                | /image13.png){ |                | image14.png){wi |
|                | width="0.75416 | Forecast Hour, | dth="0.40625in" |
|                | 66666666667in" | Tag, Mod.      | height="0.57152 |
|                | heig           | Icing Symbol,  | 77777777777in"} |
|                | ht="7.15277777 |                |                 |
|                | 7777777e-2in"} | Top and Base   |                 |
|                |                | \*             |                 |
+----------------+----------------+----------------+-----------------+
| Freezing Level | ![](media      | \<status\>     | ![](me          |
|                | /image15.png){ |                | dia/image17.png |
|                | width="0.79166 | Forecast Hour, | ){width="0.5506 |
|                | 66666666666in" | Tag            | 944444444445in" |
|                | hei            |                | height="0.29166 |
|                | ght="0.1590277 | 0°:  Level \*  | 66666666667in"} |
|                | 7777777777in"} |                |                 |
|                | (Surface)      |                |                 |
|                |                |                |                 |
|                | (All Other     |                |                 |
|                | Levels)        |                |                 |
|                |                |                |                 |
|                | (Both Cases:   |                |                 |
|                | Lower Heights  |                |                 |
|                | to Left of     |                |                 |
|                | Arrow)         |                |                 |
+----------------+----------------+----------------+-----------------+
| Multi-Freezing | ![](media      | \<status\>     | ![](media/      |
| Level          | /image18.png){ |                | image19.png){wi |
|                | width="0.67708 | Forecast Hour, | dth="0.40625in" |
|                | 33333333334in" | Tag,           | height="0.48888 |
|                | heig           |                | 88888888889in"} |
|                | ht="8.26388888 | 0° Top and     |                 |
|                | 8888889e-2in"} | Base \*        |                 |
+----------------+----------------+----------------+-----------------+

> \* Tops, bases and levels are expressed in Hundreds Feet. If the base
> should be at the surface, SFC is used. If base is at the Freezing
> Level, FZL is used. A top and a base associated with the Freezing
> Level will be listed in the XML document and also encoded into BUFR.

**[XML Document Nomenclature]{.underline}**

The XML document used in creating the BUFR messages follows this general
convention:

\<gfaInfo\>

\<bulletin type="***TYPE***"\>

\<productValidTime\>

\<validFrom date = "YYYY-MM-DD" time = "HH:MM:SS"/\>

\<validUntil date="YYYY-MM-DD" time="HH:MM:SS"/\>

\</productValidTime

\<gfaObject type="***HAZARD 1***"\>

\...(Detailed Sub Elements describing HAZARD)\...

\</gfaObject\>

\<gfaObject type="***HAZARD 2***"\>

\...(Detailed Sub Elements describing HAZARD)\...

\</gfaObject\>

\</bulletin\>

\</gfaInfo\>

where **TYPE** may be SIERRA, TANGO, or ZULU.

where **HAZARD** may be IFR, MT_OBSC, TURB-HI, TURB-LO, SFC_WND, LLWS,
ICE, FZLVL, or M_FZLVL.

The sub-elements used in describing each GFA Object follows a structure
similar to that used in the proposed G-AIRMET sequences. See the example
XML documents listed for further details.

**NOTE**: Each Bulletin Type may contain 0 or more gfaObjects associated
with each particular hazard. During creation of the BUFR message, the
objects for each particular hazard are counted, with the count assigned
to the appropriate replication factor.

**II. EXAMPLES**

**1. SIERRA**

**Description:**

The example contains one IFR area and one Mountain Obscuration area.
These areas are valid at forecast hour 0 or 2100Z.

Issued: 2045Z 2006/10/06 (Standard Issuance)

Valid Until: 0300Z 2006/10/07

**Reference:** XML Document File: 20061006_2045_SIERRA_rg.xml

BUFR File: 20061006_2045_SIERRA.bufr

BUFR Dump File: 20061006_2045_SIERRA_bufr.txt

**GIF Image:**

![](media/image20.png){width="2.6145833333333335in"
height="1.8854166666666667in"}

**XML Document: (Condensed with Intermediary Vertex Points omitted):**

**NOTE**: The Horizontal Description Section (3-01-028) is repeated
twice in handling the CIGS BLO 010 condition for the IFR Hazard.
Reference International SIGMET Sequence Document, Footnote 1(c)a. to
descriptor 3-01-027.

**\<?xml version=\"1.0\" encoding=\"iso-8859-1\"?\>**

**\<gfaInfo\>**

**\<bulletin type=\"SIERRA\"\>**

**\<productValidTime\>**

**\<validFrom date=\"2006-10-06\" time=\"20:45:00\"/\>**

**\<validUntil date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\</productValidTime\>**

**\<gfaObject type=\"IFR\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<dataSig type=\"IFR Ceiling and Visibility\" bufrCode=\"8\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>1E\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-06\" time=\"21:00:00\"/\>**

**\<validUntil date=\"2006-10-06\" time=\"21:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>2\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevelLimit type=\"Above and Including\" bufrCode=\"1\"/\>**

**\<flightLevel units=\"hundreds feet\"\>010\</flightLevel\>**

**\<numberVertexPoints\>17\</numberVertexPoints\>**

**\<vertex latitude=\"40.56\" longitude=\"-079.14\"/\>**

**\...**

**\<vertex latitude=\"38.28\" longitude=\"-081.12\"/\>**

**\</horizontalDescription\>**

**\<horizontalDescription\>**

**\<flightLevelLimit type=\"Below and Including\" bufrCode=\"3\"/\>**

**\<flightLevel units=\"hundreds feet\"\>010\</flightLevel\>**

**\<numberVertexPoints\>17\</numberVertexPoints\>**

**\<vertex latitude=\"40.56\" longitude=\"-079.14\"/\>**

**\...**

**\<vertex latitude=\"38.28\" longitude=\"-081.12\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\<flightRules type=\"IFR\" bufrCode=\"1\"/\>**

**\<cloudBaseLimit type=\"Below\" bufrCode=\"2\"/\>**

**\<cloudBase units=\"hundreds feet\"\>010\</cloudBase\>**

**\<visibilityLimit type=\"Below\" bufrCode=\"2\"/\>**

**\<visibility units=\"statute miles\"\>3\</visibility\>**

**\<obscuration type=\"PCPN\" bufrFlag=\"15\"/\>**

**\<obscuration type=\"BR\" bufrFlag=\"7\"/\>**

**\<obscuration type=\"FG\" bufrFlag=\"1\"/\>**

**\<numberObscurations\>3\</numberObscurations\>**

**\</dataSig\>**

**\</productStatus\>**

**\</gfaObject\>**

**\<gfaObject type=\"MT_OBSC\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<dataSig type=\"Mountain Obscuration\" bufrCode=\"9\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>1E\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-06\" time=\"21:00:00\"/\>**

**\<validUntil date=\"2006-10-06\" time=\"21:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>1\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<numberVertexPoints\>6\</numberVertexPoints\>**

**\<vertex latitude=\"40.59\" longitude=\"-078.79\"/\>**

**\...**

**\<vertex latitude=\"38.54\" longitude=\"-081.52\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\<flightRules type=\"IFR\" bufrCode=\"1\"/\>**

**\<obscuration type=\"CLDS\" bufrFlag=\"14\"/\>**

**\<obscuration type=\"PCPN\" bufrFlag=\"15\"/\>**

**\<obscuration type=\"BR\" bufrFlag=\"7\"/\>**

**\<numberObscurations\>3\</numberObscurations\>**

**\</dataSig\>**

**\</productStatus\>**

**\</gfaObject\>**

**\</bulletin\>**

**\</gfaInfo\>**

2.  **TANGO**

> **Description:**
>
> The example contains one area of each of the following: High Level
> Turbulence, Low Level Turbulence, Strong Surface Winds of 30 knots or
> greater, Low-Level Wind Shear. These areas are valid at forecast hour
> 6 or 0300Z.

Issued: 2045Z 2006/10/06 (Standard Issuance)

Valid Until: 0300Z 2006/10/07

**Reference:** XML Document File: 20061006_2045_TANGO_rg.xml

BUFR File: 20061006_2045_TANGO.bufr

BUFR Dump File: 20061006_2045_TANGO_bufr.txt

**GIF Image:**

**NOTE**: The Low-Level Turbulence and Low-Level Wind Shear areas
overlap over Virginia.

![](media/image21.png){width="3.3506944444444446in"
height="3.532638888888889in"}

**XML Document: (Condensed with Intermediary Vertex Points omitted):**

**\<?xml version=\"1.0\" encoding=\"iso-8859-1\"?\>**

**\<gfaInfo\>**

**\<bulletin type=\"TANGO\"\>**

**\<productValidTime\>**

**\<validFrom date=\"2006-10-06\" time=\"20:45:00\"/\>**

**\<validUntil date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\</productValidTime\>**

**\<gfaObject type=\"TURB-HI\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<metFeature type=\"Turbulence\" bufrCode=\"13\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>1E\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\<validUntil date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>2\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Flight Level Base\" bufrCode=\"36\"/\>**

**\<flightLevel units=\"hundreds feet\"\>190\</flightLevel\>**

**\<numberVertexPoints\>6\</numberVertexPoints\>**

**\<vertex latitude=\"46.42\" longitude=\"-067.14\"/\>**

**\...**

**\<vertex latitude=\"45.43\" longitude=\"-073.22\"/\>**

**\</horizontalDescription\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Flight Level Top\" bufrCode=\"37\"/\>**

**\<flightLevel units=\"hundreds feet\"\>370\</flightLevel\>**

**\<numberVertexPoints\>6\</numberVertexPoints\>**

**\<vertex latitude=\"46.42\" longitude=\"-067.14\"/\>**

**\...**

**\<vertex latitude=\"45.43\" longitude=\"-073.22\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\<degreeOfTurb type=\"Moderate\" bufrCode=\"6\"/\>**

**\</metFeature\>**

**\</productStatus\>**

**\</gfaObject\>**

**\<gfaObject type=\"TURB-LO\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<metFeature type=\"Turbulence\" bufrCode=\"13\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>1E\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\<validUntil date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>1\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevelLimit type=\"Below and Including\" bufrCode=\"3\"/\>**

**\<flightLevelSig type=\"Flight Level Top\" bufrCode=\"37\"/\>**

**\<flightLevel units=\"hundreds feet\"\>100\</flightLevel\>**

**\<numberVertexPoints\>6\</numberVertexPoints\>**

**\<vertex latitude=\"38.19\" longitude=\"-075.61\"/\>**

**\...**

**\<vertex latitude=\"38.28\" longitude=\"-080.25\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\<degreeOfTurb type=\"Moderate\" bufrCode=\"6\"/\>**

**\</metFeature\>**

**\</productStatus\>**

**\</gfaObject\>**

**\<gfaObject type=\"SFC_WND\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<dataSig type=\"Strong Surface Wind\" bufrCode=\"10\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>1E\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\<validUntil date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>1\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Surface\" bufrCode=\"20\"/\>**

**\<numberVertexPoints\>5\</numberVertexPoints\>**

**\<vertex latitude=\"39.29\" longitude=\"-066.86\"/\>**

**\...**

**\<vertex latitude=\"40.35\" longitude=\"-071.63\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\<windSpeedLimit type=\"Above\" bufrCode=\"0\"/\>**

**\<windSpeed units=\"knots\"\>30\</windSpeed\>**

**\</dataSig\>**

**\</productStatus\>**

**\</gfaObject\>**

**\<gfaObject type=\"LLWS\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<metFeature type=\"Phenomenon\" bufrCode=\"16\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>1E\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\<validUntil date=\"2006-10-07\" time=\"03:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>1\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevelLimit type=\"Below and Including\" bufrCode=\"3\"/\>**

**\<flightLevelSig type=\"Flight Level Top\" bufrCode=\"37\"/\>**

**\<flightLevel units=\"hundreds feet\"\>020\</flightLevel\>**

**\<numberVertexPoints\>5\</numberVertexPoints\>**

**\<vertex latitude=\"38.77\" longitude=\"-077.76\"/\>**

**\...**

**\<vertex latitude=\"38.00\" longitude=\"-080.19\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\<otherWxPhenomena type=\"Wind Shear\" bufrflag=\"12\"/\>**

**\</metFeature\>**

**\</productStatus\>**

**\</gfaObject\>**

**\</bulletin\>**

**\</gfaInfo\>**

3.  **ZULU**

> Description:
>
> The example includes two areas of Icing, three Freezing Levels (a
> closed area at the surface and two open areas at 4000 feet), and one
> Multiple Freezing Level area. All areas are valid at forecast 3 or
> 1800Z.

Issued: 1445Z 2006/10/18 (Standard Issuance)

Valid Until: 2100Z 2006/10/18

**Reference:** XML Document File: 20061018_1445_ZULU_rg.xml

BUFR File: 20061018_1445_ZULU.bufr

BUFR Dump File: 20061018_1445_ZULU_bufr.txt

**GIF Image:**

![](media/image22.png){width="5.0in" height="2.40625in"}

**XML Document: (Condensed with Intermediary Vertex Points omitted):**

**NOTE:** For both icing areas, the base is encoded as the first level,
while the top is encoded as the second level. In the case of the icing
area over the mid-west, with a top/base combination of 180/FZL, the two
levels composing the Freezing Level are encoded for the first two levels
(base first), while the top is encoded as the third level. ***Not
provided in this example, was a scenario for when an AIRMET contains a
base specified as the freezing level (FZL), and the base of the freezing
level extends down to the surface. In that scenario it would be possible
that the top is specified at 180 feet, but the base FZL has a
variability from 050 feet down to the surface. The question would be
whether the base Freezing Level should be expressed as a single level as
opposed to two, using the type of limit descriptor value of 3 for
0-33-042. If two levels are used, "SFC" would have to be decoded to a
value of "0", when encoding to BUFR. In either case specific decoder
work is required to be able to decipher all scenarios.***

**\<?xml version=\"1.0\" encoding=\"iso-8859-1\"?\>**

**\<gfaInfo\>**

**\<bulletin type=\"ZULU\"\>**

**\<productValidTime\>**

**\<validFrom date=\"2006-10-18\" time=\"14:45:00\"/\>**

**\<validUntil date=\"2006-10-18\" time=\"21:00:00\"/\>**

**\</productValidTime\>**

**\<gfaObject type=\"ICE\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<metFeature type=\"Airframe Icing\" bufrCode=\"15\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>1W\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\<validUntil date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>3\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Freezing Level Base\" bufrCode=\"34\"/\>**

**\<flightLevel units=\"hundreds feet\"\>030\</flightLevel\>**

**\<numberVertexPoints\>9\</numberVertexPoints\>**

**\<vertex latitude=\"46.29\" longitude=\"-091.46\"/\>**

**\...**

**\<vertex latitude=\"44.92\" longitude=\"-098.90\"/\>**

**\</horizontalDescription\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Freezing Level Top\" bufrCode=\"35\"/\>**

**\<flightLevel units=\"hundreds feet\"\>080\</flightLevel\>**

**\<numberVertexPoints\>9\</numberVertexPoints\>**

**\<vertex latitude=\"46.29\" longitude=\"-091.46\"/\>**

**\...**

**\<vertex latitude=\"44.92\" longitude=\"-098.90\"/\>**

**\</horizontalDescription\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Flight Level Top\" bufrCode=\"37\"/\>**

**\<flightLevel units=\"hundreds feet\"\>180\</flightLevel\>**

**\<numberVertexPoints\>9\</numberVertexPoints\>**

**\<vertex latitude=\"46.29\" longitude=\"-091.46\"/\>**

**\...**

**\<vertex latitude=\"44.92\" longitude=\"-098.90\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\<airframeIcing type=\"Moderate\" bufrCode=\"4\"/\>**

**\</metFeature\>**

**\</productStatus\>**

**\</gfaObject\>**

**\<gfaObject type=\"ICE\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<metFeature type=\"Airframe Icing\" bufrCode=\"15\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>2W\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\<validUntil date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>2\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Flight Level Base\" bufrCode=\"36\"/\>**

**\<flightLevel units=\"hundreds feet\"\>070\</flightLevel\>**

**\<numberVertexPoints\>5\</numberVertexPoints\>**

**\<vertex latitude=\"48.23\" longitude=\"-128.00\"/\>**

**\...**

**\<vertex latitude=\"44.53\" longitude=\"-126.54\"/\>**

**\</horizontalDescription\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Flight Level Top\" bufrCode=\"37\"/\>**

**\<flightLevel units=\"hundreds feet\"\>200\</flightLevel\>**

**\<numberVertexPoints\>5\</numberVertexPoints\>**

**\<vertex latitude=\"48.23\" longitude=\"-128.00\"/\>**

**\...**

**\<vertex latitude=\"44.53\" longitude=\"-126.54\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\<airframeIcing type=\"Moderate\" bufrCode=\"4\"/\>**

**\</metFeature\>**

**\</productStatus\>**

**\</gfaObject\>**

**\<gfaObject type=\"FZLVL\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<dataSig type=\"Freezing level\" bufrCode=\"11\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>1W\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\<validUntil date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>1\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Surface\" bufrCode=\"20\"/\>**

**\<numberVertexPoints\>8\</numberVertexPoints\>**

**\<vertex latitude=\"40.34\" longitude=\"-109.44\"/\>**

**\...**

**\<vertex latitude=\"45.41\" longitude=\"-112.25\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\</dataSig\>**

**\</productStatus\>**

**\</gfaObject\>**

**\<gfaObject type=\"FZLVL\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<dataSig type=\"Freezing level\" bufrCode=\"11\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>2W\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\<validUntil date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Line\" bufrCode=\"1\"\>**

**\<numberOfLevels\>1\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevel units=\"hundreds feet\"\>040\</flightLevel\>**

**\<numberVertexPoints\>10\</numberVertexPoints\>**

**\<vertex latitude=\"50.06\" longitude=\"-104.89\"/\>**

**\...**

**\<vertex latitude=\"49.09\" longitude=\"-084.13\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\</dataSig\>**

**\</productStatus\>**

**\</gfaObject\>**

**\<gfaObject type=\"FZLVL\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<dataSig type=\"Freezing level\" bufrCode=\"11\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>3W\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\<validUntil date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Line\" bufrCode=\"1\"\>**

**\<numberOfLevels\>1\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevel units=\"hundreds feet\"\>080\</flightLevel\>**

**\<numberVertexPoints\>14\</numberVertexPoints\>**

**\<vertex latitude=\"48.62\" longitude=\"-124.69\"/\>**

**\...**

**\<vertex latitude=\"47.24\" longitude=\"-082.07\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\</dataSig\>**

**\</productStatus\>**

**\</gfaObject\>**

**\<gfaObject type=\"M_FZLVL\"\>**

**\<productStatus type=\"Normal\" bufrCode=\"0\"\>**

**\<dataSig type=\"Multiple freezing level\" bufrCode=\"12\"\>**

**\<gfaIdObsOrFcstLoc\>**

**\<id\>1W\</id\>**

**\<timeSig type=\"Forecast\" bufrCode=\"4\"\>**

**\<validTime\>**

**\<validFrom date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\<validUntil date=\"2006-10-18\" time=\"18:00:00\"/\>**

**\</validTime\>**

**\<objectDescription\>**

**\<dimensionSig type=\"Area\" bufrCode=\"2\"\>**

**\<numberOfLevels\>2\</numberOfLevels\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Flight Level Base\" bufrCode=\"36\"/\>**

**\<flightLevel units=\"hundreds feet\"\>050\</flightLevel\>**

**\<numberVertexPoints\>6\</numberVertexPoints\>**

**\<vertex latitude=\"40.07\" longitude=\"-097.74\"/\>**

**\...**

**\<vertex latitude=\"36.09\" longitude=\"-102.58\"/\>**

**\</horizontalDescription\>**

**\<horizontalDescription\>**

**\<flightLevelSig type=\"Flight Level Top\" bufrCode=\"37\"/\>**

**\<flightLevel units=\"hundreds feet\"\>110\</flightLevel\>**

**\<numberVertexPoints\>6\</numberVertexPoints\>**

**\<vertex latitude=\"40.07\" longitude=\"-097.74\"/\>**

**\...**

**\<vertex latitude=\"36.09\" longitude=\"-102.58\"/\>**

**\</horizontalDescription\>**

**\</dimensionSig\>**

**\</objectDescription\>**

**\</timeSig\>**

**\</gfaIdObsOrFcstLoc\>**

**\</dataSig\>**

**\</productStatus\>**

**\</gfaObject\>**

**\</bulletin\>**

**\</gfaInfo\>**