1 SUBROUTINE UFBQCP
(LUNIT
,QCP
,NEMO
)
3 C$$$ SUBPROGRAM DOCUMENTATION BLOCK
6 C PRGMMR: WOOLLEN ORG: NP20 DATE: 1994-01-06
8 C ABSTRACT: THIS SUBROUTINE READS IN A FXY DESCRIPTOR ENTRY (Y) FOR A
9 C SEQUENCE DESCRIPTOR (F=3) WITH TABLE D CATEGORY 63 (X=63) WHEN THE
10 C DESCRIPTOR IS KNOWN TO BE IN THE BUFR TABLE IN LOGICAL UNIT LUNIT,
11 C AND RETURNS THE MNEMONIC ASSOCIATED WITH IT. THIS ROUTINE WILL NOT
12 C WORK FOR ANY OTHER TYPE OF DESCRIPTOR OR ANY OTHER SEQUENCE
13 C DESCRIPTOR TABLE D CATEGORY. LUNIT MUST ALREADY BE OPENED FOR
14 C INPUT OR OUTPUT VIA A CALL TO BUFR ARCHIVE LIBRARY SUBROUTINE
15 C OPENBF. THIS ROUTINE IS ESPECIALLY USEFUL WHEN THE CALLING PROGRAM
16 C IS READING "EVENTS" FROM AN INPUT BUFR FILE IN LUNIT (USUALLY THE
17 C "PREPBUFR" FILE) SINCE THE DESCRIPTOR ENTRY (Y) HERE DEFINES THE
18 C EVENT PROGRAM CODE. THUS, THE CALLING PROGRAM CAN OBTAIN THE
19 C MNEMONIC NAME ASSOCIATED WITH AN EVENT PROGRAM CODE.
21 C PROGRAM HISTORY LOG:
22 C 1994-01-06 J. WOOLLEN -- ORIGINAL AUTHOR
23 C 1998-07-08 J. WOOLLEN -- REPLACED CALL TO CRAY LIBRARY ROUTINE
24 C "ABORT" WITH CALL TO NEW INTERNAL BUFRLIB
26 C 2003-11-04 S. BENDER -- ADDED REMARKS/BUFRLIB ROUTINE
28 C 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED
29 C DOCUMENTATION (INCLUDING HISTORY); OUTPUTS
30 C MORE COMPLETE DIAGNOSTIC INFO WHEN ROUTINE
31 C TERMINATES ABNORMALLY
33 C USAGE: CALL UFBQCP (LUNIT, QCP, NEMO)
34 C INPUT ARGUMENT LIST:
35 C LUNIT - INTEGER: FORTRAN LOGICAL UNIT NUMBER FOR BUFR FILE
36 C (ASSOCIATED BUFR TABLE MAY BE INTERNAL OR EXTERNAL)
37 C QCP - REAL: SEQUENCE DESCRIPTOR ENTRY (I.E., EVENT PROGRAM
38 C CODE) (Y IN FXY DESCRIPTOR)
40 C OUTPUT ARGUMENT LIST:
41 C NEMO - CHARACTER*(*): MNEMONIC IN BUFR TABLE ASSOCIATED WITH
42 C SEQUENCE DESCRIPTOR FXY WHERE F=3 AND X=63 AND
46 C THIS SUBROUTINE IS THE INVERSE OF BUFR ARCHIVE LIBRARY ROUTINE
49 C THIS ROUTINE CALLS: BORT IFXY NUMTAB STATUS
50 C THIS ROUTINE IS CALLED BY: None
51 C Normally called only by application
55 C LANGUAGE: FORTRAN 77
56 C MACHINE: PORTABLE TO ALL PLATFORMS
63 C-----------------------------------------------------------------------
64 C-----------------------------------------------------------------------
66 CALL STATUS
(LUNIT
,LUN
,IL
,IM
)
69 IDN
= IFXY
('363000')+IFIX
(QCP
)
70 c .... get NEMO from IDN
71 CALL NUMTAB
(LUN
,IDN
,NEMO
,TAB
,IRET
)
77 900 CALL BORT
('BUFRLIB: UFBQCP - BUFR FILE IS CLOSED, IT MUST BE'//