NCEPLIBS-bufr 11.7.1
ufdump.f File Reference

Print the contents of a data subset. More...

Go to the source code of this file.

Functions/Subroutines

subroutine ufdump (LUNIT, LUPRT)
 This subroutine prints a verbose listing of the contents of a data subset, including all data values and replicated sequences, as well as the meanings of data values which are code or flag table entries. More...
 

Detailed Description

Print the contents of a data subset.

Definition in file ufdump.f.

Function/Subroutine Documentation

◆ ufdump()

subroutine ufdump (   LUNIT,
  LUPRT 
)

This subroutine prints a verbose listing of the contents of a data subset, including all data values and replicated sequences, as well as the meanings of data values which are code or flag table entries.

This subroutine is similar to subroutine ufbdmp(), but it prints different characteristics of each data subset, and in a slightly different format. However, both subroutines can be useful for different diagnostic purposes, and both can also be run interactively to scroll through the contents of a data subset.

Authors
J. Woollen
J. Ator
Date
2002-05-14
Parameters
[in]LUNIT– integer: Fortran logical unit number for BUFR file
[in]LUPRT– integer: Fortran logical unit number for print output
  • 0 = Run interactively, printing to standard output

Logical unit LUNIT should have already been opened for input operations via a previous call to subroutine openbf(), and a BUFR data subset should have already been read into internal arrays via a previous call to one of the subset-reading subroutines.

Except when LUPRT = 0, logical unit LUPRT must already be associated with a filename on the local system, typically via a Fortran "OPEN" statement. When LUPRT = 0, the subroutine will run interactively and print to standard output, scrolling 20 lines at a time and prompting each time whether to quit and return to the application program (by typing 'q' then '<Enter>') or continue scrolling (by typing anything else).

Remarks
  • In order for the meanings of code and flag table values to be included in the output, a previous call to subroutine codflg() must have been made with argument CF = 'Y'. Otherwise, only the code and flag table values themselves will be printed.

Program history log:

Date Programmer Comments
2002-05-14 J. Woollen Original author
2003-11-04 J. Woollen Modified to handle print of character values greater than 8 bytes
2003-11-04 S. Bender Added remarks and routine interdependencies
2003-11-04 D. Keyser Increased MAXJL from 15000 to 16000; unified/portable for WRF; added documentation; outputs more complete diagnostic info when routine terminates abnormally
2004-08-18 J. Ator Added fuzziness test and threshold for missing value; added interactive and scrolling capability similar to ufbdmp()
2006-04-14 J. Ator Add call to upftbv() for flag tables to get actual bits that were set to generate value
2007-01-19 J. Ator Use function ibfms()
2009-03-23 J. Ator Add level markers to output for sequences where the replication count is > 1; output all occurrences of long character strings
2012-02-24 J. Ator Fix missing check for long character strings
2012-03-02 J. Ator Label redefined reference values
2014-12-10 J. Ator Use modules instead of COMMON blocks
2015-09-24 J. Woollen Print level identifiers for event stacks
2020-08-18 J. Ator Improve logic for sequence tracking
2021-09-30 J. Ator Replace rjust with Fortran intrinsic adjustr

Definition at line 63 of file ufdump.f.

References bort(), fstag(), ibfms(), moda_tables::ibt, icbfms(), moda_nrv203::inodnrv, ireadmt(), moda_tables::irf, moda_tables::isc, isize(), moda_tables::itp, nemtab(), moda_nrv203::nnrv, numtbd(), readlc(), srchtbf(), status(), strsuc(), moda_tababd::tabb, moda_tables::tag, moda_tables::typ, and upftbv().

Referenced by fdebufr().