35 RECURSIVE SUBROUTINE status(LUNIT,LUN,IL,IM)
42 CHARACTER*128 bort_str, errstr
53 CALL x84(lunit,my_lunit,1)
54 CALL status(my_lunit,lun,il,im)
63 IF(lunit.LE.0 .OR. lunit.GT.99)
GOTO 900
75 IF ( .NOT.
ALLOCATED(
iolun) )
THEN
76 CALL errwrt(
'++++++++++++++++++++WARNING++++++++++++++++++++++')
77 errstr =
'BUFRLIB: STATUS WAS CALLED WITHOUT HAVING ' //
78 .
'PREVIOUSLY CALLED OPENBF'
80 CALL errwrt(
'++++++++++++++++++++WARNING++++++++++++++++++++++')
85 IF(abs(
iolun(i)).EQ.lunit) lun = i
94 IF(
iolun(i).EQ.0)
THEN
114 il = sign(1,
iolun(lun))
121 900
WRITE(bort_str,
'("BUFRLIB: STATUS - INPUT UNIT NUMBER (",I3,") '//
122 .
'OUTSIDE LEGAL RANGE OF 1-99")') lunit
subroutine bort(STR)
Log one error message and abort application program.
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
This module contains array declarations used to store file and message status indicators for all logi...
integer, dimension(:), allocatable iolun
File status indicators.
integer, dimension(:), allocatable iomsg
Message status indicator corresponding to iolun, denoting whether a BUFR message is currently open wi...
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 ...
This module declares and initializes the NFILES variable.
integer, public nfiles
Maximum number of BUFR files that can be connected to the BUFRLIB software (for reading or writing) a...
recursive subroutine status(LUNIT, LUN, IL, IM)
Check whether a specified Fortran logical unit number is currently connected to the NCEPLIBS-bufr sof...
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.