{
  "title": "NAVTEX Review",
  "generated_at_utc": "2026-03-14T19:59:23.426783+00:00",
  "lookback_hours": 24,
  "focus_region": "Strait of Hormuz",
  "focus_hit_count": 0,
  "message_count": 99,
  "latest_reception": "2026-03-14 21:48:53",
  "source_url": "https://navtex.lv/",
  "stale_issue_filtered_count": 61,
  "max_notice_age_hours": 24,
  "overview": {
    "message_count": 99,
    "counts_by_code": {
      "G": 38,
      "T": 13,
      "E": 12,
      "S": 9,
      "V": 5,
      "L": 4,
      "O": 4,
      "P": 4,
      "Q": 2,
      "M": 2,
      "K": 2,
      "W": 1,
      "R": 1,
      "J": 1,
      "F": 1
    },
    "counts_by_area": {
      "G": 38,
      "T": 13,
      "E": 12,
      "S": 9,
      "V": 5,
      "L": 4,
      "O": 4,
      "P": 4,
      "Q": 2,
      "M": 2,
      "K": 2,
      "W": 1,
      "R": 1,
      "J": 1,
      "F": 1
    },
    "keyword_counts": {
      "fog": 16,
      "warning": 13,
      "gale": 10,
      "ais": 5,
      "survey": 4,
      "sar": 1
    },
    "station_coverage": {
      "resolved_message_count": 70,
      "unresolved_message_count": 29,
      "resolved_station_count": 12,
      "station_rows": [
        {
          "key": "cullercoats",
          "code": "G",
          "station_name": "Cullercoats",
          "country": "United Kingdom",
          "nav_area": "I",
          "latitude": 55.0747,
          "longitude": -1.4632,
          "coverage_label": "North Sea and north-east UK coast",
          "message_count": 29,
          "basis": "station-signature",
          "matched_terms": [
            "HUMBER",
            "CROMARTY",
            "TYNE"
          ]
        },
        {
          "key": "oostende",
          "code": "T",
          "station_name": "Oostende Radio",
          "country": "Belgium",
          "nav_area": "I",
          "latitude": 51.1825,
          "longitude": 2.8078,
          "coverage_label": "Belgian coast and southern North Sea",
          "message_count": 11,
          "basis": "station-signature",
          "matched_terms": [
            "OOSTENDE",
            "OOSTENDERADIO"
          ]
        },
        {
          "key": "pinneberg",
          "code": "S",
          "station_name": "Pinneberg",
          "country": "Germany",
          "nav_area": "I",
          "latitude": 53.675,
          "longitude": 9.8083,
          "coverage_label": "German Bight and German North Sea",
          "message_count": 9,
          "basis": "station-signature",
          "matched_terms": [
            "GERMAN BIGHT",
            "WEISSE BANK"
          ]
        },
        {
          "key": "niton",
          "code": "E",
          "station_name": "Niton",
          "country": "United Kingdom",
          "nav_area": "I",
          "latitude": 50.5863,
          "longitude": -1.2545,
          "coverage_label": "English Channel and western approaches",
          "message_count": 8,
          "basis": "regional-context",
          "matched_terms": [
            "WIGHT",
            "PORTLAND"
          ]
        },
        {
          "key": "oostende_thames",
          "code": "V",
          "station_name": "Oostende (Thames Approaches relay)",
          "country": "Belgium / United Kingdom",
          "nav_area": "I",
          "latitude": 51.1825,
          "longitude": 2.8078,
          "coverage_label": "Thames approaches and Dover approaches",
          "message_count": 4,
          "basis": "station-signature",
          "matched_terms": [
            "THAMES"
          ]
        },
        {
          "key": "niton_france",
          "code": "K",
          "station_name": "Niton (France relay)",
          "country": "United Kingdom / France",
          "nav_area": "I",
          "latitude": 50.5863,
          "longitude": -1.2545,
          "coverage_label": "Channel Islands and north-east French coast",
          "message_count": 2,
          "basis": "station-signature",
          "matched_terms": [
            "CAYEUX SUR MER",
            "WIGHT LARGE CAYEUX SUR MER"
          ]
        },
        {
          "key": "split",
          "code": "Q",
          "station_name": "Split",
          "country": "Croatia",
          "nav_area": "III",
          "latitude": 43.1757,
          "longitude": 16.423,
          "coverage_label": "Adriatic Sea",
          "message_count": 2,
          "basis": "station-signature",
          "matched_terms": [
            "SPLIT RADIO"
          ]
        },
        {
          "key": "limnos",
          "code": "L",
          "station_name": "Limnos",
          "country": "Greece",
          "nav_area": "III",
          "latitude": 39.9068,
          "longitude": 25.1807,
          "coverage_label": "North Aegean",
          "message_count": 1,
          "basis": "regional-context",
          "matched_terms": [
            "AEGEAN"
          ]
        },
        {
          "key": "portpatrick",
          "code": "O",
          "station_name": "Portpatrick",
          "country": "United Kingdom",
          "nav_area": "I",
          "latitude": 54.8438,
          "longitude": -5.1243,
          "coverage_label": "Irish Sea and western UK approaches",
          "message_count": 1,
          "basis": "regional-context",
          "matched_terms": [
            "IRISH SEA"
          ]
        },
        {
          "key": "netherlands_coastguard",
          "code": "P",
          "station_name": "Netherlands Coastguard Radio",
          "country": "Netherlands",
          "nav_area": "I",
          "latitude": 52.9177,
          "longitude": 4.739,
          "coverage_label": "Dutch EEZ and southern North Sea",
          "message_count": 1,
          "basis": "regional-context",
          "matched_terms": [
            "NORTH SEA"
          ]
        },
        {
          "key": "la_maddalena",
          "code": "R",
          "station_name": "La Maddalena",
          "country": "Italy",
          "nav_area": "III",
          "latitude": 41.2203,
          "longitude": 9.393,
          "coverage_label": "Tyrrhenian Sea and Sardinia approaches",
          "message_count": 1,
          "basis": "regional-context",
          "matched_terms": [
            "TYRRHENIAN",
            "SARDINIA"
          ]
        },
        {
          "key": "cross_la_garde",
          "code": "W",
          "station_name": "CROSS La Garde",
          "country": "France",
          "nav_area": "III",
          "latitude": 43.1043,
          "longitude": 5.9915,
          "coverage_label": "Provence, Ligurian Sea and western Mediterranean",
          "message_count": 1,
          "basis": "station-signature",
          "matched_terms": [
            "AVURNAV TOULON"
          ]
        }
      ],
      "code_rows": [
        {
          "code": "G",
          "message_count": 38,
          "resolved_station_names": [
            "Cullercoats"
          ],
          "unresolved_message_count": 9
        },
        {
          "code": "T",
          "message_count": 13,
          "resolved_station_names": [
            "Oostende Radio"
          ],
          "unresolved_message_count": 2
        },
        {
          "code": "E",
          "message_count": 12,
          "resolved_station_names": [
            "Niton"
          ],
          "unresolved_message_count": 4
        },
        {
          "code": "S",
          "message_count": 9,
          "resolved_station_names": [
            "Pinneberg"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "V",
          "message_count": 5,
          "resolved_station_names": [
            "Oostende (Thames Approaches relay)"
          ],
          "unresolved_message_count": 1
        },
        {
          "code": "L",
          "message_count": 4,
          "resolved_station_names": [
            "Limnos"
          ],
          "unresolved_message_count": 3
        },
        {
          "code": "O",
          "message_count": 4,
          "resolved_station_names": [
            "Portpatrick"
          ],
          "unresolved_message_count": 3
        },
        {
          "code": "P",
          "message_count": 4,
          "resolved_station_names": [
            "Netherlands Coastguard Radio"
          ],
          "unresolved_message_count": 3
        },
        {
          "code": "Q",
          "message_count": 2,
          "resolved_station_names": [
            "Split"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "M",
          "message_count": 2,
          "resolved_station_names": [],
          "unresolved_message_count": 2
        },
        {
          "code": "K",
          "message_count": 2,
          "resolved_station_names": [
            "Niton (France relay)"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "W",
          "message_count": 1,
          "resolved_station_names": [
            "CROSS La Garde"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "R",
          "message_count": 1,
          "resolved_station_names": [
            "La Maddalena"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "J",
          "message_count": 1,
          "resolved_station_names": [],
          "unresolved_message_count": 1
        },
        {
          "code": "F",
          "message_count": 1,
          "resolved_station_names": [],
          "unresolved_message_count": 1
        }
      ],
      "station_reference_source_label": "ITU List IV coast station table (2025)",
      "station_reference_source_url": "https://www.itu.int/en/ITU-R/terrestrial/mars/Documents/ListIV_User%20Guide%20and%20Reference%20Tables_2025.pdf",
      "global_map_source_label": "WMO NAVTEX stations map",
      "global_map_source_url": "https://wmo.int/navtex-stations"
    }
  },
  "sections": {
    "executive_summary": [
      "The window contains 99 messages; dominant B1 codes were G (38), T (13), E (12); keyword concentration led by fog (16), warning (13), gale (10), ais (5).",
      "[WA27] Code W. AVURNAV TOULON 111/ 6 | SPECIAL OPERATIONS.",
      "[VA66] Code V. DOVER. | SANDETTIE LIGHT VESSEL 51-09.4N 001-47.1E AIS INOPERATIVE. Issue line 141307 UTC MAR 26.",
      "[LB30] Code L. 14190 .-4 7- ,9'25'8' -)3 | -7 '. 0. Decode quality medium.",
      "No direct mentions were found in this corpus window."
    ],
    "main_developments": [
      "[WA27] Code W. AVURNAV TOULON 111/ 6 | SPECIAL OPERATIONS.",
      "[VA66] Code V. DOVER. | SANDETTIE LIGHT VESSEL 51-09.4N 001-47.1E AIS INOPERATIVE. Issue line 141307 UTC MAR 26.",
      "[LB30] Code L. 14190 .-4 7- ,9'25'8' -)3 | -7 '. 0. Decode quality medium.",
      "[TA82] Code T. OOSTENDE-ZEEBRUGGE | OBSTACLES ON THE SEABED IN FOSSZ FM ZJFHFZJON. Issue line 301807 UTC A.",
      "[SA51] Code S. NCC-HAMBURG | NAV. WA X. NO. 152. Issue line 140220 UTC MAR 26.",
      "[SE48] Code S. 141900 NAVTEX-HAMBURG (NCC) | WEATHERFORECAST FOR GERMAN BIGHT.",
      "[RE48] Code R. 14185 C XM | GSM WWSPMYWFZONON PHDPYM ZYP JHMZ PYM PWFHPYYP O YPJMFJJCPWML MYZ PMBPHPZYZSZ EMX HYPMH. Decode quality medium.",
      "[QE04] Code Q. WEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENTER SPLIT ON 14/03/2026 AT 1700 UTC | 1. WARNING. Issue line 141840 UTC MAR 26."
    ],
    "weather_and_sea_state": [
      "[LB30] Code L. 14190 .-4 7- ,9'25'8' -)3 | -7 '. 0. Decode quality medium.",
      "[SE48] Code S. 141900 NAVTEX-HAMBURG (NCC) | WEATHERFORECAST FOR GERMAN BIGHT.",
      "[RE48] Code R. 14185 C XM | GSM WWSPMYWFZONON PHDPYM ZYP JHMZ PYM PWFHPYYP O YPJMFJJCPWML MYZ PMBPHPZYZSZ EMX HYPMH. Decode quality medium.",
      "[PE41] Code P. WX FORECS EBULLEVLP XKCU WT DEG. EASL150,. UTC | OUTLOOK MALID TILL 151800 UTC. Decode quality low.",
      "[unknown] Code L. VY YMJMYWFZITGUQHDPY ZYP J ONFY M ANS AND 101 | OVER MELITA AND R LATIVELY. Decode quality medium."
    ],
    "navigation_and_safety_alerts": [
      "[WA27] Code W. AVURNAV TOULON 111/ 6 | SPECIAL OPERATIONS.",
      "[VA66] Code V. DOVER. | SANDETTIE LIGHT VESSEL 51-09.4N 001-47.1E AIS INOPERATIVE. Issue line 141307 UTC MAR 26.",
      "[LB30] Code L. 14190 .-4 7- ,9'25'8' -)3 | -7 '. 0. Decode quality medium.",
      "[TA82] Code T. OOSTENDE-ZEEBRUGGE | OBSTACLES ON THE SEABED IN FOSSZ FM ZJFHFZJON. Issue line 301807 UTC A.",
      "[SA51] Code S. NCC-HAMBURG | NAV. WA X. NO. 152. Issue line 140220 UTC MAR 26.",
      "[SE48] Code S. 141900 NAVTEX-HAMBURG (NCC) | WEATHERFORECAST FOR GERMAN BIGHT.",
      "[RE48] Code R. 14185 C XM | GSM WWSPMYWFZONON PHDPYM ZYP JHMZ PYM PWFHPYYP O YPJMFJJCPWML MYZ PMBPHPZYZSZ EMX HYPMH. Decode quality medium.",
      "[QE04] Code Q. WEATHER BULLETIN FOR ADRIATIC ISSUED BY THE MARINE METEOROLOGICAL CENTER SPLIT ON 14/03/2026 AT 1700 UTC | 1. WARNING. Issue line 141840 UTC MAR 26."
    ],
    "electronic_interference_and_navigation_integrity": [
      "[VA66] Code V. DOVER. | SANDETTIE LIGHT VESSEL 51-09.4N 001-47.1E AIS INOPERATIVE. Issue line 141307 UTC MAR 26.",
      "[VA66] Code V. DOVER. | SANDETTIE LIGH MV JJPSM. Issue line 141307 UTC MAR 26. Decode quality medium.",
      "[GA54] Code G. HUMBER. | BESSEMER GAS FIELD.",
      "[GA73] Code G. FORTH. | NEART NA GAOITHE WINDFARM."
    ],
    "special_operations_and_military_activity": [
      "[OD22] Code O. SAR CASE | A TWO YEAR OLD INFANT IS REPORTED TO BE LOST AT SEA LKP 35-O7.2N 012-11.1E AT 1910 UTC ALL VESSELS TRANSITTING IN AREA KEEP A SHARP LOOKOUT AND PAY MAXIMUM ATTENTION."
    ],
    "focus_region": [
      "No direct mentions were found in this corpus window."
    ],
    "confidence_and_gaps": [
      "Decode quality across the window was high=53, medium=37, low=9.",
      "61 older rebroadcast notices were removed because their internal issue times predated the 24-hour operating window.",
      "Published timestamps reflect reception time in the received corpus, not necessarily original notice issue time.",
      "Repeated or rebroadcast notices can persist inside the rolling window; message IDs are retained for traceability.",
      "9 messages were classified as low decode quality and may contain damaged titles or coordinates."
    ]
  }
}