29 RECURSIVE SUBROUTINE ufbqcd(LUNIT,NEMO,IQCD)
34 CHARACTER*128 bort_str
47 CALL x84(lunit,my_lunit,1)
48 CALL ufbqcd(my_lunit,nemo,iqcd)
55 CALL status(lunit,lun,il,im)
58 CALL nemtab(lun,nemo,idn,tab,iret)
59 IF(tab.NE.
'D')
GOTO 901
62 IF(fxy(2:3).NE.
'63')
GOTO 902
63 READ(fxy(4:6),
'(I3)',err=903) iqcd
69 900
CALL bort(
'BUFRLIB: UFBQCD - BUFR FILE IS CLOSED, IT MUST BE'//
71 901
WRITE(bort_str,
'("BUFRLIB: UFBQCD - INPUT MNEMONIC ",A," NOT '//
72 .
'DEFINED AS A SEQUENCE DESCRIPTOR IN BUFR TABLE")') nemo
74 902
WRITE(bort_str,
'("BUFRLIB: UFBQCD - BUFR TABLE SEQ. DESCRIPTOR '//
75 .
'ASSOC. WITH INPUT MNEMONIC ",A," HAS INVALID CATEGORY ",A," -'//
76 .
' CATEGORY MUST BE 63")') nemo,fxy(2:3)
78 903
WRITE(bort_str,
'("BUFRLIB: UFBQCD - ERROR READING ENTRY '//
79 .
'(PROGRAM CODE) FROM BUFR TBL SEQ. DESCRIPTOR ",A," ASSOC. '//
80 .
'WITH INPUT MNEM. ",A)') fxy,nemo
character *(*) function adn30(IDN, L30)
Convert a WMO bit-wise representation of an FXY value to a character string of length 5 or 6.
subroutine bort(STR)
Log one error message and abort application program.
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 nemtab(LUN, NEMO, IDN, TAB, IRET)
Get information about a descriptor, based on the mnemonic.
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 ufbqcd(LUNIT, NEMO, IQCD)
Given a mnemonic associated with a category 63 Table D descriptor from an NCEP prepbufr file,...
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.