34 IF ( ndxts .GE. mxdxts ) goto 900
38 CALL
status(lunit,lun,il,im)
43 DO WHILE ( .NOT. done )
44 CALL
rdmsgw( lunit, mgwa, ier )
45 IF ( ier .EQ. -1 )
THEN
55 ELSE IF ( ier .EQ. -2 )
THEN
57 ELSE IF (
idxmsg(mgwa) .NE. 1 )
THEN
66 ELSE IF (
iupbs3(mgwa,
'NSUB') .EQ. 0 )
THEN
78 IF ( ( ndxm + ict ) .GT. mxdxm ) goto 902
79 ipdxm(ndxm+ict) = ldxm + 1
81 IF ( ( ldxm + lmem ) .GT. mxdxw ) goto 903
91 IF ( ict .GT. 0 )
THEN
92 ifdxts(ndxts+1) = ndxm + 1
94 ipmsgs(ndxts+1) = msgp(0) + 1
97 IF ( iprt .GE. 2 )
THEN
98 CALL
errwrt(
'+++++++++++++++++++++++++++++++++++++++++++++')
99 WRITE ( unit=errstr, fmt=
'(A,I3,A,I3,A)')
100 .
'BUFRLIB: CPDXMM - STORED NEW DX TABLE #', ndxts,
101 .
' CONSISTING OF ', ict,
' MESSAGES'
103 CALL
errwrt(
'+++++++++++++++++++++++++++++++++++++++++++++')
109 900 CALL
bort(
'BUFRLIB: CPDXMM - MXDXTS OVERFLOW')
110 901 CALL
bort(
'BUFRLIB: CPDXMM - UNEXPECTED READ ERROR')
111 902 CALL
bort(
'BUFRLIB: CPDXMM - MXDXM OVERFLOW')
112 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 a given BUFR message contains DX BUFR tables information that was ge...
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() ...