34 RECURSIVE SUBROUTINE rdmgsb(LUNIT,IMSG,ISUB)
40 CHARACTER*128 bort_str
51 CALL x84(lunit,my_lunit,1)
52 CALL x84(imsg,my_imsg,1)
53 CALL x84(isub,my_isub,1)
54 CALL rdmgsb(my_lunit,my_imsg,my_isub)
63 CALL openbf(lunit,
'IN',lunit)
64 CALL status(lunit,lun,il,im)
71 CALL readmg(lunit,subset,jdate,iret)
72 IF(iret.LT.0)
GOTO 901
80 IF(iret.LT.0)
GOTO 902
87 901
WRITE(bort_str,
'("BUFRLIB: RDMGSB - HIT END OF FILE BEFORE '//
88 .
'READING REQUESTED MESSAGE NO.",I5," IN BUFR FILE CONNECTED TO'//
89 .
' UNIT",I4)') imsg,lunit
91 902
WRITE(bort_str,
'("BUFRLIB: RDMGSB - ALL SUBSETS READ BEFORE '//
92 .
'READING REQ. SUBSET NO.",I3," IN REQ. MSG NO.",I5," IN BUFR '//
93 .
'FILE CONNECTED TO UNIT",I4)') isub,imsg,lunit
subroutine bort(STR)
Log one error message and abort application program.
This module contains array and variable declarations used to store BUFR messages internally for multi...
This module contains declarations for arrays used to store information about the current BUFR message...
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 ...
recursive subroutine openbf(LUNIT, IO, LUNDX)
Connects a new file to the NCEPLIBS-bufr software for input or output operations, or initializes the ...
recursive subroutine rdmgsb(LUNIT, IMSG, ISUB)
Read a specified data subset from a BUFR file.
recursive subroutine readmg(LUNXX, SUBSET, JDATE, IRET)
Reads the next BUFR message from logical unit ABS(LUNXX) into internal arrays.
recursive subroutine readsb(LUNIT, IRET)
Read the next data subset from a BUFR message.
recursive subroutine status(LUNIT, LUN, IL, IM)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
subroutine x84(IIN8, IOUT4, NVAL)
Encode one or more 8-byte integer values as 4-byte integer values.