{
  "name": "TCA",
  "version": "1.0.0",
  "description": "TCA: Tropical Cyclone Advisory",
  "identifier": "TC ADVISORY",
  "templateMode": true,
  "template": {
    "labelColumnWidth": 28,
    "fields": [
      {
        "label": "DTG:",
        "labelType": "dtgLabel",
        "valueType": "dtgValue",
        "required": true,
        "placeholder": "20040925/1900Z"
      },
      {
        "label": "TCAC:",
        "labelType": "tcacLabel",
        "valueType": "tcacValue",
        "required": true,
        "placeholder": "MIAMI"
      },
      {
        "label": "TC:",
        "labelType": "tcLabel",
        "valueType": "tcValue",
        "required": true,
        "placeholder": "CYCLONE NAME"
      },
      {
        "label": "ADVISORY NR:",
        "labelType": "advisoryNrLabel",
        "valueType": "advisoryNrValue",
        "required": true,
        "placeholder": "2004/13"
      },
      {
        "label": "OBS PSN:",
        "labelType": "obsPsnLabel",
        "valueType": "obsPsnValue",
        "required": true,
        "placeholder": "25/1800Z N2706 W07306"
      },
      {
        "label": "CB:",
        "labelType": "cbLabel",
        "valueType": "cbValue",
        "required": false,
        "placeholder": "WI 250NM OF TC CENTRE TOP FL500"
      },
      {
        "label": "MOV:",
        "labelType": "movLabel",
        "valueType": "movValue",
        "required": true,
        "placeholder": "NW 20KMH"
      },
      {
        "label": "INTST CHANGE:",
        "labelType": "intstChangeLabel",
        "valueType": "intstChangeValue",
        "required": false,
        "placeholder": "INTSF"
      },
      {
        "label": "C:",
        "labelType": "centralPressureLabel",
        "valueType": "centralPressureValue",
        "required": true,
        "placeholder": "965HPA"
      },
      {
        "label": "MAX WIND:",
        "labelType": "maxWindLabel",
        "valueType": "maxWindValue",
        "required": true,
        "placeholder": "22MPS"
      },
      {
        "label": "FCST PSN +6 HR:",
        "labelType": "fcstPsn6Label",
        "valueType": "fcstPsnValue",
        "required": true,
        "placeholder": "25/2200Z N2748 W07350"
      },
      {
        "label": "FCST MAX WIND +6 HR:",
        "labelType": "fcstMaxWind6Label",
        "valueType": "maxWindValue",
        "required": true,
        "placeholder": "22MPS"
      },
      {
        "label": "FCST PSN +12 HR:",
        "labelType": "fcstPsn12Label",
        "valueType": "fcstPsnValue",
        "required": true,
        "placeholder": "26/0400Z N2830 W07430"
      },
      {
        "label": "FCST MAX WIND +12 HR:",
        "labelType": "fcstMaxWind12Label",
        "valueType": "maxWindValue",
        "required": true,
        "placeholder": "22MPS"
      },
      {
        "label": "FCST PSN +18 HR:",
        "labelType": "fcstPsn18Label",
        "valueType": "fcstPsnValue",
        "required": true,
        "placeholder": "26/1000Z N2852 W07500"
      },
      {
        "label": "FCST MAX WIND +18 HR:",
        "labelType": "fcstMaxWind18Label",
        "valueType": "maxWindValue",
        "required": true,
        "placeholder": "21MPS"
      },
      {
        "label": "FCST PSN +24 HR:",
        "labelType": "fcstPsn24Label",
        "valueType": "fcstPsnValue",
        "required": true,
        "placeholder": "26/1600Z N2912 W07530"
      },
      {
        "label": "FCST MAX WIND +24 HR:",
        "labelType": "fcstMaxWind24Label",
        "valueType": "maxWindValue",
        "required": true,
        "placeholder": "20MPS"
      },
      {
        "label": "RMK:",
        "labelType": "rmkLabel",
        "valueType": "rmkValue",
        "required": false,
        "placeholder": "NIL"
      },
      {
        "label": "NXT MSG:",
        "labelType": "nxtMsgLabel",
        "valueType": "nxtMsgValue",
        "required": true,
        "placeholder": "20040925/2000Z"
      }
    ]
  },
  "tokens": {
    "identifier": {
      "pattern": "^TC ADVISORY$",
      "category": "keyword",
      "description": "Message type identifier"
    },
    "statusLabel": {
      "pattern": "^STATUS:$",
      "category": "label",
      "description": "Status indicator label"
    },
    "statusValue": {
      "pattern": "^(TEST|EXER)$",
      "category": "keyword",
      "description": "Test or exercise indicator"
    },
    "dtgLabel": {
      "pattern": "^DTG:$",
      "category": "label",
      "description": "Date/time group label"
    },
    "dtgValue": {
      "pattern": "^\\d{8}/\\d{4}Z$",
      "category": "datetime",
      "description": "Date and time of origin YYYYMMDD/HHmmZ"
    },
    "tcacLabel": {
      "pattern": "^TCAC:$",
      "category": "label",
      "description": "TCAC name label"
    },
    "tcacValue": {
      "pattern": "^[A-Z][A-Z\\s\\-]{0,30}[A-Z]$|^[A-Z]+$",
      "category": "location",
      "description": "Name of TCAC (location indicator or full name)"
    },
    "tcLabel": {
      "pattern": "^TC:$",
      "category": "label",
      "description": "Tropical cyclone name label"
    },
    "tcValue": {
      "pattern": "^[A-Z][A-Z0-9\\s\\-]{0,20}$|^NN$",
      "category": "free-text",
      "description": "Tropical cyclone name or NN for unnamed"
    },
    "advisoryNrLabel": {
      "pattern": "^ADVISORY NR:$",
      "category": "label",
      "description": "Advisory number label"
    },
    "advisoryNrValue": {
      "pattern": "^\\d{4}/\\d{1,4}$",
      "category": "identifier",
      "description": "Advisory number YYYY/n[nnn]"
    },
    "obsPsnLabel": {
      "pattern": "^OBS PSN:$",
      "category": "label",
      "description": "Observed position label"
    },
    "obsPsnDtg": {
      "pattern": "^\\d{2}/\\d{4}Z$",
      "category": "datetime",
      "description": "Observation day and time DD/HHmmZ"
    },
    "position": {
      "pattern": "^[NS]\\d{2,4}\\s[EW]\\d{3,5}$",
      "category": "location",
      "description": "Geographic position Nnn[nn] Wnnn[nn] or Snn[nn] Ennn[nn]"
    },
    "obsPsnValue": {
      "pattern": "^\\d{2}/\\d{4}Z\\s[NS]\\d{2,4}\\s[EW]\\d{3,5}$",
      "category": "free-text",
      "description": "Observed position: DD/HHmmZ + position"
    },
    "fcstPsnValue": {
      "pattern": "^\\d{2}/\\d{4}Z\\s[NS]\\d{2,4}\\s[EW]\\d{3,5}$",
      "category": "free-text",
      "description": "Forecast position: DD/HHmmZ + position"
    },
    "cbValue": {
      "pattern": "^(WI \\d{1,3}(KM|NM) OF TC CENTRE( TOP (ABV |BLW )?FL\\d{3})?|NIL)$",
      "category": "free-text",
      "description": "CB cloud information or NIL"
    },
    "cbLabel": {
      "pattern": "^CB:$",
      "category": "label",
      "description": "Observed CB cloud label"
    },
    "cbWithinDistance": {
      "pattern": "^WI \\d{1,3}(KM|NM) OF TC CENTRE$",
      "category": "measurement",
      "description": "CB within distance of TC centre"
    },
    "cbTopFl": {
      "pattern": "^TOP (ABV |BLW )?FL\\d{3}$",
      "category": "measurement",
      "description": "Top of CB cloud flight level"
    },
    "cbNil": {
      "pattern": "^NIL$",
      "category": "keyword",
      "description": "No CB cloud observed"
    },
    "movLabel": {
      "pattern": "^MOV:$",
      "category": "label",
      "description": "Movement label"
    },
    "movValue": {
      "pattern": "^(N|NNE|NE|ENE|E|ESE|SE|SSE|S|SSW|SW|WSW|W|WNW|NW|NNW) \\d{1,3}(KMH|KT)$",
      "category": "measurement",
      "description": "Movement direction and speed"
    },
    "movStnr": {
      "pattern": "^STNR$",
      "category": "keyword",
      "description": "Stationary"
    },
    "intstChangeLabel": {
      "pattern": "^INTST CHANGE:$",
      "category": "label",
      "description": "Intensity change label"
    },
    "intstChangeValue": {
      "pattern": "^(INTSF|WKN|NC)$",
      "category": "keyword",
      "description": "Intensity change: intensifying, weakening, or no change"
    },
    "centralPressureLabel": {
      "pattern": "^C:$",
      "category": "label",
      "description": "Central pressure label"
    },
    "centralPressureValue": {
      "pattern": "^\\d{3,4}HPA$",
      "category": "measurement",
      "description": "Central pressure in hPa"
    },
    "maxWindLabel": {
      "pattern": "^MAX WIND:$",
      "category": "label",
      "description": "Maximum surface wind label"
    },
    "maxWindValue": {
      "pattern": "^\\d{2,3}(MPS|KT)$",
      "category": "measurement",
      "description": "Maximum surface wind speed"
    },
    "fcstPsn6Label": {
      "pattern": "^FCST PSN \\+6 HR:$",
      "category": "label",
      "description": "Forecast position +6 hours label"
    },
    "fcstMaxWind6Label": {
      "pattern": "^FCST MAX WIND \\+6 HR:$",
      "category": "label",
      "description": "Forecast max wind +6 hours label"
    },
    "fcstPsn12Label": {
      "pattern": "^FCST PSN \\+12 HR:$",
      "category": "label",
      "description": "Forecast position +12 hours label"
    },
    "fcstMaxWind12Label": {
      "pattern": "^FCST MAX WIND \\+12 HR:$",
      "category": "label",
      "description": "Forecast max wind +12 hours label"
    },
    "fcstPsn18Label": {
      "pattern": "^FCST PSN \\+18 HR:$",
      "category": "label",
      "description": "Forecast position +18 hours label"
    },
    "fcstMaxWind18Label": {
      "pattern": "^FCST MAX WIND \\+18 HR:$",
      "category": "label",
      "description": "Forecast max wind +18 hours label"
    },
    "fcstPsn24Label": {
      "pattern": "^FCST PSN \\+24 HR:$",
      "category": "label",
      "description": "Forecast position +24 hours label"
    },
    "fcstMaxWind24Label": {
      "pattern": "^FCST MAX WIND \\+24 HR:$",
      "category": "label",
      "description": "Forecast max wind +24 hours label"
    },
    "fcstDtgValue": {
      "pattern": "^\\d{2}/\\d{4}Z$",
      "category": "datetime",
      "description": "Forecast valid day and time DD/HHmmZ"
    },
    "rmkLabel": {
      "pattern": "^RMK:$",
      "category": "label",
      "description": "Remarks label"
    },
    "rmkValue": {
      "pattern": "^([A-Z0-9][A-Z0-9\\-\\.\\/\\(\\)\\,\\+\\s]{0,254}|\\.{2,3}[A-Z][A-Z0-9\\/]+)$|^NIL$",
      "category": "free-text",
      "description": "Remarks (free text up to 256 characters) or NIL"
    },
    "nxtMsgLabel": {
      "pattern": "^NXT MSG:$",
      "category": "label",
      "description": "Next message label"
    },
    "nxtMsgValue": {
      "pattern": "^\\d{8}/\\d{4}Z$",
      "category": "datetime",
      "description": "Next message date/time YYYYMMDD/HHmmZ"
    },
    "nxtMsgBfr": {
      "pattern": "^BFR \\d{8}/\\d{4}Z$",
      "category": "datetime",
      "description": "Next message before date/time"
    },
    "nxtMsgNoExp": {
      "pattern": "^NO MSG EXP$",
      "category": "keyword",
      "description": "No message expected"
    }
  },
  "structure": [
    {
      "id": "identifier",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "statusGroup",
      "cardinality": [
        0,
        1
      ],
      "sequence": [
        {
          "id": "statusLabel",
          "cardinality": [
            0,
            1
          ]
        },
        {
          "id": "statusValue",
          "cardinality": [
            1,
            1
          ]
        }
      ]
    },
    {
      "id": "dtgLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "dtgValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "tcacLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "tcacValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "tcLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "tcValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "advisoryNrLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "advisoryNrValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "obsPsnLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "obsPsnDtg",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "position",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "cbGroup",
      "cardinality": [
        0,
        1
      ],
      "sequence": [
        {
          "id": "cbLabel",
          "cardinality": [
            1,
            1
          ]
        },
        {
          "id": "cbContent",
          "cardinality": [
            1,
            1
          ],
          "oneOf": [
            {
              "id": "cbDetails",
              "cardinality": [
                1,
                1
              ],
              "sequence": [
                {
                  "id": "cbWithinDistance",
                  "cardinality": [
                    1,
                    1
                  ]
                },
                {
                  "id": "cbTopFl",
                  "cardinality": [
                    0,
                    1
                  ]
                }
              ]
            },
            {
              "id": "cbNil",
              "cardinality": [
                1,
                1
              ]
            }
          ]
        }
      ]
    },
    {
      "id": "movLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "movContent",
      "cardinality": [
        1,
        1
      ],
      "oneOf": [
        {
          "id": "movValue",
          "cardinality": [
            1,
            1
          ]
        },
        {
          "id": "movStnr",
          "cardinality": [
            1,
            1
          ]
        }
      ]
    },
    {
      "id": "intstChangeGroup",
      "cardinality": [
        0,
        1
      ],
      "sequence": [
        {
          "id": "intstChangeLabel",
          "cardinality": [
            1,
            1
          ]
        },
        {
          "id": "intstChangeValue",
          "cardinality": [
            1,
            1
          ]
        }
      ]
    },
    {
      "id": "centralPressureLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "centralPressureValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "maxWindLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "maxWindValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstPsn6Label",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstDtgValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "position",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstMaxWind6Label",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "maxWindValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstPsn12Label",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstDtgValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "position",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstMaxWind12Label",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "maxWindValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstPsn18Label",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstDtgValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "position",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstMaxWind18Label",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "maxWindValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstPsn24Label",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstDtgValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "position",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "fcstMaxWind24Label",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "maxWindValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "rmkLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "rmkValue",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "nxtMsgLabel",
      "cardinality": [
        1,
        1
      ]
    },
    {
      "id": "nxtMsgContent",
      "cardinality": [
        1,
        1
      ],
      "oneOf": [
        {
          "id": "nxtMsgValue",
          "cardinality": [
            1,
            1
          ]
        },
        {
          "id": "nxtMsgBfr",
          "cardinality": [
            1,
            1
          ]
        },
        {
          "id": "nxtMsgNoExp",
          "cardinality": [
            1,
            1
          ]
        }
      ]
    }
  ],
  "suggestions": {
    "items": {
      "statusLabel": [
        {
          "text": "STATUS:",
          "description": "Status indicator (for test/exercise)"
        },
        {
          "text": "DTG:",
          "description": "Date/time group"
        },
        {
          "text": "TCAC:",
          "description": "TCAC name"
        },
        {
          "text": "TC:",
          "description": "Tropical cyclone name"
        },
        {
          "text": "ADVISORY NR:",
          "description": "Advisory number"
        },
        {
          "text": "OBS PSN:",
          "description": "Observed position"
        },
        {
          "text": "CB:",
          "description": "Observed CB cloud"
        },
        {
          "text": "MOV:",
          "description": "Movement"
        },
        {
          "text": "FCST MAX WIND +6 HR:",
          "description": "Forecast max wind +6h"
        },
        {
          "text": "FCST MAX WIND +12 HR:",
          "description": "Forecast max wind +12h"
        },
        {
          "text": "FCST MAX WIND +18 HR:",
          "description": "Forecast max wind +18h"
        },
        {
          "text": "FCST MAX WIND +24 HR:",
          "description": "Forecast max wind +24h"
        },
        {
          "text": "INTST CHANGE:",
          "description": "Intensity change"
        },
        {
          "text": "C:",
          "description": "Central pressure"
        },
        {
          "text": "MAX WIND:",
          "description": "Maximum surface wind"
        },
        {
          "text": "FCST PSN +6 HR:",
          "description": "Forecast position +6h"
        },
        {
          "text": "FCST PSN +12 HR:",
          "description": "Forecast position +12h"
        },
        {
          "text": "FCST PSN +18 HR:",
          "description": "Forecast position +18h"
        },
        {
          "text": "FCST PSN +24 HR:",
          "description": "Forecast position +24h"
        },
        {
          "text": "RMK:",
          "description": "Remarks"
        },
        {
          "text": "NXT MSG:",
          "description": "Next message"
        }
      ],
      "identifier": [
        {
          "text": "TEST",
          "description": "Test message"
        },
        {
          "text": "EXER",
          "description": "Exercise message"
        },
        {
          "text": "NIL",
          "description": "No CB cloud observed"
        },
        {
          "text": "STNR",
          "description": "Stationary"
        },
        {
          "text": "INTSF",
          "description": "Intensifying"
        },
        {
          "text": "WKN",
          "description": "Weakening"
        },
        {
          "text": "NC",
          "description": "No change"
        },
        {
          "text": "NO MSG EXP",
          "description": "No message expected"
        }
      ],
      "dtgValue": [
        {
          "text": "20040925/1900Z",
          "description": "Date and time YYYYMMDD/HHmmZ",
          "editable": [
            {
              "start": 0,
              "end": 13
            }
          ]
        },
        {
          "text": "25/1800Z",
          "description": "Observation date/time DD/HHmmZ",
          "editable": [
            {
              "start": 0,
              "end": 8
            }
          ]
        },
        {
          "text": "25/2200Z",
          "description": "Forecast valid time DD/HHmmZ",
          "editable": [
            {
              "start": 0,
              "end": 8
            }
          ]
        },
        {
          "text": "26/0400Z",
          "description": "Forecast valid time DD/HHmmZ",
          "editable": [
            {
              "start": 0,
              "end": 8
            }
          ]
        },
        {
          "text": "26/1000Z",
          "description": "Forecast valid time DD/HHmmZ",
          "editable": [
            {
              "start": 0,
              "end": 8
            }
          ]
        },
        {
          "text": "26/1600Z",
          "description": "Forecast valid time DD/HHmmZ",
          "editable": [
            {
              "start": 0,
              "end": 8
            }
          ]
        },
        {
          "text": "20040925/2000Z",
          "description": "Next message date/time",
          "editable": [
            {
              "start": 0,
              "end": 13
            }
          ]
        },
        {
          "text": "BFR 20040925/2000Z",
          "description": "Before date/time"
        }
      ],
      "tcacValue": [
        {
          "text": "DARWIN",
          "description": "Darwin TCAC (Australia)"
        },
        {
          "text": "HONOLULU",
          "description": "Honolulu TCAC (Central Pacific)"
        },
        {
          "text": "LA REUNION",
          "description": "La Réunion TCAC (SW Indian Ocean)"
        },
        {
          "text": "MIAMI",
          "description": "Miami TCAC (Atlantic/Caribbean)"
        },
        {
          "text": "NADI",
          "description": "Nadi TCAC (SW Pacific)"
        },
        {
          "text": "NEW DELHI",
          "description": "New Delhi TCAC (N Indian Ocean)"
        },
        {
          "text": "TOKYO",
          "description": "Tokyo TCAC (NW Pacific)"
        },
        {
          "text": "WELLINGTON",
          "description": "Wellington TCAC (SW Pacific)"
        },
        {
          "type": "category",
          "text": "TCAC Centers",
          "description": "Tropical Cyclone Advisory Center",
          "children": [
            {
              "text": "DARWIN",
              "description": "Darwin TCAC (Australia)"
            },
            {
              "text": "HONOLULU",
              "description": "Honolulu TCAC (Central Pacific)"
            },
            {
              "text": "LA REUNION",
              "description": "La Réunion TCAC (SW Indian Ocean)"
            },
            {
              "text": "MIAMI",
              "description": "Miami TCAC (Atlantic/Caribbean)"
            },
            {
              "text": "NADI",
              "description": "Nadi TCAC (SW Pacific)"
            },
            {
              "text": "NEW DELHI",
              "description": "New Delhi TCAC (N Indian Ocean)"
            },
            {
              "text": "TOKYO",
              "description": "Tokyo TCAC (NW Pacific)"
            },
            {
              "text": "WELLINGTON",
              "description": "Wellington TCAC (SW Pacific)"
            }
          ]
        },
        {
          "text": "ICAO",
          "description": "TCAC location indicator",
          "editable": [
            {
              "start": 0,
              "end": 4
            }
          ]
        },
        {
          "text": "N2706 W07306",
          "description": "Position Nnnnn Ennnnn",
          "editable": [
            {
              "start": 0,
              "end": 13
            }
          ]
        },
        {
          "text": "N2748 W07350",
          "description": "Forecast position",
          "editable": [
            {
              "start": 0,
              "end": 13
            }
          ]
        }
      ],
      "tcValue": [
        {
          "text": "NN",
          "description": "Unnamed tropical cyclone"
        },
        {
          "text": "CYCLONE NAME",
          "description": "Tropical cyclone name",
          "editable": [
            {
              "start": 0,
              "end": 16
            }
          ]
        },
        {
          "text": "2004/13",
          "description": "Advisory number YYYY/n",
          "editable": [
            {
              "start": 0,
              "end": 9
            }
          ]
        },
        {
          "text": "WI 250NM OF TC CENTRE",
          "description": "CB within distance of TC centre",
          "editable": [
            {
              "start": 3,
              "end": 6
            }
          ]
        },
        {
          "text": "WI 400KM OF TC CENTRE",
          "description": "CB within distance of TC centre",
          "editable": [
            {
              "start": 3,
              "end": 6
            }
          ]
        },
        {
          "text": "TOP FL500",
          "description": "Top at FL500"
        },
        {
          "text": "TOP ABV FL500",
          "description": "Top above FL500"
        },
        {
          "text": "TOP FL450",
          "description": "Top of CB cloud",
          "editable": [
            {
              "start": 6,
              "end": 9
            }
          ]
        },
        {
          "text": "INTENSIFYING RAPIDLY",
          "description": "Remarks (free text)",
          "editable": [
            {
              "start": 0,
              "end": 256
            }
          ]
        }
      ],
      "movValue": [
        {
          "text": "N 20KMH",
          "description": "North"
        },
        {
          "text": "NNE 20KMH",
          "description": "North-northeast"
        },
        {
          "text": "NE 20KMH",
          "description": "Northeast"
        },
        {
          "text": "ENE 20KMH",
          "description": "East-northeast"
        },
        {
          "text": "E 20KMH",
          "description": "East"
        },
        {
          "text": "ESE 20KMH",
          "description": "East-southeast"
        },
        {
          "text": "SE 20KMH",
          "description": "Southeast"
        },
        {
          "text": "SSE 20KMH",
          "description": "South-southeast"
        },
        {
          "text": "S 20KMH",
          "description": "South"
        },
        {
          "text": "SSW 20KMH",
          "description": "South-southwest"
        },
        {
          "text": "SW 20KMH",
          "description": "Southwest"
        },
        {
          "text": "WSW 20KMH",
          "description": "West-southwest"
        },
        {
          "text": "W 20KMH",
          "description": "West"
        },
        {
          "text": "WNW 20KMH",
          "description": "West-northwest"
        },
        {
          "text": "NW 20KMH",
          "description": "Northwest"
        },
        {
          "text": "NNW 20KMH",
          "description": "North-northwest"
        },
        {
          "type": "category",
          "text": "Direction",
          "description": "Movement direction",
          "children": [
            {
              "text": "N 20KMH",
              "description": "North"
            },
            {
              "text": "NNE 20KMH",
              "description": "North-northeast"
            },
            {
              "text": "NE 20KMH",
              "description": "Northeast"
            },
            {
              "text": "ENE 20KMH",
              "description": "East-northeast"
            },
            {
              "text": "E 20KMH",
              "description": "East"
            },
            {
              "text": "ESE 20KMH",
              "description": "East-southeast"
            },
            {
              "text": "SE 20KMH",
              "description": "Southeast"
            },
            {
              "text": "SSE 20KMH",
              "description": "South-southeast"
            },
            {
              "text": "S 20KMH",
              "description": "South"
            },
            {
              "text": "SSW 20KMH",
              "description": "South-southwest"
            },
            {
              "text": "SW 20KMH",
              "description": "Southwest"
            },
            {
              "text": "WSW 20KMH",
              "description": "West-southwest"
            },
            {
              "text": "W 20KMH",
              "description": "West"
            },
            {
              "text": "WNW 20KMH",
              "description": "West-northwest"
            },
            {
              "text": "NW 20KMH",
              "description": "Northwest"
            },
            {
              "text": "NNW 20KMH",
              "description": "North-northwest"
            }
          ]
        },
        {
          "text": "N 10KT",
          "description": "North"
        },
        {
          "text": "NE 10KT",
          "description": "Northeast"
        },
        {
          "text": "E 10KT",
          "description": "East"
        },
        {
          "text": "SE 10KT",
          "description": "Southeast"
        },
        {
          "text": "S 10KT",
          "description": "South"
        },
        {
          "text": "SW 10KT",
          "description": "Southwest"
        },
        {
          "text": "W 10KT",
          "description": "West"
        },
        {
          "text": "NW 10KT",
          "description": "Northwest"
        },
        {
          "type": "category",
          "text": "Direction (KT)",
          "description": "Movement direction in knots",
          "children": [
            {
              "text": "N 10KT",
              "description": "North"
            },
            {
              "text": "NE 10KT",
              "description": "Northeast"
            },
            {
              "text": "E 10KT",
              "description": "East"
            },
            {
              "text": "SE 10KT",
              "description": "Southeast"
            },
            {
              "text": "S 10KT",
              "description": "South"
            },
            {
              "text": "SW 10KT",
              "description": "Southwest"
            },
            {
              "text": "W 10KT",
              "description": "West"
            },
            {
              "text": "NW 10KT",
              "description": "Northwest"
            }
          ]
        },
        {
          "text": "22MPS",
          "description": "Maximum wind in m/s",
          "editable": [
            {
              "start": 0,
              "end": 3
            }
          ]
        },
        {
          "text": "45KT",
          "description": "Maximum wind in knots",
          "editable": [
            {
              "start": 0,
              "end": 3
            }
          ]
        },
        {
          "text": "21MPS",
          "description": "Forecast max wind in m/s",
          "editable": [
            {
              "start": 0,
              "end": 3
            }
          ]
        },
        {
          "text": "40KT",
          "description": "Forecast max wind in knots",
          "editable": [
            {
              "start": 0,
              "end": 3
            }
          ]
        },
        {
          "text": "20MPS",
          "description": "Forecast max wind in m/s",
          "editable": [
            {
              "start": 0,
              "end": 3
            }
          ]
        },
        {
          "text": "38KT",
          "description": "Forecast max wind in knots",
          "editable": [
            {
              "start": 0,
              "end": 3
            }
          ]
        }
      ],
      "centralPressureValue": [
        {
          "text": "965HPA",
          "description": "Central pressure in hPa",
          "editable": [
            {
              "start": 0,
              "end": 4
            }
          ]
        }
      ]
    },
    "after": {
      "identifier": [
        "statusLabel"
      ],
      "statusLabel": [
        "identifier"
      ],
      "statusValue": [
        "statusLabel"
      ],
      "dtgLabel": [
        "dtgValue"
      ],
      "dtgValue": [
        "statusLabel"
      ],
      "tcacLabel": [
        "tcacValue"
      ],
      "tcacValue": [
        "statusLabel"
      ],
      "tcLabel": [
        "tcValue"
      ],
      "tcValue": [
        "statusLabel"
      ],
      "advisoryNrLabel": [
        "tcValue"
      ],
      "advisoryNrValue": [
        "statusLabel"
      ],
      "obsPsnLabel": [
        "dtgValue"
      ],
      "obsPsnDtg": [
        "tcacValue"
      ],
      "position": [
        "statusLabel"
      ],
      "cbLabel": [
        "identifier",
        "tcValue"
      ],
      "cbWithinDistance": [
        "tcValue",
        "statusLabel"
      ],
      "cbTopFl": [
        "statusLabel"
      ],
      "cbNil": [
        "statusLabel"
      ],
      "movLabel": [
        "identifier",
        "movValue"
      ],
      "movValue": [
        "statusLabel"
      ],
      "movStnr": [
        "statusLabel"
      ],
      "intstChangeLabel": [
        "identifier"
      ],
      "intstChangeValue": [
        "statusLabel"
      ],
      "centralPressureLabel": [
        "centralPressureValue"
      ],
      "centralPressureValue": [
        "statusLabel"
      ],
      "maxWindLabel": [
        "movValue"
      ],
      "maxWindValue": [
        "statusLabel"
      ],
      "fcstPsn6Label": [
        "dtgValue"
      ],
      "fcstMaxWind6Label": [
        "movValue"
      ],
      "fcstPsn12Label": [
        "dtgValue"
      ],
      "fcstMaxWind12Label": [
        "movValue"
      ],
      "fcstPsn18Label": [
        "dtgValue"
      ],
      "fcstMaxWind18Label": [
        "movValue"
      ],
      "fcstPsn24Label": [
        "dtgValue"
      ],
      "fcstMaxWind24Label": [
        "movValue"
      ],
      "fcstDtgValue": [
        "tcacValue"
      ],
      "rmkLabel": [
        "identifier",
        "tcValue"
      ],
      "rmkValue": [
        "statusLabel"
      ],
      "nxtMsgLabel": [
        "dtgValue",
        "identifier"
      ]
    }
  },
  "tcacList": [
    {
      "name": "DARWIN",
      "area": "Australia, SE Indian Ocean, SW Pacific"
    },
    {
      "name": "HONOLULU",
      "area": "Central Pacific"
    },
    {
      "name": "LA REUNION",
      "area": "SW Indian Ocean"
    },
    {
      "name": "MIAMI",
      "area": "Atlantic, Caribbean, Gulf of Mexico"
    },
    {
      "name": "NADI",
      "area": "SW Pacific"
    },
    {
      "name": "NEW DELHI",
      "area": "Bay of Bengal, Arabian Sea"
    },
    {
      "name": "TOKYO",
      "area": "NW Pacific"
    },
    {
      "name": "WELLINGTON",
      "area": "SW Pacific"
    }
  ],
  "intensityChanges": {
    "INTSF": "Intensifying - maximum surface wind speed increasing",
    "WKN": "Weakening - maximum surface wind speed decreasing",
    "NC": "No change - maximum surface wind speed unchanged"
  },
  "examples": [
    "TC ADVISORY\nDTG: 20040925/1900Z\nTCAC: MIAMI\nTC: GLORIA\nADVISORY NR: 2004/13\nOBS PSN: 25/1800Z N2706 W07306\nCB: WI 250NM OF TC CENTRE TOP FL500\nMOV: NW 20KMH\nINTST CHANGE: INTSF\nC: 965HPA\nMAX WIND: 22MPS\nFCST PSN +6 HR: 25/2200Z N2748 W07350\nFCST MAX WIND +6 HR: 22MPS\nFCST PSN +12 HR: 26/0400Z N2830 W07430\nFCST MAX WIND +12 HR: 22MPS\nFCST PSN +18 HR: 26/1000Z N2852 W07500\nFCST MAX WIND +18 HR: 21MPS\nFCST PSN +24 HR: 26/1600Z N2912 W07530\nFCST MAX WIND +24 HR: 20MPS\nRMK: NIL\nNXT MSG: 20040925/2000Z"
  ]
}
