NCEPLIBS-bufr  11.7.0
 All Data Structures Files Functions Variables Pages
ufbdmp.f File Reference

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

Go to the source code of this file.

Functions/Subroutines

subroutine ufbdmp (LUNIN, LUPRT)
 This subroutine prints a verbose listing of the contents of a data subset, including all data values and replicated sequences, as well as jump/link table information and other internal subset pointers. More...
 

Detailed Description

Print the contents of a data subset.

Definition in file ufbdmp.f.

Function/Subroutine Documentation

subroutine ufbdmp (   LUNIN,
  LUPRT 
)

This subroutine prints a verbose listing of the contents of a data subset, including all data values and replicated sequences, as well as jump/link table information and other internal subset pointers.

This subroutine is similar to subroutine ufdump(), 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
D. Keyser
Date
1994-01-06
Parameters
[in]LUNIN– integer: Absolute value is Fortran logical unit number for BUFR file
  • If LUNIN > 0, data values are printed to LUPRT using the format descriptor code 'G15.6', meaning that all values will be printed (since the format adapts to the order of magnitude of each value), but values won't necessarily be lined up with the decimal point in the same column
  • If LUNIN < 0, data values are printed to LUPRT using the format descriptor code 'F15.6', meaning that all values will be lined up with the decimal point in the same column, but values exceeding the format width of 15 characters will print as overflow (e.g. '***************')
[in]LUPRT– integer: Fortran logical unit number for print output
  • 0 = Run interactively, printing to standard output

Logical unit ABS(LUNIN) 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).

Program history log:

Date Programmer Comments
1994-01-06 J. Woollen Original author
1998-07-08 J. Woollen Replaced call to Cray library routine ABORT with call to new internal routine bort()
1999-11-18 J. Woollen The number of BUFR files which can be opened at one time increased from 10 to 32
2002-05-14 J. Woollen Removed old Cray compiler directives
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
2003-11-04 D. Keyser Allowed fuzziness in test for missing values; added option to print using either 'G15.6' or 'F15.6'; added several jump/link table values to output
2004-08-18 J. Ator Modified fuzziness test; added readlc() option; restructured some logic for clarity
2006-04-14 D. Keyser 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()
2014-12-10 J. Ator Use modules instead of COMMON blocks
2020-09-09 J. Ator Fix missing check for long character strings
2021-09-30 J. Ator Replace rjust with Fortran intrinsic adjustr

Definition at line 71 of file ufbdmp.f.

References bort(), ibfms(), icbfms(), isize(), nemtab(), readlc(), status(), and upftbv().