FM13 Weather Report

From SOOP-WIKI
Jump to navigation Jump to search

Definition

[edit | edit source]

An FM13 report (also called a BBXX report) is a standardized maritime weather report primarily used for global ship observations at sea, following the World Meteorological Organization (WMO) FM 13-XI SHIP code. This format enables ships and marine platforms to transmit essential meteorological data in a fixed, compressed structure suitable for automated processing and international exchange.

Purpose and Use

[edit | edit source]

FM13 reports are used for:

  • Real-time gathering of marine weather data (e.g., temperature, pressure, wind) from ships and voluntary observing platforms.
  • Providing input for weather models, forecasts, and warnings, especially where land observations are unavailable.
  • Ensuring global consistency—data from vessels worldwide can be automatically decoded by meteorological services.

Use in SOOP

[edit | edit source]

In SOOP we generate FM13 weather reports for the Deutsche Wetterdienst (DWD) for air pressure (hPa) data collected from sailing vessels having a SmartBoatia Hub installed.

Data sources
[edit | edit source]

Structure

[edit | edit source]

An FM13 BBXX report consists of a strict sequence of data fields, mostly compact numerical codes:

  • Identifier: The report starts with “BBXX” to signal its type.
  • Callsign: A unique ship or station identifier follows.
  • Date/time group: The day and UTC hour (as DDHH), usually giving the hour after the time of observation.
  • Position: Encoded latitude and longitude, with quadrant indicators for hemisphere and longitude direction.
  • Main meteorological values: Atmospheric pressure, wind speed/direction, temperature, cloud cover, sea state, etc., in WMO-prescribed slots.
  • Slashed/placeholder fields: Used if the source does not supply certain data.
  • End marker: The report ends with “=” for positive identification.

Key Features

[edit | edit source]
  • Compressed and reliable: Values are packed for transmission efficiency; the same order and units are used globally.
  • Error-resilient: The design allows for missing data to be explicitly marked with slashes “/” without causing decoding failure.
  • Standardized method: Details on encoding (e.g., omitting the leading pressure “1” for hPa over 1000, or quadrant codes for location) are set in the official documentation and script implementations.

Example

[edit | edit source]

A typical FM13 report might look like:

  • Here, the vessel SCADE01 sends a report at day 17, hour 01 UTC, at latitude 54.3°N, longitude 10.2°E, with sea-level pressure 1020.8 hPa; other fields are marked as missing.

FM13 BBXX reports remain a foundational tool for marine meteorology and global forecasting networks, enabling the systematic collection of ocean weather data from professional and volunteer observers.

Example string explained

[edit | edit source]

BBXX 4ED7Y3T 27161 99540 10109 46/// ///// 1//// 2//// 40084 5//// 222// 0////=

Report Type and Call Sign

[edit | edit source]
  • BBXX: Fixed header identifying the report as a FM13 SHIP (BBXX) message.
  • 4ED7Y3T: This is the unique vessel or station call sign.

Date and Time Group (DDHH)

[edit | edit source]
  • 27161:
    • 27: Day of the month in UTC.
    • 16: Hour (UTC). Note that in your script, this is the "next full hour." To get the actual observation hour, subtract one (so obs hour is 15 UTC).
    • 1: Section identifier; always follows the time group at the start of the position block.

Latitude Block

[edit | edit source]
  • 99540:
    • 99: Fixed prefix for latitude as per FM13.
    • 540: Latitude in tenths of a degree (54.0°).

Longitude Block

[edit | edit source]
  • 10109:
    • 1: Quadrant code:
      • 1 = North/East
      • 7 = North/West
      • 3 = South/East
      • 5 = South/West.
    • 0109: Longitude in tenths of a degree (10.9°).

Standard Groups (often fixed/placeholder)

[edit | edit source]
  • 46/// ///// 1//// 2////: These sections are typically reserved for additional meteorological or observational data fields (such as wind, clouds, sea state, temperature, etc.) When data is missing, they are filled with slashes or placeholder codes as shown.

Pressure at Sea Level

[edit | edit source]
  • 40084:
    • 4: Prefix for pressure group.
    • 0084: Pressure in tenths of hPa. For values over 1000 hPa, the leading '1' is omitted, so 0084 → 1008.4 hPa.

Other Placeholder or Coded Fields

[edit | edit source]
  • 5//// 222// 0////=
    • These are reserved and/or placeholder groups for additional parameters (e.g., 3-hour pressure change, wind/wave/ice codes, or special remarks). The exact meaning is fixed by the FM13 standard, and in your script, they are always set to slashes if not populated.
    • The final = indicates the end of the FM13 report.

Summary Table

[edit | edit source]
Section Example (Value) Meaning
Header/Type BBXX FM13 SHIP report identifier
Callsign 4ED7Y3T Vessel/station unique ID
Date/Time Group 27161 27th day, 16th hour UTC
Latitude 99540 54.0° N
Longitude 10109 10.9° E (quadrant 1: N/E)
Other met fields 46/// /////... Reserved or placeholders, various fields
SLP Group 40084 Sea level pressure 1008.4 hPa
Trail groups 5//// 222//... Reserved, placeholder fields
End of report = Delimiter, marks end of message

Python script that generates weather reports

[edit | edit source]

https://codebase.helmholtz.cloud/soop-shaping-an-ocean-of-possibilities/operations/fm13_ship_report