NCEPLIBS-bufr
11.6.0
|
C language code for debufr utility. More...
#include <ctype.h>
#include <string.h>
#include <stdio.h>
#include <libgen.h>
#include <unistd.h>
#include "bufrlib.h"
#include "cobfl.h"
Go to the source code of this file.
Macros | |
#define | MXFLEN 125 |
Functions | |
void | fdebufr (char *, char *, f77int *, char *, char *, char *, char *, char *, size_t, size_t, size_t, size_t, size_t, size_t, size_t) |
int | main (int argc, char *argv[]) |
This program decodes a BUFR file and generates a verbose listing of the contents. More... | |
void | prtusage (char *prgnam) |
This function prints program usage information to standard output. More... | |
C language code for debufr utility.
Definition in file debufr.c.
int main | ( | int | argc, |
char * | argv[] | ||
) |
This program decodes a BUFR file and generates a verbose listing of the contents.
If a DX BUFR Tables file is specified (using the -f option) or if the specified BUFR file contains an embedded DX BUFR tables message as the first message in the file, then this information is used to decode the data messages in the file. Otherwise, or whenever the -m option is specified, master BUFR tables are read and used to decode the data messages in the file.
Usage
debufr [-v] [-h] [-b] [-c] [-m] [-o outfile] [-t tabledir] [-f tablefil] [-p prmstg] bufrfile
where: -v prints version information and exits
-h prints program help and usage information and exits
-b specifies the "basic" option, meaning that only the information in Sections 0-3 will be decoded from each BUFR message in the bufrfile, and no attempt will be made to decode the data in Section 4
-c specifies that code and flag table meanings should not be read from master BUFR tables and included in the output; otherwise this feature is enabled by default
-m specifies that master BUFR tables will be used to decode the data messages in the file, regardless of whether it contains any embedded DX BUFR table messages. This option can be used to view the actual contents of DX BUFR table messages, which otherwise would not be printed in the output listing.
outfile [path/]name of file to contain verbose output listing. The default is "bufrfilename.debufr.out" in the current working directory, where bufrfilename is the basename of the bufrfile (i.e. bufrfile with any preceding [path/] removed).
tabledir [path/]name of directory containing tables to be used for decoding. This directory contains the DX BUFR tables file to be used (if one was specified via the -f option), or it may contain all of the master BUFR tables when these are being used to decode a file. If unspecified, the default directory location is the defined value of the MASTER_TABLE_DIR macro when the utility was built.
tablefil file within tabledir containing DX BUFR tables to be used for decoding.
prmstg string of comma-separated PARAMETER=VALUE pairs, up to a maximum of 20. For each pair, the dynamic allocation PARAMETER will be set to VALUE within the underlying BUFRLIB software, overriding the default value that would otherwise be used. A complete list of parameters that can be dynamically sized is included within the documentation for BUFRLIB function isetprm().
bufrfile [path/]name of BUFR file to be decoded
Program history log:
Date | Programmer | Comments |
---|---|---|
2009-07-01 | J. Ator | Original author |
2012-06-18 | J. Ator | Modified to allow decoding of BUFR files based on NCEP DX dictionary table information. The program can now process any files that previously required the use of ckbufr. |
2012-12-07 | J. Ator | Modified to add -m and -v options and inline version of OPENBT subroutine for mixed BUFR files |
2013-10-07 | J. Ator | Print Section 1 tank receipt time information for NCEP/NCO BUFR messages if available |
2013-11-15 | J. Ator | Add -h option and check for non-existent tablefil |
2014-09-15 | J. Ator | Change default path for tabledir, change default name for outfile, and confirm outfile is writeable |
2018-01-19 | J. Ator | Add print of code and flag table meanings |
2018-04-09 | J. Ator | Add -c option to turn off print of code and flag table meanings (default is "on") |
2018-09-05 | J. Ator | Add -p option to pass in one or more BUFRLIB dynamic allocation parameters to override default settings |
2019-02-01 | J. Ator | Remove limit on length of prmstg, and allow up to 20 PARAMETER=VALUE pairs |
2021-03-02 | J. Ator | Add missing #include files, remove unused errflg variable, and other general cleanup |
Definition at line 172 of file debufr.c.
References bvers(), ccbfl(), cobfl(), fdebufr(), and prtusage().
void prtusage | ( | char * | prgnam | ) |
This function prints program usage information to standard output.
[in] | prgnam | – char*: [path/]name of program executable |
Program history log:
Date | Programmer | Comments |
---|---|---|
2018-03-01 | J. Ator | Original author |