NCEPLIBS-bufr  12.2.0
All Data Structures Namespaces Files Functions Variables Macros Pages
debufr.F90 File Reference

Fortran language code for debufr utility. More...

Go to the source code of this file.

Modules

module  share_table_info
 This module is used within the debufr utility to share information between subroutine fdebufr_c() and subroutine openbt(), since the latter is not called by the former but rather is called directly from within the NCEPLIBS-bufr software.
 

Functions/Subroutines

subroutine fdebufr_c (ofile, lenof, tbldir, lentd, tblfil, lentf, prmstg, lenps, basic, forcemt, cfms)
 This subroutine reads, decodes, and generates a verbose output listing of the contents of every BUFR message from within the input file that was previously opened via a call to function cobfl() with io = 'r'. More...
 
subroutine openbt (lundx, mtyp)
 This subroutine overrides the placeholder subroutine of the same name within the NCEPLIBS-bufr distribution package. More...
 

Variables

integer share_table_info::ltbd
 Length (in characters) of tbldir_f. More...
 
integer share_table_info::ludx
 Fortran logical unit number to use for referencing a DX table. More...
 
character(len=:), allocatable share_table_info::tbldir_f
 Directory containing DX BUFR tables to be used for decoding. More...
 

Detailed Description

Fortran language code for debufr utility.

Author
J. Ator
Date
2009-07-01

Definition in file debufr.F90.

Function/Subroutine Documentation

◆ fdebufr_c()

subroutine fdebufr_c ( character(kind=c_char,len=1), dimension(*), intent(in)  ofile,
integer(c_int), intent(in), value  lenof,
character(kind=c_char,len=1), dimension(*), intent(in)  tbldir,
integer(c_int), intent(in), value  lentd,
character(kind=c_char,len=1), dimension(*), intent(in)  tblfil,
integer(c_int), intent(in), value  lentf,
character(kind=c_char,len=1), dimension(*), intent(in)  prmstg,
integer(c_int), intent(in), value  lenps,
character(kind=c_char,len=1), intent(in)  basic,
character(kind=c_char,len=1), intent(in)  forcemt,
character(kind=c_char,len=1), intent(in)  cfms 
)

This subroutine reads, decodes, and generates a verbose output listing of the contents of every BUFR message from within the input file that was previously opened via a call to function cobfl() with io = 'r'.

Parameters
ofile- File to contain verbose output listing of contents of each decoded BUFR message
lenof- Length of ofile string
tbldir- Directory containing DX and/or master BUFR tables to be used for decoding
lentd- Length of tbldir string
tblfil- File containing DX BUFR table information to be used for decoding
  • 'NULLFILE' = No such file will be used
lentf- Length of tblfil string
prmstg- String of up to 20 comma-separated PARAMETER=VALUE pairs to be used to dynamically allocate memory within the NCEPLIBS-bufr software, overriding the default VALUE that would otherwise be used for each such PARAMETER
  • 'NULLPSTG' = No such pairs will be used
lenps- Length of prmstg string
basic- Indicator as to whether only "basic" information in Sections 0-3 should be decoded from each BUFR message:
  • 'Y' = Yes
  • 'N' = No
forcemt- Indicator as to whether master BUFR tables should be used for decoding, regardless of whether the input file contains any embedded DX BUFR table messages:
  • 'Y' = Yes
  • 'N' = No
cfms- Indicator as to whether code and flag table meanings should be read from master BUFR tables and included in the print output:
  • 'Y' = Yes
  • 'N' = No
Remarks
  • See NCEPLIBS-bufr function isetprm() for a complete list of parameters that can be dynamically sized via prmstg.
  • Fortran logical unit numbers 51, 90, 91, 92 and 93 are reserved for use within this subroutine.
Author
J. Ator
Date
2009-07-01

Definition at line 54 of file debufr.F90.

References codflg(), datelen(), dxdump(), getcfmng(), share_table_info::ltbd, share_table_info::ludx, mtinfo(), openbf(), parstr(), readerme(), rtrcptb(), strnum(), strsuc(), ufdump(), and upds3().

◆ openbt()

subroutine openbt ( integer, intent(out)  lundx,
integer, intent(in)  mtyp 
)

This subroutine overrides the placeholder subroutine of the same name within the NCEPLIBS-bufr distribution package.

Given the data category for a BUFR message, this subroutine opens the appropriate DX BUFR tables file to use in reading/decoding the message.

Author
J. Ator
Date
2012-12-07
Parameters
mtyp- Data category of BUFR message
lundx- Fortran logical unit number for DX BUFR tables file to use in reading/decoding the message
  • 0 = No such file is available
Author
J. Ator
Date
2012-12-07

Definition at line 383 of file debufr.F90.

References share_table_info::ltbd, share_table_info::ludx, and share_table_info::tbldir_f.