43 RECURSIVE SUBROUTINE ufbinx(LUNIT,IMSG,ISUB,USR,I1,I2,IRET,STR)
51 CHARACTER*128 bort_str
65 CALL x84(lunit,my_lunit,1)
66 CALL x84(imsg,my_imsg,1)
67 CALL x84(isub,my_isub,1)
70 CALL ufbinx(my_lunit,my_imsg,my_isub,usr,my_i1,my_i2,iret,str)
77 CALL status(lunit,lun,il,im)
85 CALL openbf(lunit,
'INX',lunit)
102 CALL readmg(lunit,subset,jdate,jret)
103 IF(jret.LT.0)
GOTO 901
118 IF(jret.NE.0)
GOTO 902
120 CALL ufbint(lunit,usr,i1,i2,iret,str)
141 901
WRITE(bort_str,
'("BUFRLIB: UFBINX - HIT END OF FILE BEFORE '//
142 .
'READING REQUESTED MESSAGE NO.",I5," IN BUFR FILE CONNECTED TO'//
143 .
' UNIT",I4)') imsg,lunit
145 902
WRITE(bort_str,
'("BUFRLIB: UFBINX - ALL SUBSETS READ BEFORE '//
146 .
'READING REQ. SUBSET NO.",I3," IN REQ. MSG NO.",I5," IN BUFR '//
147 .
'FILE CONNECTED TO UNIT",I4)') isub,imsg,lunit
subroutine bort(STR)
Log one error message and abort application program.
recursive subroutine closbf(LUNIT)
Close the connection between logical unit LUNIT and the NCEPLIBS-bufr software.
This module contains array and variable declarations used to store BUFR messages internally for multi...
integer ibit
Bit pointer within IBAY.
integer, dimension(:,:), allocatable mbay
Current BUFR message for each internal I/O stream.
integer, dimension(:), allocatable mbyt
Length (in bytes) of 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 msub
Total number of data subsets in message.
integer, dimension(:), allocatable nsub
Current subset pointer within 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 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.
subroutine rewnbf(LUNIT, ISR)
This subroutine, depending on the value of ISR, will either:
recursive subroutine status(LUNIT, LUN, IL, IM)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
recursive subroutine ufbint(LUNIN, USR, I1, I2, IRET, STR)
Read/write one or more data values from/to a data subset.
recursive subroutine ufbinx(LUNIT, IMSG, ISUB, USR, I1, I2, IRET, STR)
Read one or more data values from a data subset.
subroutine upb(NVAL, NBITS, IBAY, IBIT)
This subroutine decodes an integer value from within a specified number of bits of an integer array,...
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.