{
  "title": "NAVTEX Review",
  "generated_at_utc": "2026-04-02T08:12:04.972904+00:00",
  "lookback_hours": 24,
  "focus_region": "Strait of Hormuz",
  "focus_hit_count": 0,
  "message_count": 108,
  "latest_reception": "2026-04-02 10:30:21",
  "source_url": "https://navtex.lv/",
  "stale_issue_filtered_count": 52,
  "max_notice_age_hours": 24,
  "overview": {
    "message_count": 108,
    "counts_by_code": {
      "G": 32,
      "T": 16,
      "S": 8,
      "O": 7,
      "F": 6,
      "E": 6,
      "J": 5,
      "W": 5,
      "P": 4,
      "K": 4,
      "L": 3,
      "D": 2,
      "A": 2,
      "X": 2,
      "I": 2,
      "V": 1,
      "Q": 1,
      "N": 1,
      "M": 1
    },
    "counts_by_area": {
      "G": 32,
      "T": 16,
      "S": 8,
      "O": 7,
      "F": 6,
      "E": 6,
      "J": 5,
      "W": 5,
      "P": 4,
      "K": 4,
      "L": 3,
      "D": 2,
      "A": 2,
      "X": 2,
      "I": 2,
      "V": 1,
      "Q": 1,
      "N": 1,
      "M": 1
    },
    "keyword_counts": {
      "warning": 11,
      "gale": 10,
      "fog": 9,
      "survey": 5,
      "exercise": 3,
      "ais": 2,
      "ice": 1
    },
    "station_coverage": {
      "resolved_message_count": 48,
      "unresolved_message_count": 60,
      "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": 19,
          "basis": "station-signature",
          "matched_terms": [
            "CROMARTY"
          ]
        },
        {
          "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": 7,
          "basis": "station-signature",
          "matched_terms": [
            "NCC HAMBURG"
          ]
        },
        {
          "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": 6,
          "basis": "station-signature",
          "matched_terms": [
            "WESTHINDER"
          ]
        },
        {
          "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": 4,
          "basis": "station-signature",
          "matched_terms": [
            "DOVER",
            "DST MANCHE"
          ]
        },
        {
          "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": 3,
          "basis": "station-signature",
          "matched_terms": [
            "AVURNAV TOULON"
          ]
        },
        {
          "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": 2,
          "basis": "regional-context",
          "matched_terms": [
            "WIGHT",
            "LUNDY",
            "NEEDLES"
          ]
        },
        {
          "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": 2,
          "basis": "station-signature",
          "matched_terms": [
            "THAMES"
          ]
        },
        {
          "key": "rogaland",
          "code": "L",
          "station_name": "Rogaland Radio",
          "country": "Norway",
          "nav_area": "I",
          "latitude": 58.6487,
          "longitude": 5.6097,
          "coverage_label": "South-west Norwegian coast",
          "message_count": 1,
          "basis": "regional-context",
          "matched_terms": [
            "SKAGERRAK"
          ]
        },
        {
          "key": "orlandet",
          "code": "N",
          "station_name": "Orlandet",
          "country": "Norway",
          "nav_area": "I",
          "latitude": 63.6617,
          "longitude": 9.5467,
          "coverage_label": "Norwegian Sea and central Norwegian coast",
          "message_count": 1,
          "basis": "station-signature",
          "matched_terms": [
            "NORWEGIAN NAV WARNING"
          ]
        },
        {
          "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": "split",
          "code": "Q",
          "station_name": "Split",
          "country": "Croatia",
          "nav_area": "III",
          "latitude": 43.1757,
          "longitude": 16.423,
          "coverage_label": "Adriatic Sea",
          "message_count": 1,
          "basis": "station-signature",
          "matched_terms": [
            "SPLIT RADIO"
          ]
        }
      ],
      "code_rows": [
        {
          "code": "G",
          "message_count": 32,
          "resolved_station_names": [
            "Cullercoats"
          ],
          "unresolved_message_count": 13
        },
        {
          "code": "T",
          "message_count": 16,
          "resolved_station_names": [
            "Oostende Radio"
          ],
          "unresolved_message_count": 10
        },
        {
          "code": "S",
          "message_count": 8,
          "resolved_station_names": [
            "Pinneberg"
          ],
          "unresolved_message_count": 1
        },
        {
          "code": "O",
          "message_count": 7,
          "resolved_station_names": [
            "Portpatrick"
          ],
          "unresolved_message_count": 6
        },
        {
          "code": "F",
          "message_count": 6,
          "resolved_station_names": [],
          "unresolved_message_count": 6
        },
        {
          "code": "E",
          "message_count": 6,
          "resolved_station_names": [
            "Niton"
          ],
          "unresolved_message_count": 4
        },
        {
          "code": "J",
          "message_count": 5,
          "resolved_station_names": [],
          "unresolved_message_count": 5
        },
        {
          "code": "W",
          "message_count": 5,
          "resolved_station_names": [
            "CROSS La Garde"
          ],
          "unresolved_message_count": 2
        },
        {
          "code": "P",
          "message_count": 4,
          "resolved_station_names": [
            "Oostende (Thames Approaches relay)",
            "Netherlands Coastguard Radio"
          ],
          "unresolved_message_count": 2
        },
        {
          "code": "K",
          "message_count": 4,
          "resolved_station_names": [
            "Niton (France relay)"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "L",
          "message_count": 3,
          "resolved_station_names": [
            "Rogaland Radio"
          ],
          "unresolved_message_count": 2
        },
        {
          "code": "D",
          "message_count": 2,
          "resolved_station_names": [],
          "unresolved_message_count": 2
        },
        {
          "code": "A",
          "message_count": 2,
          "resolved_station_names": [],
          "unresolved_message_count": 2
        },
        {
          "code": "X",
          "message_count": 2,
          "resolved_station_names": [],
          "unresolved_message_count": 2
        },
        {
          "code": "I",
          "message_count": 2,
          "resolved_station_names": [],
          "unresolved_message_count": 2
        },
        {
          "code": "V",
          "message_count": 1,
          "resolved_station_names": [
            "Oostende (Thames Approaches relay)"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "Q",
          "message_count": 1,
          "resolved_station_names": [
            "Split"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "N",
          "message_count": 1,
          "resolved_station_names": [
            "Orlandet"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "M",
          "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 108 messages; dominant B1 codes were G (32), T (16), S (8); keyword concentration led by warning (11), gale (10), fog (9), survey (5).",
      "[VA75] navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Gunfleet sands wind farm. Decoding is partial rather than complete.",
      "[TA87] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: A ban on achoring and fishing in the entire corridor. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code T. Readable text reports seabed obstacles and warns against anchoring or fishing nearby. Decoding is partial rather than complete.",
      "No direct mentions were found in this corpus window."
    ],
    "main_developments": [
      "[VA75] navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Gunfleet sands wind farm. Decoding is partial rather than complete.",
      "[TA87] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: A ban on achoring and fishing in the entire corridor. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code T. Readable text reports seabed obstacles and warns against anchoring or fishing nearby. Decoding is partial rather than complete.",
      "[TA23] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits.",
      "[TE03] weather forecast for Belgium - Belgian coast and southern North Sea. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
      "[SA83] navigational warning for Germany - German Bight and German North Sea. Readable text reports survey operations near 54-47.3N 005-58.3E and implies local caution around the work area.",
      "[SA85] navigational warning for Germany - German Bight and German North Sea. Readable text says: Uxo survey by.",
      "[PA17] navigational warning for Unresolved B1 code P. Readable text says: Buoy wp1 53-19n 004-03e temporarily withdrawn. Decoding is partial rather than complete."
    ],
    "weather_and_sea_state": [
      "[TE03] weather forecast for Belgium - Belgian coast and southern North Sea. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
      "[GA89] navigational warning for Unresolved B1 code G. Readable text reports a fog signal outage near 57-29.4N 001-21.1W. Decoding is partial rather than complete.",
      "[GA61] navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters.",
      "[GA94] navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage near 55-06.8N 001-23.6W. Decoding is partial rather than complete.",
      "[GA07] navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters."
    ],
    "navigation_and_safety_alerts": [
      "[VA75] navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. Readable text says: Gunfleet sands wind farm. Decoding is partial rather than complete.",
      "[TA87] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: A ban on achoring and fishing in the entire corridor. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code T. Readable text reports seabed obstacles and warns against anchoring or fishing nearby. Decoding is partial rather than complete.",
      "[TA23] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits.",
      "[TE03] weather forecast for Belgium - Belgian coast and southern North Sea. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
      "[SA83] navigational warning for Germany - German Bight and German North Sea. Readable text reports survey operations near 54-47.3N 005-58.3E and implies local caution around the work area.",
      "[SA85] navigational warning for Germany - German Bight and German North Sea. Readable text says: Uxo survey by.",
      "[PA17] navigational warning for Unresolved B1 code P. Readable text says: Buoy wp1 53-19n 004-03e temporarily withdrawn. Decoding is partial rather than complete."
    ],
    "electronic_interference_and_navigation_integrity": [
      "[KA26] navigational warning for United Kingdom / France - Channel Islands and north-east French coast. Readable text says: Ais transmitter out u e q q ezczg la11. Decoding is partial rather than complete.",
      "[GA89] navigational warning for Unresolved B1 code G. Readable text reports a fog signal outage near 57-29.4N 001-21.1W. Decoding is partial rather than complete.",
      "[GA94] navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage near 55-06.8N 001-23.6W. Decoding is partial rather than complete.",
      "[GA07] navigational warning for United Kingdom - North Sea and north-east UK coast. This is a weather bulletin; readable sections mention fog across the covered waters."
    ],
    "special_operations_and_military_activity": [
      "[KA39] navigational warning for United Kingdom / France - Channel Islands and north-east French coast. Readable text reports an aid-to-navigation fault near 49-59.92N 000-12.63W; 49-35.88N 000-10.93W. Decoding is partial rather than complete.",
      "[WA30] navigational warning for Unresolved B1 code W. Readable text says: Hazardous hzmo ($- koh ktjo w0 )149, ((:439/ 04 26nnnn. Decoding is partial rather than complete.",
      "[I99] operational notice for Unresolved B1 code I. Readable text says: Mariners advised to exercise caution. Decoding is partial rather than complete."
    ],
    "focus_region": [
      "No direct mentions were found in this corpus window."
    ],
    "confidence_and_gaps": [
      "Decode quality across the window was high=28, medium=55, low=25.",
      "52 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.",
      "25 messages were classified as low decode quality and may contain damaged titles or coordinates."
    ]
  }
}