96 SUBROUTINE mesgbc(LUNIN,MESGTYP,ICOMP)
112 IF(lunit.NE.lunin) itype = 1
124 CALL
openbf(lunit,
'INX',lunit)
129 1 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')
164 900
IF(irec.EQ.0)
THEN
168 IF(mesgtyp.GE.0) mesgtyp = -mesgtyp
179 100
IF(itype.EQ.0) CALL
closbf(lunit)
function iupbs3(MBAY, S3MNEM)
This function returns a specified value from within Section 3 of a BUFR message.
subroutine rdmsgw(LUNIT, MESG, IRET)
THIS SUBROUTINE READS THE NEXT BUFR MESSAGE FROM LOGICAL UNIT LUNIT AS AN ARRAY OF INTEGER WORDS...
subroutine closbf(LUNIT)
This subroutine closes the connection between logical unit LUNIT and the BUFRLIB software.
subroutine mesgbc(LUNIN, MESGTYP, ICOMP)
THIS SUBROUTINE EXAMINES A BUFR MESSAGE AND RETURNS BOTH THE MESSAGE TYPE FROM SECTION 1 AND A MESSAG...
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 openbf(LUNIT, IO, LUNDX)
This subroutine connects a new file to the BUFRLIB software for input or output operations.
This module contains array and variable declarations used to store BUFR messages internally for multi...
function iupbs01(MBAY, S01MNEM)
This function returns a specified value from within Section 0 or Section 1 of a BUFR message...