NCEPLIBS-bufr  11.5.0
 All Data Structures Files Functions Variables Pages
rdbfdx.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine rdbfdx (LUNIT, LUN)
 BEGINNING AT THE CURRENT FILE POINTER LOCATION WITHIN LUNIT, THIS SUBROUTINE READS A COMPLETE DICTIONARY TABLE (I.E. More...
 

Detailed Description

Author
WOOLLEN
Date
1994-01-06

Definition in file rdbfdx.f.

Function/Subroutine Documentation

subroutine rdbfdx (   LUNIT,
  LUN 
)

BEGINNING AT THE CURRENT FILE POINTER LOCATION WITHIN LUNIT, THIS SUBROUTINE READS A COMPLETE DICTIONARY TABLE (I.E.

ONE OR MORE ADJACENT BUFR DX (DICTIONARY) MESSAGES) INTO INTERNAL MEMORY ARRAYS IN MODULE TABABD.

PROGRAM HISTORY LOG: 1994-01-06 J. WOOLLEN – ORIGINAL AUTHOR 1995-06-28 J. WOOLLEN – INCREASED THE SIZE OF INTERNAL BUFR TABLE ARRAYS IN ORDER TO HANDLE BIGGER FILES 1996-12-17 J. WOOLLEN – FIXED FOR SOME MVS COMPILER'S TREATMENT OF INTERNAL READS (INCREASES PORTABILITY) 1998-07-08 J. WOOLLEN – REPLACED CALL TO CRAY LIBRARY ROUTINE "ABORT" WITH CALL TO NEW INTERNAL BUFRLIB ROUTINE "BORT"; CORRECTED SOME MINOR ERRORS 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) 2000-09-19 J. WOOLLEN – MAXIMUM MESSAGE LENGTH INCREASED FROM 10,000 TO 20,000 BYTES 2003-11-04 S. BENDER – ADDED REMARKS/BUFRLIB ROUTINE INTERDEPENDENCIES 2003-11-04 D. KEYSER – UNIFIED/PORTABLE FOR WRF; ADDED DOCUMENTATION (INCLUDING HISTORY); OUTPUTS MORE COMPLETE DIAGNOSTIC INFO WHEN ROUTINE TERMINATES ABNORMALLY 2004-08-09 J. ATOR – MAXIMUM MESSAGE LENGTH INCREASED FROM 20,000 TO 50,000 BYTES 2005-11-29 J. ATOR – USE GETLENS, IUPBS01 AND RDMSGW 2009-03-23 J. ATOR – USE STNTBIA; MODIFY LOGIC TO HANDLE BUFR TABLE MESSAGES ENCOUNTERED ANYWHERE IN THE FILE (AND NOT JUST AT THE BEGINNING!) 2012-09-15 J. WOOLLEN – MODIFIED FOR C/I/O/BUFR INTERFACE; REPLACE FORTRAN BACKSPACE WITH C BACKBUFR 2014-12-10 J. ATOR – USE MODULES INSTEAD OF COMMON BLOCKS

USAGE: CALL RDBFDX (LUNIT, LUN) INPUT ARGUMENT LIST: LUNIT - INTEGER: FORTRAN LOGICAL UNIT NUMBER FOR BUFR FILE LUN - INTEGER: I/O STREAM INDEX INTO INTERNAL MEMORY ARRAYS (ASSOCIATED WITH FILE CONNECTED TO LOGICAL UNIT LUNIT)

INPUT FILES: UNIT "LUNIT" - BUFR FILE

REMARKS:

THIS SUBROUTINE PERFORMS A FUNCTION SIMILAR TO BUFR ARCHIVE LIBRARY SUBROUTINE RDUSDX, EXCEPT THAT RDUSDX READS FROM A FILE CONTAINING A USER-SUPPLIED BUFR DICTIONARY TABLE IN CHARACTER FORMAT. SEE THE DOCBLOCK IN RDUSDX FOR A DESCRIPTION OF THE ARRAYS THAT ARE FILLED IN MODULE TABABD.

THIS SUBROUTINE PERFORMS A FUNCTION SIMILAR TO BUFR ARCHIVE LIBRARY SUBROUTINE CPDXMM, EXCEPT THAT CPDXMM WRITES TO THE INTERNAL MEMORY ARRAYS IN MODULE MSGMEM, FOR USE WITH A FILE OF BUFR MESSAGES THAT IS BEING READ AND STORED INTO INTERNAL MEMORY BY BUFR ARCHIVE LIBRARY SUBROUTINE UFBMEM.

THIS ROUTINE CALLS: BORT DXINIT ERRWRT IDXMSG IUPBS3 MAKESTAB RDMSGW STBFDX BACKBUFR THIS ROUTINE IS CALLED BY: POSAPX READDX READMG Normally not called by any application programs.

Definition at line 70 of file rdbfdx.f.

References backbufr(), bort(), dxinit(), errwrt(), idxmsg(), iupbs3(), makestab(), rdmsgw(), and stbfdx().

Referenced by posapx(), readdx(), and readmg().