51 RECURSIVE SUBROUTINE readmg(LUNXX,SUBSET,JDATE,IRET)
74 CALL x84(lunxx,my_lunxx,1)
75 CALL readmg(my_lunxx,subset,jdate,iret)
76 CALL x48(jdate,jdate,1)
89 CALL status(lunit,lun,il,im)
92 CALL wtstat(lunit,lun,il,1)
98 IF(ier.EQ.-1)
GOTO 200
104 CALL cktaba(lun,subset,jdate,iret)
114 IF(
isc3(lun).NE.0)
RETURN
125 CALL errwrt(
'++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
126 errstr =
'BUFRLIB: READMG - INTERNAL DICTIONARY MESSAGE READ;'//
127 .
' ACCOUNT FOR IT THEN READ IN NEXT MESSAGE WITHOUT RETURNING'
129 CALL errwrt(
'++++++++++++++BUFR ARCHIVE LIBRARY+++++++++++++++++')
140 200
CALL wtstat(lunit,lun,il,0)
151 900
CALL bort(
'BUFRLIB: READMG - INPUT BUFR FILE IS CLOSED, IT MUST'//
152 .
' BE OPEN FOR INPUT')
153 901
CALL bort(
'BUFRLIB: READMG - INPUT BUFR FILE IS OPEN FOR OUTPUT'//
154 .
', IT MUST BE OPEN FOR INPUT')
subroutine bort(STR)
Log one error message and abort application program.
subroutine cktaba(LUN, SUBSET, JDATE, IRET)
This subroutine parses the Table A mnemonic and date out of Section 1 of a BUFR message that was prev...
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
recursive function idxmsg(MESG)
Check whether a BUFR message contains DX BUFR tables information.
Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
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.
This module contains declarations for arrays used to store information about the current BUFR message...
integer, dimension(:), allocatable inode
Table A mnemonic for type of BUFR message.
integer, dimension(:), allocatable idate
Section 1 date-time of message.
This module contains an array declaration used to store a switch for each internal I/O stream index,...
integer, dimension(:), allocatable isc3
Section 3 switch for each internal I/O stream index:
This module declares and initializes the IM8B variable.
logical, public im8b
Status indicator to keep track of whether all future calls to BUFRLIB subroutines and functions from ...
subroutine rdbfdx(LUNIT, LUN)
Beginning at the current file pointer location within LUNIT, this subroutine reads a complete DX BUFR...
subroutine rdmsgw(lunit, mesg, iret)
Read the next BUFR message from logical unit lunit as an array of integer words.
recursive subroutine readmg(LUNXX, SUBSET, JDATE, IRET)
Reads the next BUFR message from logical unit ABS(LUNXX) into internal arrays.
subroutine reads3(LUN)
This subroutine reads the Section 3 descriptors from the BUFR message in mbay(1,lun).
recursive subroutine status(LUNIT, LUN, IL, IM)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
subroutine wtstat(LUNIT, LUN, IL, IM)
Update file status in library internals.
subroutine x48(IIN4, IOUT8, NVAL)
Encode one or more 4-byte integer values as 8-byte integer values.
subroutine x84(IIN8, IOUT4, NVAL)
Encode one or more 8-byte integer values as 4-byte integer values.