65 SUBROUTINE rdmtbd ( LUNSTD, LUNLTD, MXMTBD, MXELEM,
66 . imt, imtv, iogce, iltv,
67 . nmtbd, imfxyn, cmmnem, cmdsc, cmseq,
68 . nmelem, iefxyn, ceelem )
72 character*200 stline, ltline
73 character*128 bort_str
74 character*120 ceelem(mxmtbd,mxelem)
75 character*6 cmatch,
adn30
77 character cmseq(120,*)
80 integer imfxyn(*), nmelem(*),
81 . iefxyn(mxmtbd,mxelem)
93 CALL
gettbh( lunstd, lunltd,
'D', imt, imtv, iogce, iltv )
99 CALL
getntbe( lunstd, isfxyn, stline, iers )
100 CALL
getntbe( lunltd, ilfxyn, ltline, ierl )
101 DO WHILE ( ( iers .EQ. 0 ) .OR. ( ierl .EQ. 0 ) )
102 IF ( ( iers .EQ. 0 ) .AND. ( ierl .EQ. 0 ) )
THEN
103 IF ( isfxyn .EQ. ilfxyn )
THEN
104 cmatch =
adn30( isfxyn, 6 )
106 ELSE IF ( isfxyn .LT. ilfxyn )
THEN
107 CALL
sntbde( lunstd, isfxyn, stline, mxmtbd, mxelem,
108 . nmtbd, imfxyn, cmmnem, cmdsc, cmseq,
109 . nmelem, iefxyn, ceelem )
110 CALL
getntbe( lunstd, isfxyn, stline, iers )
112 CALL
sntbde( lunltd, ilfxyn, ltline, mxmtbd, mxelem,
113 . nmtbd, imfxyn, cmmnem, cmdsc, cmseq,
114 . nmelem, iefxyn, ceelem )
115 CALL
getntbe( lunltd, ilfxyn, ltline, ierl )
117 ELSE IF ( iers .EQ. 0 )
THEN
118 CALL
sntbde( lunstd, isfxyn, stline, mxmtbd, mxelem,
119 . nmtbd, imfxyn, cmmnem, cmdsc, cmseq,
120 . nmelem, iefxyn, ceelem )
121 CALL
getntbe( lunstd, isfxyn, stline, iers )
122 ELSE IF ( ierl .EQ. 0 )
THEN
123 CALL
sntbde( lunltd, ilfxyn, ltline, mxmtbd, mxelem,
124 . nmtbd, imfxyn, cmmnem, cmdsc, cmseq,
125 . nmelem, iefxyn, ceelem )
126 CALL
getntbe( lunltd, ilfxyn, ltline, ierl )
131 900
WRITE(bort_str,
'("BUFRLIB: RDMTBD - STANDARD AND LOCAL'//
132 .
' TABLE D FILES BOTH CONTAIN SAME FXY NUMBER: ",5A)')
133 . cmatch(1:1),
'-', cmatch(2:3),
'-', cmatch(4:6)
subroutine gettbh(LUNS, LUNL, TAB, IMT, IMTV, IOGCE, ILTV)
THIS SUBROUTINE READS AND PARSES THE HEADER LINES FROM TWO SEPARATE (I.E.
character *(*) function adn30(IDN, L30)
This function converts a descriptor from its bit-wise (integer) representation to its 5 or 6 characte...
subroutine wrdlen
This subroutine figures out some important information about the local machine on which the BUFRLIB s...
subroutine sntbde(LUNT, IFXYN, LINE, MXMTBD, MXELEM, NMTBD, IMFXYN, CMMNEM, CMDSC, CMSEQ, NMELEM, IEFXYN, CEELEM)
THIS SUBROUTINE PARSES THE FIRST LINE OF AN ENTRY THAT WAS PREVIOUSLY READ FROM AN ASCII MASTER TABLE...
subroutine rdmtbd(LUNSTD, LUNLTD, MXMTBD, MXELEM, IMT, IMTV, IOGCE, ILTV, NMTBD, IMFXYN, CMMNEM, CMDSC, CMSEQ, NMELEM, IEFXYN, CEELEM)
THIS SUBROUTINE READS MASTER TABLE D INFORMATION FROM TWO SEPARATE (I.E.
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
subroutine getntbe(LUNT, IFXYN, LINE, IRET)
This subroutine gets the first line of the next entry in the specified ASCII master table B...