Bufr Decoding Software Windows
NCEP Home > NCO Home > Systems Integration Branch > Decoders > BUFRLIB > BUFRLIB Table of Contents > General-purpose utility for decoding BUFR files
FM94 BUFR Encoding / Decoding Software Page 5 User Guidelines Chapter 8 Examples Chapter 9 References. 2 Introduction to BUFR This section gives a general overview of the BUFR-concepts. Parts of this section were taken from [1]. Only the very basic concepts are described here, so please refer to [1] for details.
Printer Friendly Version
Example Program: General purpose utility for decoding BUFR files
In this example, we show how various BUFRLIB subroutines and functions can beintegrated within an application program to read and dump the contentsof a file containing any types of valid BUFRmessages, without the need to pre-define any DX BUFR tables.As discussed earlier within the documentation, this can be done via the useof appropriate Master BUFR tables, and by specifyingIO='SEC3' when making the appropriate callto subroutine OPENBF for the file in question.Unlike in some of our other examples, the below program can be directly compiledand run 'as is', without any additional code supplied by the user. Theprogram consists of a main C-language program 'debufr.c' which in turn calls aFORTRAN subroutine 'fdebufr.f' as shown below.
- Download bufr decoder for free. A decoder for reading WMO's Bufr-format files of meteorological reports. It displays the expanded descriptors and their corresponding values, in a nice human readable form You can download the source code from http://bufr-info.sourceforge.net.
- Program to analyse and decode BUFR files, and display geographical data in a variety of formats. Version 0.1.2 101004 Initial release. Version 0.1.3 101009 Fix map window geometry. Error console enabled temporarily. Version 0.1.4 101015 Internal errors now reported to GUI.
- Bufr software applicability (os). (decoding/ encoding) unix, linux, windows with gigwin emulator fortran yes internet, free download, documentation on line.
- OPERA Operational Programme for the Exchange of Weather Radar Information FM94-BUFR Encoding and Decoding Software User Guidelines Version 1.6.
- Download bufr decoder for free. A decoder for reading WMO's Bufr-format files of meteorological reports. It displays the expanded descriptors and their corresponding values, in a nice human readable form You can download the source code from http://bufr-info.sourceforge.net.
- Bufr software applicability (os) language source code availability support ecmwf (decoding/ encoding) unix, linux, windows fortran, python, c yes internet.
As shown above, this particular application program is designed to be runas a UNIX shell command, with the BUFR file to be decoded as the lone argument.The output file where decoded information is to be printed can be specified viathe option -o; otherwise the file 'bfbn.debufr.out' iscreated in the same directory, where 'bfbn' is the basename of the BUFR fileto be decoded. Similarly, and since the program will needaccess to master BUFR tables, an option -t is alsoprovided where the directory containing these master tables is located. Notethat this same directory name is eventually passed in as an argument to subroutineMTINFO within the FORTRAN code, in order to indicate thelocation of these master tables to the BUFRLIB software. Finally, note that anadditional -b option is also provided in case the userjust wants a basic listing of the contents of Sections 0 through 3 of each BUFRmessage without a full-blown listing of all of the data values in Section 4.For further details see the 'USAGE:' section within the documentation blockof the above C code. Otherwise, before moving into the FORTRAN code, note thatthis C code also does a call to COBFL, since we willbe demonstrating the use of BUFRLIB's C language interface to read each BUFRmessage from the specified input file.
Now, within the FORTRAN code, note that we make an initial call toOPENBF,despite the fact that we will be using CRBMG to actuallyread the BUFR messages from the specified input file. This call toOPENBF is nonetheless needed in order to associate aFORTRAN logical unit number that can later be passed into subroutineREADERME, and also to let the BUFRLIB software know(via the use of IO='SEC3') that we want messagesdecoded according to their Section 3 data description section once we passthem in via READERME later on in the code.Note also that there are several calls to ISETPRMprior to the first call to OPENBF, in order tomodify several internal BUFRLIB array size limits from their default values.
Dvd Decoding Software
After the aforementioned required call to subroutineMTINFO is made, the main loop is entered to readeach BUFR message in turn from the specified file usingCRBMG,print the basic information from Sections 0 through 3 using multiplesuccessive calls to IUPBS01, IUPBS3 andUPDS3, and then (unless the -b optionwas specified on the command line), pass the message into subroutineREADERME, where eachdata subset can then be read using IREADSB and subsequentlyprinted to the specified output file using subroutine UFDUMP.Finally, after all such BUFR messages have been read and decoded from the file, theprogram makes a call to subroutine DXDUMP to print a copy of the internal DX table that was automatically generated by the BUFRLIB duringprocessing of the file.Control is then passed back to the above C code, where the final call toCCBFL is made and then the program exits.