Skip to content

How to determine "state after some weather condition" codes (20...29)?

roe-dl edited this page Jun 29, 2023 · 18 revisions

Disdrometers report the weather condition at the time of measurement. They do not care about past weather. On the other hand, the WMO tables 4677 and 4680 include codes about weather conditions that occured within the last hour but not at the time of measurement. So there is some postprocessing required within this extension to get those codes. The official weather services do so as well.

Algorithm

Caching the readings of the last hour

Each device thread maintains a list of readings of the last hour. Every time a new data telegram arrives, the list is updated and then processed.

  • If the weather condition changed (different code) a new element is appended to the list.
  • If the weather condition persists (same code as before) the last element is updated.
  • If the weather condition of the first element of the list ended more than one hour ago, this element is removed from the list.

After that the overall duration of each weather condition (this time independently of intensity) is calculated. The total duration of precipitation is calculated as well.

Condition

The derived weather condition code then is:

  • if the device actually reports precipitation or the precipitation ended more than one hour ago, the code the device sent

  • if the device actually reports no precipition and the precipitation within the last hour

    • was heavy and lasted for at least 150 seconds or
    • was moderate and lasted for at least 300 seconds or
    • was light and lasted for at least 450 seconds

    then a code in the range of 20 to 29

  • otherwise 00

Resulting codes

If the condition to report a code of 20 to 29 is met, the following tables are used to get the code:

For ww code table 4677:

past weather condition ww description resulting code ww
50, 51, 52, 53, 54, 55, 58, 59 drizzle 20
60, 61, 62, 63, 64, 65 rain 21
70, 71, 72, 73, 74, 75 snow 22
68, 69 rain and snow 23
56, 57, 66, 67 freezing rain or freezing drizzle 24
80, 81, 82 rain shower 25
85, 86 snow shower 26
87, 88, 89, 90 hail shower 27
41, 42, 43, 44, 45, 46, 47, 48, 49 fog 28
95, 96, 97, 98, 99 thunderstorm 29

For wawa code table 4680:

past weather condition wawa description resulting code wawa
30, 31, 32, 33, 34, 35 fog, mist 20
40, 41, 42 precipitation 21
50, 51, 52, 53, 57, 58 drizzle 22
60, 61, 62, 63, 67, 68, 43, 44 rain 23
70, 71, 72, 73, 74, 75, 76, 45, 46 snow 24
54, 55, 56, 64, 65, 66, 47, 48 freezing precipitation 25
90, 91, 92, 93, 94, 95, 96 thunderstorm 26

Rules adopted by the German Weather Service DWD

The German Weather Service DWD provides a table in their version of the BUFR specification showing the connection between the raw disdrometer readings and the 20 to 29 codes.

They state that they use the highest value found within the last hour to look up in this table, irrespective of the duration of the respective weather condition.

raw reading sent by the disdrometer during the last hour but not now description wawa BUFR 0 20 003
ww 17, 95 to 99, wawa 90 to 96 thunderstorm 26 126
ww 56, 57, 66, 67, wawa 54 to 56, 64 to 66 freezing rain or freezing drizzle 25 125
ww 68 to 75, 78, 79, 83 to 86, 93, 94, wawa 67, 68, 70 bis 76, 78, 85 to 87 snow, sleet 24 124
ww 58 to 65, 80 to 82, 91, 92, wawa 57, 58, 60 to 63, 81 bis 84 rain 23 123
ww 50 to 55, 77, wawa 50 to 53, 77 drizzle 22 122
ww 87 to 90, wawa 40 to 48, 80, 89 precipitation 21 121
ww 41 to 49, wawa 30 to 35 fog 20 120

References