Environment Canada BUFR Library

Code Table for Regional Codes?

Asked by Reinhard Hagenbrock on 2010-12-08

Hello, everybody out there,

is there the possibility to encode/decode data for which the coding is subject to regional regulations. Examples would be 1h precipitation or ground temperature.

Given my input bufr data files contain such data, I presume I would need the proper Code Tables. Do they exist? How do I import them?

Thanks a lot for your efforts!

Regards,
Reinhard

Question information

Language:
English Edit question
Status:
Answered
For:
libECBUFR Edit question
Assignee:
No assignee Edit question
Last query:
2010-12-10
Last reply:
2010-12-10

Hello Reinhard,

As long as the Tables B and D contain all the descriptor definitions needed to expand the template defined in Section 3, any well-encoded message should be decodable. If certain required descriptors are absent from the tables, and you know their definition, they can easily be added. Here is how:

By default, libECBUFR installs those tables in /usr/share/libecbufr . You can add new entries (local descriptors, validation descriptors, operational descriptors) by following the exact line format of the entries in files table_b_bufr and table_d_bufr. Here is an example of a Table B entry:

004024 TIME PERIOD OR DISPLACEMENT HOUR 0 -2048 12

And here is an example of a Table D entry:

309019 301031 002003 101000 031001 303011

In that example, 309019 is the Table D descriptor being defined, and the ones following it are the corresponding sequence. For long sequences there must be no carriage returns or line returns in the definition.

I hope this helps

Yves

Launchpad ate the spaces in the example of Table B entry above. Just make sure you follow the line entry format as shown within /usr/share/libecbufr/table_b_bufr .

Bonjour!

Merci beaucoup for your answer. It will need some testing but I suppose
I will come through with your advice.

So I will first make sure the data set really contains the data I
presume (unfortunately, the German Weather Service as our data provider
is everything but clear in its announcements...). Then I will have a try.

Best regards,
Reinhard

Am 08.12.2010 20:50, schrieb Yves Pelletier:
> Your question #137037 on libECBUFR changed:
> https://answers.launchpad.net/libecbufr/+question/137037
>
> Status: Open => Answered
>
> Yves Pelletier proposed the following answer:
> Hello Reinhard,
>
> As long as the Tables B and D contain all the descriptor definitions
> needed to expand the template defined in Section 3, any well-encoded
> message should be decodable. If certain required descriptors are absent
> from the tables, and you know their definition, they can easily be
> added. Here is how:
>
> By default, libECBUFR installs those tables in /usr/share/libecbufr .
> You can add new entries (local descriptors, validation descriptors,
> operational descriptors) by following the exact line format of the
> entries in files table_b_bufr and table_d_bufr. Here is an example of a
> Table B entry:
>
> 004024 TIME PERIOD OR DISPLACEMENT HOUR 0
> -2048 12
>
> And here is an example of a Table D entry:
>
> 309019 301031 002003 101000 031001 303011
>
> In that example, 309019 is the Table D descriptor being defined, and the
> ones following it are the corresponding sequence. For long sequences
> there must be no carriage returns or line returns in the definition.
>
> I hope this helps
>
> Yves
>

Hello again, Reinhard,

Thinking back on your question, I am not sure I fully understand what you meant by "regional codes"? This formulation is a bit ambiguous with respect to WMO and BUFR terminology. Perhaps if you give me an example I could be of further assistance.

Hello, Yves,

my "problem" is the following: I have two data sets, one in classical
synop code (ASCII format), one in bufr format - both of them should
describe the same data, so I am trying to make them match.

The German Weather Service (DWD) is reporting the current ground
temperature (5cm above ground) in 1/10 °C in the classical synop reports
in the 555 subsection (in the form *0s_n T_B T_B T_B * ). The 555
subsection in the synop code contains - according to WMO - "groups to be
developed nationally". I do not find this report of ground temperature
in the bufr data set.

In table_b_bufr, I do find an entry called "SOIL TEMPERATURE" (012130),
but not in my data. Yet, maybe this is not where my 5cm temperature
would be coded. I might also expect the data as "TEMPERATURE/DRY BULB
TEMPERATURE" (012001) with a prior setting of the "VERTICAL
SIGNIFICANCE" (008002) to 0,05m - but this I do not find eighter.

So either the information is not contained in the bufr data set.

Or, finding this:
http://www.docstoc.com/docs/2621100/BUFR-templates-for-SYNOP-PILOT-and-TEMP-data
I got the impression that maybe there is the possibility to include
regional practices into the bufr code tables. You told me how that might
work, but yet I would have no info on the relevant details. I will have
to get in contact with my data provider, anyway.

Obviously, I hardly know enough about BUFR code. This is surely the
reason for the ambiguous formulation. Thank you for your insistance.

Recently, my data provider has offered some assistance. So I have a
rough idea how to procede on my "problem".

Best regards,
Reinhard

Am 10.12.2010 14:55, schrieb Yves Pelletier:
> Your question #137037 on libECBUFR changed:
> https://answers.launchpad.net/libecbufr/+question/137037
>
> Status: Open => Needs information
>
> Yves Pelletier requested for more information:
> Hello again, Reinhard,
>
> Thinking back on your question, I am not sure I fully understand what
> you meant by "regional codes"? This formulation is a bit ambiguous with
> respect to WMO and BUFR terminology. Perhaps if you give me an example
> I could be of further assistance.
>

Reinhard,

I understand now. Thank you for the clarification. To place this in the context of BUFR message decoding: the ASCII dump of a BUFR message will show all the information that exists in that message. The content of Section 3 absolutely defines the data payload of the BUFR message. Let's say for example that Section 3 contains a single table D entry, 3-07-080. This is one of the WMO BUFR templates for SYNOP observation. This template contains no provision for "555" data and therefore such information will be absent from such a BUFR message.

Now at the meeting of the IPET-DRC last September, DWD and CMI experts proposed that "555" national information should be expressed as a Table D sequence and appended in Section 3 of a standard WMO BUFR SYNOP message. So I would expect that your contacts at DWD should be able to describe the approach in more detail if required. What I can confirm, from a libECBUFR point of view, is that it should have no difficulty decoding an eventual BUFR message containing national information.

Yves

Can you help with this problem?

Provide an answer of your own, or ask Reinhard Hagenbrock for more information if necessary.

To post a message you must log in.