Opened 5 years ago

Closed 4 years ago

Last modified 4 years ago

#678 closed task (fixed)

ropp2bufr_eccodes should tell users how to wrap BUFR messages in GTS headers

Reported by: Ian Culverwell Owned by: warrick
Priority: normal Milestone: 11.0
Component: ropp_io Version: 9.0
Keywords: Cc: Ian Culverwell

Description

ROPP-10.0 beta reviewer Stig Syndergaard says

Do ropp2bufr_eccodes not generate headers with the -g option? It seems so when I look in
ropp2bufr_eccodes.f90, but the release notes says something different, and I know you warned us about
this, and provided the workaround with the perl script. But could ropp2bufr_eccodes generate the header
to be output in ascii? and the user can then use the perl script with that info? I would probably
understand this better if I had been able to try it out

ropp2bufr_eccodes does not generate ARH headers for BUFR files (because it cannot). But the --help option suggests otherwise, so we should fix that.

Stig makes a fair point about the input to the perl script. I think it would be a good idea if using the -g option generated a message something like "The ecCodes library does not allow Abbreviated Routing Headers to be wrapped around BUFR messages. To do this, the user should execute gtsheaders_bufr.pl infile outfile T1T2A1A2[ii] CCCC [YYGGgg]", where T1T2A1A2[ii] etc are filled in with the appropriate entries for the particular profile being processed. We should be able to access this data, because when ropp2bufr is built on the old ecBUFR or moBUFR libraries, it can add these headers automatically. There will be a problem if it depends on some element of these libraries to calculate these data.

Change history (2)

comment:1 by warrick, 4 years ago

Resolution: fixed
Status: newclosed

We have now changed the behaviour of eum2bufr_eccodes and ropp2bufr_eccodes to warn the user that the -g option is not available in ecCodes. The warning looks like this:

WARNING (from ropp2bufr_eccodes):  '-gi' requested, but GTS header encoding not currently available in ecCodes.
   For this functionality either use the perl script at $ROPP_SRC/ropp_io/tools/gtsheaders_bufr.pl with the instructions below,
   or use the MetDB or ECMWF BUFR packages.

A perl script, kindly provided by the NWP SAF, is being supplied with ROPP 10.0 and can be used to add GTS headers to BUFR files.

In eum2bufr_eccodes and ropp2bufr_eccodes we also added a printout of the required header, which looks like this example:

INFO (from ropp2bufr_eccodes):  To wrap BUFR file in GTS ARH + IPH headers, run:
   perl $ROPP_SRC/ropp_io/tools/gtsheaders_bufr.pl --iph old_result.bufr old_result.bufr_gts (for example) IUTB14 EKMI 190117

comment:2 by Ian Culverwell, 4 years ago

This change was committed at r6404.

Note: See TracTickets for help on using tickets.