updated top-level README and version_decl for V4.5 (#1847)
[WRF.git] / var / external / bufr / ufbqcp.f
blob9281cc61572dd62ca1cd254cc3ce3ff92668cec9
1 SUBROUTINE UFBQCP(LUNIT,QCP,NEMO)
3 C$$$ SUBPROGRAM DOCUMENTATION BLOCK
5 C SUBPROGRAM: UFBQCP
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
25 C ROUTINE "BORT"
26 C 2003-11-04 S. BENDER -- ADDED REMARKS/BUFRLIB ROUTINE
27 C INTERDEPENDENCIES
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
43 C Y=INT(QCP)
45 C REMARKS:
46 C THIS SUBROUTINE IS THE INVERSE OF BUFR ARCHIVE LIBRARY ROUTINE
47 C UFBQCD.
49 C THIS ROUTINE CALLS: BORT IFXY NUMTAB STATUS
50 C THIS ROUTINE IS CALLED BY: None
51 C Normally called only by application
52 C programs.
54 C ATTRIBUTES:
55 C LANGUAGE: FORTRAN 77
56 C MACHINE: PORTABLE TO ALL PLATFORMS
58 C$$$
60 CHARACTER*(*) NEMO
61 CHARACTER*1 TAB
63 C-----------------------------------------------------------------------
64 C-----------------------------------------------------------------------
66 CALL STATUS(LUNIT,LUN,IL,IM)
67 IF(IL.EQ.0) GOTO 900
69 IDN = IFXY('363000')+IFIX(QCP)
70 c .... get NEMO from IDN
71 CALL NUMTAB(LUN,IDN,NEMO,TAB,IRET)
73 C EXITS
74 C -----
76 RETURN
77 900 CALL BORT('BUFRLIB: UFBQCP - BUFR FILE IS CLOSED, IT MUST BE'//
78 . ' OPEN')
79 END