86 SUBROUTINE nemtbd(LUN,ITAB,NSEQ,NEMS,IRPS,KNTS)
91 CHARACTER*128 bort_str
92 CHARACTER*8 nemo,nems,nemt,nemf
93 CHARACTER*6 adn30,clemon
95 dimension nems(*),irps(*),knts(*)
101 IF(itab.LE.0 .OR. itab.GT.ntbd(lun)) goto 900
119 nemo = tabd(itab,lun)(7:14)
120 idsc = idnd(itab,lun)
121 CALL
uptdd(itab,lun,0,ndsc)
123 IF(idsc.LT.
ifxy(
'300000')) goto 901
124 IF(idsc.GT.
ifxy(
'363255')) goto 901
131 IF(nseq+1.GT.maxcd) goto 903
132 CALL
uptdd(itab,lun,j,idsc)
134 CALL
numtab(lun,idsc,nemt,tab,iret)
143 knts(nseq+1) = abs(iret)
144 ELSEIF(iret.GT.0)
THEN
150 ELSEIF(tab.EQ.
'F')
THEN
154 IF(.NOT.rep) goto 904
157 ELSEIF(tab.EQ.
'D'.OR.tab.EQ.
'C')
THEN
161 ELSEIF(tab.EQ.
'B')
THEN
164 IF((nemt(1:1).EQ.
'.').AND.(j.LT.ndsc))
THEN
168 CALL
uptdd(itab,lun,j+1,idsc)
170 CALL
numtab(lun,idsc,nemf,tab,iret)
172 IF(tab.NE.
'B') goto 906
184 900
WRITE(bort_str,
'("BUFRLIB: NEMTBD - ITAB (",I7,") NOT FOUND IN '//
187 901
WRITE(bort_str,
'("BUFRLIB: NEMTBD - INTEGER REPRESENTATION OF '//
188 .
'DESCRIPTOR FOR TABLE D MNEMONIC ",A," (",I7,") IS OUTSIDE '//
189 .
'RANGE 0-65535 (65535 -> 3-63-255)")') nemo,idsc
191 902
WRITE(bort_str,
'("BUFRLIB: NEMTBD - TABLE D MNEMONIC ",A," IS A'//
192 .
' ZERO LENGTH SEQUENCE")') nemo
194 903
WRITE(bort_str,
'("BUFRLIB: NEMTBD - THERE ARE MORE THAN '//
195 .
'(",I4,") DESCRIPTORS (THE LIMIT) IN TABLE D SEQUENCE '//
196 .
'MNEMONIC ",A)') maxcd, nemo
198 904
WRITE(bort_str,
'("BUFRLIB: NEMTBD - REPLICATOR IS OUT OF ORDER '//
199 .
'IN TABLE D SEQUENCE MNEMONIC ",A)') nemo
201 905 clemon =
adn30(idsc,6)
202 WRITE(bort_str,
'("BUFRLIB: NEMTBD - UNRECOGNIZED DESCRIPTOR '//
203 .
'",A," IN TABLE D SEQUENCE MNEMONIC ",A)') clemon,nemo
205 906
WRITE(bort_str,
'("BUFRLIB: NEMTBD - A ''FOLLOWING VALUE'' '//
206 .
'MNEMONIC (",A,") IS FROM TABLE ",A,", IT MUST BE FROM TABLE B'//
subroutine numtab(LUN, IDN, NEMO, TAB, IRET)
THIS SUBROUTINE FIRST SEARCHES FOR AN INTEGER IDN, CONTAINING THE BIT-WISE REPRESENTATION OF A DESCRI...
subroutine rsvfvm(NEM1, NEM2)
THIS SUBROUTINE STEPS THROUGH THE "FOLLOWING VALUE" MNEMONIC NEM1 AND, FOR EACH "." CHARACTER ENCOUNTERED (EXCEPT FOR THE INITIAL ONE), OVERWRITES IT WITH THE NEXT CORRESPONDING CHARACTER FROM NEM2 (SEE REMARKS).
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
character *(*) function adn30(IDN, L30)
This function converts a descriptor from its bit-wise (integer) representation to its 5 or 6 characte...
function ifxy(ADSC)
THIS FUNCTION RETURNS THE INTEGER CORRESPONDING TO THE BIT-WISE REPRESENTATION OF AN INPUT CHARACTER ...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
subroutine uptdd(ID, LUN, IENT, IRET)
THIS SUBROUTINE RETURNS THE BIT-WISE REPRESENTATION OF THE FXY VALUE CORRESPONDING TO...
subroutine nemtbd(LUN, ITAB, NSEQ, NEMS, IRPS, KNTS)
THIS SUBROUTINE RETURNS A LIST OF THE MNEMONICS (I.E., "CHILD" MNEMONICS) CONTAINED WITHIN A TABLE D ...
This module declares and initializes the MAXCD variable.