42 SUBROUTINE sntbbe ( IFXYN, LINE, MXMTBB,
43 . nmtbb, imfxyn, cmscl, cmsref, cmbw,
44 . cmunit, cmmnem, cmdsc, cmelem )
47 character*200 tags(10), wktag
48 character*128 bort_str1, bort_str2
50 character cmelem(120,*)
51 character cmunit(24,*)
52 character cmsref(12,*)
54 character cmscl(4,*), cmbw(4,*)
61 IF ( nmtbb .GE. mxmtbb ) goto 900
66 imfxyn( nmtbb ) = ifxyn
70 CALL
parstr( line, tags, 10, ntag,
'|', .false. )
71 IF ( ntag .LT. 4 )
THEN
72 bort_str2 =
' HAS TOO FEW FIELDS'
78 tags(2) = adjustl( tags(2) )
79 IF ( tags(2) .EQ.
' ' )
THEN
80 bort_str2 =
' HAS MISSING SCALE FACTOR'
83 tags(2)(1:4) = adjustr( tags(2)(1:4) )
85 cmscl( ii, nmtbb ) = tags(2)(ii:ii)
90 tags(3) = adjustl( tags(3) )
91 IF ( tags(3) .EQ.
' ' )
THEN
92 bort_str2 =
' HAS MISSING REFERENCE VALUE'
95 tags(3)(1:12) = adjustr( tags(3)(1:12) )
97 cmsref( ii, nmtbb ) = tags(3)(ii:ii)
102 tags(4) = adjustl( tags(4) )
103 IF ( tags(4) .EQ.
' ' )
THEN
104 bort_str2 =
' HAS MISSING BIT WIDTH'
107 tags(4)(1:4) = adjustr( tags(4)(1:4) )
109 cmbw( ii, nmtbb ) = tags(4)(ii:ii)
114 IF ( ntag .GT. 4 )
THEN
115 tags(5) = adjustl( tags(5) )
117 cmunit( ii, nmtbb ) = tags(5)(ii:ii)
121 cmunit( ii, nmtbb ) =
' '
129 cmmnem( ii, nmtbb ) =
' '
132 cmelem( ii, nmtbb ) =
' '
134 IF ( ntag .GT. 5 )
THEN
136 CALL
parstr( wktag, tags, 10, ntag,
';', .false. )
137 IF ( ntag .GT. 0 )
THEN
139 tags(1) = adjustl( tags(1) )
141 IF ( ( tags(1) .NE.
' ' ) .AND.
142 . (
nemock( tags(1) ) .NE. 0 ) )
THEN
143 bort_str2 =
' HAS ILLEGAL MNEMONIC'
147 cmmnem( ii, nmtbb ) = tags(1)(ii:ii)
150 IF ( ntag .GT. 1 )
THEN
152 tags(2) = adjustl( tags(2) )
153 cmdsc( nmtbb ) = tags(2)(1:4)
155 IF ( ntag .GT. 2 )
THEN
157 tags(3) = adjustl( tags(3) )
159 cmelem( ii, nmtbb ) = tags(3)(ii:ii)
165 900 CALL
bort(
'BUFRLIB: SNTBBE - OVERFLOW OF MERGED ARRAYS')
166 901 bort_str1 =
'BUFRLIB: SNTBBE - CARD BEGINNING WITH: ' //
168 CALL
bort2(bort_str1,bort_str2)
subroutine parstr(STR, TAGS, MTAG, NTAG, SEP, LIMIT80)
THIS SUBROUTINE PARSES A STRING CONTAINING ONE OR MORE SUBSTRINGS INTO AN ARRAY OF SUBSTRINGS...
subroutine bort2(STR1, STR2)
This subroutine calls subroutine errwrt() to log two error messages, then calls subroutine bort_exit(...
function nemock(NEMO)
THIS FUNCTION CHECKS A MNEMONIC TO VERIFY THAT IT HAS A LENGTH OF BETWEEN ONE AND EIGHT CHARACTERS AN...
subroutine sntbbe(IFXYN, LINE, MXMTBB, NMTBB, IMFXYN, CMSCL, CMSREF, CMBW, CMUNIT, CMMNEM, CMDSC, CMELEM)
This subroutine stores an entry that was previously read from an ASCII master Table B file into a set...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...