NCEPLIBS-bufr  12.0.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(c_char), intent(in), value  basic,
character(c_char), intent(in), value  forcemt,
character(c_char), intent(in), value  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
[in]ofile– c_char(*): File to contain verbose output listing of contents of each decoded BUFR message
[in]lenof– c_int: Length of ofile string
[in]tbldir– c_char(*): Directory containing DX and/or master BUFR tables to be used for decoding
[in]lentd– c_int: Length of tbldir string
[in]tblfil– c_char(*): File containing DX BUFR table information to be used for decoding
  • 'NULLFILE' = No such file will be used
[in]lentf– c_int: Length of tblfil string
[in]prmstg– c_char*(*): 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
[in]lenps– c_int: Length of prmstg string
[in]basic– c_char: Indicator as to whether only "basic" information in Sections 0-3 should be decoded from each BUFR message:
  • 'Y' = Yes
  • 'N' = No
[in]forcemt– c_char: 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
[in]cfms– c_char: 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 56 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
[in]mtyp– integer: Data category of BUFR message
[out]lundx– integer: 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 388 of file debufr.F90.

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