In the current Mode S design, two message formats are used for aircraft to communicate meteorological conditions. These messages are meteorological routine air report (MRAR) and meteorological hazard report (MHR). In this chapter, we focus on explaining the information contained in these two types of messages.
In MRAR messages, information on wind, air temperature, pressure, and humidity is transmitted. The structure of the message is shown in Table 1.1.
FIELD | MSG | MB | BITS |
---|---|---|---|
Figure of merit / source | 33-36 | 1-4 | 4 |
Status (for wind) | 37 | 5 | 1 |
Wind speed | 38-46 | 6-14 | 9 |
Range: [0, 511] knots | |||
LSB: 1 knots | |||
Wind direction | 47-55 | 15-23 | 9 |
Range: [0, 360] degrees | |||
LSB: 180/256 degrees | |||
Sign (for temperature) | 56 | 24 | 1 |
Static air temperature | 57-66 | 25-34 | 10 |
Range: [-128, +128] \(^\circ\)C | |||
LSB: 0.25 \(^\circ\)C | |||
Status (for pressure) | 67 | 35 | 1 |
Average static pressure | 68-78 | 36-46 | 11 |
Range: [0, 2048] hPa | |||
LSB: 1 hPa | |||
Status (for turbulence) | 79 | 47 | 1 |
Turbulence | 80-81 | 48-49 | 2 |
Status (for humidity) | 82 | 50 | 1 |
Humidity | 83-88 | 51-56 | 6 |
Range: [0%, 100%] | |||
LSB: 100/64 % |
The first field of the message defined the figure of merit (FOM) / source of the information. The values indicate the following:
0: Invalid
1: Inertial system (INS)
2: Global Navigation Satellite System (GNSS)
3: Distance measuring equipment-based navigation (DME/DME)
4: Very High Frequency omnidirectional range / distance measuring equipment-based navigation (VOR/DME)
5-15: Reserved
For static air temperature, the encoded value can be negative. Hence, two’s complement coding (see section [sec:two_complement]) is used for decoding. The actual maximum range of temperature is from -80 \(^\circ\)C to +60 \(^\circ\)C.
It is also worth pointing out a discrepancy in the design. The temperature is encoded using 10 bits, where the least significant bit value should have been 0.125\(^\circ\). However, according to the official document , the LSB value is 0.25\(^\circ\). ICAO has planned to update this to 0.125\(^\circ\) in the future. Most current implementations still use 0.25\(^\circ\).
In Figure 1.1, the decoding of an MRAR example message is shown.
Try it out Using pyModeS
, we can decode information of BDS 4,4 messages as:
import pyModeS as pms
msg = "A0001692185BD5CF400000DFC696"
wind = pms.commb.wind44(msg)
temperature = pms.commb.temp44(msg)
pressure = pms.commb.p44(msg)
humidity = pms.commb.hum44(msg)
In MHR messages, different hazard condition levels are reported, such as turbulence, wind shear, microburst, icing, and wake vortex. It also includes temperature, pressure, and radio height. In Table 1.2, the structure of the MHR message is shown.
It is worth noting that during real flights, MHR messages are much rarer than MARA messages. Whenever they are available, most of the messages only contain temperature information.
FIELD | MSG | MB | BITS |
---|---|---|---|
Status (for turbulence) | 33 | 1 | 1 |
Turbulence | 34-35 | 2-3 | 2 |
Status (for wind shear) | 36 | 4 | 1 |
Wind shear | 37-38 | 5-6 | 2 |
Status (for microburst) | 39 | 7 | 1 |
Microburst | 40-41 | 8-9 | 2 |
Status (for icing) | 42 | 10 | 1 |
Icing | 43-44 | 11-12 | 2 |
Status (for wake vortex) | 45 | 13 | 1 |
Wake vortex | 46-47 | 14-15 | 2 |
Status (for temperature) | 48 | 16 | 1 |
Sign (for temperature) | 49 | 17 | 1 |
Static air temperature | 50-58 | 18-26 | 9 |
Range: [-128, +128] \(^\circ\)C | |||
LSB: 0.25 \(^\circ\)C | |||
Status (for pressure) | 59 | 27 | 1 |
Average static pressure | 60-70 | 28-38 | 11 |
Range: [0, 2048] hPa | |||
LSB: 1 hPa | |||
Status (for height) | 71 | 39 | 1 |
Radio height | 72-83 | 40-51 | 12 |
Range: [0, 65 528] ft | |||
LSB: 16 ft | |||
Reserved | 84-88 | 52-56 | 5 |
The levels for turbulence, wind shear, microburst, icing, and wake vortex are encoded as follows:
00
: NIL
01
: LIGHT
10
: MODERATE
11
: SEVERE
As is the case for MRAR messages, the actual range of the temperature is from -80 \(^\circ\)C to +60 \(^\circ\)C, and it is encoded using the two’s complement coding.
In Figure 1.2, the decoding of an example message is shown. Note that in this example, only the air temperature information is included. None of the hazard conditions is reported.
Note The availability of BDS 4,4 messages is quite low. Very few aircraft’s transponders have these capabilities enabled. BDS 4,5 message is even rarer. When a message is transmitted, it is very common that information in many fields are not available.