NCEPLIBS-bufr
11.6.0
Main Page
Related Pages
Data Types List
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Pages
numtbd.f
Go to the documentation of this file.
1
C> @file
2
C> @brief Search for a Table B or Table D descriptor within the
3
C> internal DX BUFR tables
4
5
C> This subroutine searches for a descriptor within Table B and
6
C> Table D of the internal DX BUFR tables.
7
C>
8
C> @author J. Woollen
9
C> @date 2002-05-14
10
C>
11
C> @param[in] LUN -- integer: Internal I/O stream index associated
12
C> with DX BUFR tables
13
C> @param[in] IDN -- integer: Bit-wise representation of FXY value
14
C> for Table B or Table D descriptor
15
C> @param[out] NEMO -- character*(*): Mnemonic associated with IDN
16
C> @param[out] TAB -- character: Type associated with IDN
17
C> - 'B' = Table B descriptor
18
C> - 'D' = Table D descriptor
19
C> @param[out] IRET -- integer:
20
C> - Positional index of IDN within internal
21
C> Table B, if TAB = 'B'
22
C> - Positional index of IDN within internal
23
C> Table D, if TAB = 'D'
24
C> - 0, otherwise
25
C>
26
C> <b>Program history log:</b>
27
C> | Date | Programmer | Comments |
28
C> | -----|------------|----------|
29
C> | 2002-05-14 | J. Woollen | Original author |
30
C> | 2003-11-04 | S. Bender | Added remarks and routine interdependencies |
31
C> | 2003-11-04 | D. Keyser | Unified/portable for WRF; added history documentation |
32
C> | 2009-04-21 | J. Ator | Use ifxy() for more efficient searching |
33
C> | 2014-12-10 | J. Ator | Use modules instead of COMMON blocks |
34
C>
35
SUBROUTINE
numtbd
(LUN,IDN,NEMO,TAB,IRET)
36
37
USE
moda_tababd
38
39
CHARACTER*(*)
nemo
40
CHARACTER*1
tab
41
42
C-----------------------------------------------------------------------
43
C-----------------------------------------------------------------------
44
45
nemo =
' '
46
iret = 0
47
tab =
' '
48
49
IF
(idn.GE.
ifxy
(
'300000'
))
THEN
50
51
C LOOK FOR IDN IN TABLE D
52
C -----------------------
53
54
DO
i=1,ntbd(lun)
55
IF
(idn.EQ.idnd(i,lun))
THEN
56
nemo = tabd(i,lun)(7:14)
57
tab =
'D'
58
iret = i
59
goto 100
60
ENDIF
61
ENDDO
62
63
ELSE
64
65
C LOOK FOR IDN IN TABLE B
66
C -----------------------
67
68
DO
i=1,ntbb(lun)
69
IF
(idn.EQ.idnb(i,lun))
THEN
70
nemo = tabb(i,lun)(7:14)
71
tab =
'B'
72
iret = i
73
goto 100
74
ENDIF
75
ENDDO
76
77
ENDIF
78
79
C EXIT
80
C ----
81
82
100
RETURN
83
END
moda_tababd
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
Definition:
moda_tababd.F:10
numtbd
subroutine numtbd(LUN, IDN, NEMO, TAB, IRET)
This subroutine searches for a descriptor within Table B and Table D of the internal DX BUFR tables...
Definition:
numtbd.f:35
ifxy
function ifxy(ADSC)
This function converts an FXY value from its 6 character representation to its bit-wise (integer) rep...
Definition:
ifxy.f:42
nceplibs-bufr
src
numtbd.f
Generated by
1.8.5