NCEPLIBS-bufr  11.5.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:

  • 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 (necessary in order to process multiple BUFR files under the MPI)
  • 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 history documentation; outputs more complete diagnostic info when routine terminates abnormally, unusual things happen or for informational purposes; 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

Definition at line 82 of file ufbdmp.f.

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