{
  "title": "NAVTEX Review",
  "generated_at_utc": "2026-04-03T16:12:03.962923+00:00",
  "lookback_hours": 24,
  "focus_region": "Strait of Hormuz",
  "focus_hit_count": 0,
  "message_count": 114,
  "latest_reception": "2026-04-03 18:30:19",
  "source_url": "https://navtex.lv/",
  "stale_issue_filtered_count": 46,
  "max_notice_age_hours": 24,
  "overview": {
    "message_count": 114,
    "counts_by_code": {
      "G": 36,
      "T": 25,
      "S": 12,
      "E": 8,
      "J": 7,
      "P": 6,
      "V": 5,
      "W": 5,
      "U": 4,
      "K": 2,
      "F": 2,
      "L": 1,
      "O": 1
    },
    "counts_by_area": {
      "G": 36,
      "T": 25,
      "S": 12,
      "E": 8,
      "J": 7,
      "P": 6,
      "V": 5,
      "W": 5,
      "U": 4,
      "K": 2,
      "F": 2,
      "L": 1,
      "O": 1
    },
    "keyword_counts": {
      "fog": 15,
      "warning": 12,
      "survey": 5,
      "gale": 4,
      "exercise": 3,
      "ais": 1,
      "storm": 1,
      "ice": 1
    },
    "station_coverage": {
      "resolved_message_count": 69,
      "unresolved_message_count": 45,
      "resolved_station_count": 9,
      "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": 23,
          "basis": "station-signature",
          "matched_terms": [
            "DOGGER",
            "SOFIA OFFSHORE WIND FARM"
          ]
        },
        {
          "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": 14,
          "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"
          ]
        },
        {
          "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": 7,
          "basis": "station-signature",
          "matched_terms": [
            "DOVER"
          ]
        },
        {
          "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": 4,
          "basis": "regional-context",
          "matched_terms": [
            "LUNDY"
          ]
        },
        {
          "key": "mondolfo",
          "code": "U",
          "station_name": "Mondolfo",
          "country": "Italy",
          "nav_area": "III",
          "latitude": 43.7418,
          "longitude": 13.1388,
          "coverage_label": "Adriatic Sea and central Italian coast",
          "message_count": 4,
          "basis": "station-signature",
          "matched_terms": [
            "MONDOLFO RADIO"
          ]
        },
        {
          "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": 4,
          "basis": "station-signature",
          "matched_terms": [
            "AVURNAV TOULON"
          ]
        },
        {
          "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": 3,
          "basis": "station-signature",
          "matched_terms": [
            "AVURNAV CHERBOURG",
            "CHERBOURG"
          ]
        },
        {
          "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": "station-signature",
          "matched_terms": [
            "DUTCH EEZ"
          ]
        }
      ],
      "code_rows": [
        {
          "code": "G",
          "message_count": 36,
          "resolved_station_names": [
            "Cullercoats"
          ],
          "unresolved_message_count": 13
        },
        {
          "code": "T",
          "message_count": 25,
          "resolved_station_names": [
            "Oostende Radio",
            "Oostende (Thames Approaches relay)"
          ],
          "unresolved_message_count": 10
        },
        {
          "code": "S",
          "message_count": 12,
          "resolved_station_names": [
            "Pinneberg"
          ],
          "unresolved_message_count": 3
        },
        {
          "code": "E",
          "message_count": 8,
          "resolved_station_names": [
            "Niton"
          ],
          "unresolved_message_count": 4
        },
        {
          "code": "J",
          "message_count": 7,
          "resolved_station_names": [
            "Niton (France relay)"
          ],
          "unresolved_message_count": 6
        },
        {
          "code": "P",
          "message_count": 6,
          "resolved_station_names": [
            "Oostende (Thames Approaches relay)",
            "Netherlands Coastguard Radio"
          ],
          "unresolved_message_count": 3
        },
        {
          "code": "V",
          "message_count": 5,
          "resolved_station_names": [
            "Oostende (Thames Approaches relay)"
          ],
          "unresolved_message_count": 1
        },
        {
          "code": "W",
          "message_count": 5,
          "resolved_station_names": [
            "CROSS La Garde"
          ],
          "unresolved_message_count": 1
        },
        {
          "code": "U",
          "message_count": 4,
          "resolved_station_names": [
            "Mondolfo"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "K",
          "message_count": 2,
          "resolved_station_names": [
            "Niton (France relay)"
          ],
          "unresolved_message_count": 0
        },
        {
          "code": "F",
          "message_count": 2,
          "resolved_station_names": [],
          "unresolved_message_count": 2
        },
        {
          "code": "L",
          "message_count": 1,
          "resolved_station_names": [],
          "unresolved_message_count": 1
        },
        {
          "code": "O",
          "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 114 messages; dominant B1 codes were G (36), T (25), S (12); keyword concentration led by fog (15), warning (12), survey (5), gale (4).",
      "[VA15] navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
      "[TA45] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions near 51-20.04N 003-05.47E, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code T. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
      "No direct mentions were found in this corpus window."
    ],
    "main_developments": [
      "[VA15] navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
      "[TA45] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions near 51-20.04N 003-05.47E, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code T. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
      "[TA02] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Ping is requjsted not tz anchor nor to fish in he vicinity. Decoding is partial rather than complete.",
      "[unknown] operational notice for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
      "[SA85] navigational warning for Germany - German Bight and German North Sea. Readable text says: Uxo survey by. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code S. Readable text says: A. ,- 53/- areav cgjlsv ayf ogs less than 42 days cpf onward) are. Decoding is partial rather than complete.",
      "[PA34] navigational warning for Unresolved B1 code P. Readable text says: Buoy hwp14 in 52-40n 003-56e temporarily withdrawn. Decoding is partial rather than complete."
    ],
    "weather_and_sea_state": [
      "[VA15] navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
      "[PE79] weather forecast for Netherlands - Dutch EEZ and southern North Sea. This is a weather bulletin; readable sections mention fog, rain across the covered waters. Decoding is partial rather than complete.",
      "[GA89] navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code T. Readable text reports a fog signal outage. Decoding is partial rather than complete.",
      "[unknown] operational notice for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage. Decoding is partial rather than complete."
    ],
    "navigation_and_safety_alerts": [
      "[VA15] navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
      "[TA45] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions near 51-20.04N 003-05.47E, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code T. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
      "[TA02] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Ping is requjsted not tz anchor nor to fish in he vicinity. Decoding is partial rather than complete.",
      "[unknown] operational notice for Belgium - Belgian coast and southern North Sea. Readable text sets local operating restrictions, including anchoring, fishing, or towing limits. Decoding is partial rather than complete.",
      "[SA85] navigational warning for Germany - German Bight and German North Sea. Readable text says: Uxo survey by. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code S. Readable text says: A. ,- 53/- areav cgjlsv ayf ogs less than 42 days cpf onward) are. Decoding is partial rather than complete.",
      "[PA34] navigational warning for Unresolved B1 code P. Readable text says: Buoy hwp14 in 52-40n 003-56e temporarily withdrawn. Decoding is partial rather than complete."
    ],
    "electronic_interference_and_navigation_integrity": [
      "[VA15] navigational warning for Belgium / United Kingdom - Thames approaches and Dover approaches. This is a weather bulletin; readable sections mention fog across the covered waters. Decoding is partial rather than complete.",
      "[GA89] navigational warning for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage. Decoding is partial rather than complete.",
      "[unknown] operational notice for Unresolved B1 code T. Readable text reports a fog signal outage. Decoding is partial rather than complete.",
      "[unknown] operational notice for United Kingdom - North Sea and north-east UK coast. Readable text reports a fog signal outage. Decoding is partial rather than complete."
    ],
    "special_operations_and_military_activity": [
      "[TA25] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: Gunnery exercises in the great sector of lombardsijde 03 apr 20 3 6 . cmgchfsm. Decoding is partial rather than complete.",
      "[TA25] navigational warning for Belgium - Belgian coast and southern North Sea. Readable text says: De panne-oosten gunnery exercises in the great sector of lombardsijde 03 apr 2026 from 0700 until 1030 utc gunnery sector s listening on chan 16 and 74. Decoding is partial rather than complete.",
      "[JA29] navigational warning for Unresolved B1 code J. Readable text says: In area te iz u fs ngerous to shipping br-161.",
      "[UA64] navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: 1. turbine a06 51-45.0n 001-14.6e o cwnpu. Decoding is partial rather than complete.",
      "[UA61] navigational warning for Italy - Adriatic Sea and central Italian coast. Readable text says: G 40 23'54 n 18 17'30 pmonjfsf anchorage and fishing are prohibited. 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=33, medium=45, low=36.",
      "46 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.",
      "36 messages were classified as low decode quality and may contain damaged titles or coordinates."
    ]
  }
}