NCEPLIBS-bufr  11.5.0
 All Data Structures Files Functions Variables Pages
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

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:

  • 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 history documentation; outputs more complete diagnostic info when routine terminates abnormally, unusual things happen or for informational purposes
  • 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

Definition at line 71 of file ufdump.f.

References bort(), fstag(), ibfms(), icbfms(), ireadmt(), isize(), nemtab(), numtbd(), readlc(), rjust(), srchtbf(), status(), strsuc(), and upftbv().

Referenced by fdebufr().