96 SUBROUTINE mesgbc(LUNIN,MESGTYP,ICOMP)
112 IF(lunit.NE.lunin) itype = 1
124 CALL openbf(lunit,
'INX',lunit)
1291
CALL rdmsgw(lunit,mgwa,ier)
130 IF(ier.EQ.-1)
GOTO 900
131 IF(ier.EQ.-2)
GOTO 901
137 IF((
idxmsg(mgwa).EQ.1).OR.(
iupbs3(mgwa,
'NSUB').EQ.0))
GOTO 1
144 CALL status(lunit,lun,il,im)
147 mgwa(i) =
mbay(i,lun)
157 icomp =
iupbs3(mgwa,
'ICMP')
164900
IF(irec.EQ.0)
THEN
168 IF(mesgtyp.GE.0) mesgtyp = -mesgtyp
179100
IF(itype.EQ.0)
CALL closbf(lunit)
subroutine closbf(LUNIT)
This subroutine closes the connection between logical unit LUNIT and the BUFRLIB software.
function idxmsg(MESG)
This function determines whether a given BUFR message contains DX BUFR tables information that was ge...
function iupbs01(MBAY, S01MNEM)
This function returns a specified value from within Section 0 or Section 1 of a BUFR message.
function iupbs3(MBAY, S3MNEM)
This function returns a specified value from within Section 3 of a BUFR message.
subroutine mesgbc(LUNIN, MESGTYP, ICOMP)
THIS SUBROUTINE EXAMINES A BUFR MESSAGE AND RETURNS BOTH THE MESSAGE TYPE FROM SECTION 1 AND A MESSAG...
This module contains array and variable declarations used to store BUFR messages internally for multi...
integer, dimension(:,:), allocatable mbay
Current BUFR message for each internal I/O stream.
subroutine openbf(LUNIT, IO, LUNDX)
This subroutine connects a new file to the BUFRLIB software for input or output operations.
subroutine rdmsgw(LUNIT, MESG, IRET)
THIS SUBROUTINE READS THE NEXT BUFR MESSAGE FROM LOGICAL UNIT LUNIT AS AN ARRAY OF INTEGER WORDS.
subroutine status(LUNIT, LUN, IL, IM)
This subroutine checks whether a specified Fortran logical unit number is currently connected to the ...