91 DO WHILE ( .NOT. done )
92 CALL rdmsgw ( lunit, mgwa, ier )
93 IF ( ier .EQ. -1 )
THEN
103 ELSE IF ( ier .EQ. -2 )
THEN
105 ELSE IF (
idxmsg(mgwa) .NE. 1 )
THEN
114 ELSE IF (
iupbs3(mgwa,
'NSUB') .EQ. 0 )
THEN
130 IF ( iprt .GE. 2 )
THEN
131 CALL errwrt(
'+++++++++++++++++++++++++++++++++++++++++++++++++')
132 WRITE ( unit=errstr, fmt=
'(A,I3,A)' )
133 .
'BUFRLIB: RDBFDX - STORED NEW DX TABLE CONSISTING OF (',
136 errstr =
'WILL APPLY THIS TABLE TO ALL SUBSEQUENT DATA IN '//
137 .
'FILE UNTIL NEXT DX TABLE IS FOUND'
139 CALL errwrt(
'+++++++++++++++++++++++++++++++++++++++++++++++++')
146 900
CALL bort(
'BUFRLIB: RDBFDX - ERROR READING A BUFR DICTIONARY '//
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
void backbufr(f77int *nfile)
This subroutine backspaces a BUFR file by one BUFR message.
subroutine dxinit(LUN, IOI)
THIS SUBROUTINE INITIALIZES THE INTERNAL ARRAYS (IN MODULE TABABD) HOLDING THE DICTIONARY TABLE.
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
function idxmsg(MESG)
This function determines whether a given BUFR message contains DX BUFR tables information that was ge...
function iupbs3(MBAY, S3MNEM)
This function returns a specified value from within Section 3 of a BUFR message.
subroutine makestab
THIS SUBROUTINE CONSTRUCTS AN INTERNAL JUMP/LINK TABLE WITHIN MODULE TABLES, USING THE INFORMATION WI...
subroutine rdbfdx(LUNIT, LUN)
BEGINNING AT THE CURRENT FILE POINTER LOCATION WITHIN LUNIT, THIS SUBROUTINE READS A COMPLETE DICTION...
subroutine rdmsgw(LUNIT, MESG, IRET)
THIS SUBROUTINE READS THE NEXT BUFR MESSAGE FROM LOGICAL UNIT LUNIT AS AN ARRAY OF INTEGER WORDS.
subroutine stbfdx(LUN, MESG)
THIS SUBROUTINE COPIES A BUFR TABLE (DICTIONARY) MESSAGE FROM THE INPUT ARRAY MESG INTO THE INTERNAL ...