51 SUBROUTINE tabent(LUN,NEMO,TAB,ITAB,IREP,IKNT,JUM0)
59 COMMON /reptab/ idnr(5,2),typs(5,2),reps(5,2),lens(5)
61 COMMON /tabccc/ icdw,icsc,icrv,incw
63 CHARACTER*128 bort_str
77 rtag = reps(irep,1)//nemo
79 IF(rtag(i:i).EQ.
' ')
THEN
80 rtag(i:i) = reps(irep,2)
81 CALL
inctab(rtag,typs(irep,1),node)
85 ibt(node) = lens(irep)
88 IF(irep.EQ.1) irf(node) = iknt
101 CALL
nemtbb(lun,itab,unit,iscl,iref,ibit)
102 IF(unit(1:5).EQ.
'CCITT')
THEN
107 CALL
inctab(nemo,typt,node)
114 IF(unit(1:4).EQ.
'CODE')
THEN
116 ELSEIF(unit(1:4).EQ.
'FLAG')
THEN
120 IF( (typt.EQ.
'NUM') .AND. (ibtnrv.NE.0) )
THEN
124 IF(nnrv+1.GT.mxnrv) goto 902
130 IF(ipfnrv.EQ.0) ipfnrv = nnrv
131 ELSEIF( (typt.EQ.
'NUM') .AND. (nemo(1:3).NE.
'204') )
THEN
132 ibt(node) = ibt(node) + icdw
133 isc(node) = isc(node) + icsc
134 irf(node) = irf(node) * icrv
135 ELSEIF( (typt.EQ.
'CHR') .AND. (incw.GT.0) )
THEN
139 ELSEIF(tab.EQ.
'D')
THEN
146 CALL
inctab(nemo,typt,node)
164 900
WRITE(bort_str,
'("BUFRLIB: TABENT - REPLICATOR ERROR FOR INPUT '//
165 .
'MNEMONIC ",A,", RTAG IS ",A)') nemo,rtag
167 901
WRITE(bort_str,
'("BUFRLIB: TABENT - UNDEFINED TAG (",A,") FOR '//
168 .
'INPUT MNEMONIC ",A)') tab,nemo
170 902 CALL
bort(
'BUFRLIB: TABENT - MXNRV OVERFLOW')
This module contains array and variable declarations for use with any 2-03-YYY (change reference valu...
subroutine tabent(LUN, NEMO, TAB, ITAB, IREP, IKNT, JUM0)
THIS SUBROUTINE BUILDS AND STORES AN ENTRY FOR A TABLE B OR TABLE D MNEMONIC (NEMO) WITHIN THE INTERN...
subroutine inctab(ATAG, ATYP, NODE)
THIS SUBROUTINE RETURNS THE NEXT AVAILABLE POSITIONAL INDEX FOR WRITING INTO THE INTERNAL JUMP/LINK T...
subroutine nemtbb(LUN, ITAB, UNIT, ISCL, IREF, IBIT)
This subroutine returns information about a Table B descriptor from the internal DX BUFR tables...
This module contains array and variable declarations used to store the internal jump/link table...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...