NCEPLIBS-bufr  12.1.0
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.