33 IF ( ndxts .GE. mxdxts ) goto 900
37 CALL
status(lunit,lun,il,im)
42 DO WHILE ( .NOT. done )
43 CALL
rdmsgw( lunit, mgwa, ier )
44 IF ( ier .EQ. -1 )
THEN
54 ELSE IF ( ier .EQ. -2 )
THEN
56 ELSE IF (
idxmsg(mgwa) .NE. 1 )
THEN
65 ELSE IF (
iupbs3(mgwa,
'NSUB') .EQ. 0 )
THEN
77 IF ( ( ndxm + ict ) .GT. mxdxm ) goto 902
78 ipdxm(ndxm+ict) = ldxm + 1
80 IF ( ( ldxm + lmem ) .GT. mxdxw ) goto 903
90 IF ( ict .GT. 0 )
THEN
91 ifdxts(ndxts+1) = ndxm + 1
93 ipmsgs(ndxts+1) = msgp(0) + 1
96 IF ( iprt .GE. 2 )
THEN
97 CALL
errwrt(
'+++++++++++++++++++++++++++++++++++++++++++++')
98 WRITE ( unit=errstr, fmt=
'(A,I3,A,I3,A)')
99 .
'BUFRLIB: CPDXMM - STORED NEW DX TABLE #', ndxts,
100 .
' CONSISTING OF ', ict,
' MESSAGES'
102 CALL
errwrt(
'+++++++++++++++++++++++++++++++++++++++++++++')
108 900 CALL
bort(
'BUFRLIB: CPDXMM - MXDXTS OVERFLOW')
109 901 CALL
bort(
'BUFRLIB: CPDXMM - UNEXPECTED READ ERROR')
110 902 CALL
bort(
'BUFRLIB: CPDXMM - MXDXM OVERFLOW')
111 903 CALL
bort(
'BUFRLIB: CPDXMM - MXDXW OVERFLOW')
function iupbs3(MBAY, S3MNEM)
This function returns a specified value from within Section 3 of a BUFR message.
function nmwrd(MBAY)
GIVEN AN INTEGER ARRAY CONTAINING SECTION ZERO FROM A BUFR MESSAGE, THIS FUNCTION DETERMINES A COUNT ...
void backbufr(f77int *nfile)
This subroutine backspaces a BUFR file by one BUFR message.
subroutine cpdxmm(LUNIT)
This subroutine reads an entire DX BUFR table from a specified file into internal arrays...
subroutine rdmsgw(LUNIT, MESG, IRET)
THIS SUBROUTINE READS THE NEXT BUFR MESSAGE FROM LOGICAL UNIT LUNIT AS AN ARRAY OF INTEGER WORDS...
This module contains array and variable declarations used to store the contents of one or more BUFR f...
function idxmsg(MESG)
THIS FUNCTION DETERMINES WHETHER THE GIVEN BUFR MESSAGE IS A DX DICTIONARY MESSAGE THAT WAS CREATED B...
subroutine status(LUNIT, LUN, IL, IM)
This subroutine checks whether a specified Fortran logical unit number is currently connected to the ...
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...