47 SUBROUTINE sntbbe ( IFXYN, LINE, MXMTBB,
48 . nmtbb, imfxyn, cmscl, cmsref, cmbw,
49 . cmunit, cmmnem, cmdsc, cmelem )
54 character*200 tags(10), wktag
55 character*128 bort_str1, bort_str2
57 character cmelem(120,*)
58 character cmunit(14,*)
59 character cmsref(12,*)
61 character cmscl(4,*), cmbw(4,*)
68 IF ( nmtbb .GE. mxmtbb ) goto 900
73 imfxyn( nmtbb ) = ifxyn
77 CALL
parstr( line, tags, 10, ntag,
'|', .false. )
78 IF ( ntag .LT. 4 )
THEN
79 bort_str2 =
' HAS TOO FEW FIELDS'
85 CALL
jstchr( tags(2), iret )
86 IF ( iret .NE. 0 )
THEN
87 bort_str2 =
' HAS MISSING SCALE FACTOR'
90 rj =
rjust( tags(2)(1:4) )
92 cmscl( ii, nmtbb ) = tags(2)(ii:ii)
97 CALL
jstchr( tags(3), iret )
98 IF ( iret .NE. 0 )
THEN
99 bort_str2 =
' HAS MISSING REFERENCE VALUE'
102 rj =
rjust( tags(3)(1:12) )
104 cmsref( ii, nmtbb ) = tags(3)(ii:ii)
109 CALL
jstchr( tags(4), iret )
110 IF ( iret .NE. 0 )
THEN
111 bort_str2 =
' HAS MISSING BIT WIDTH'
114 rj =
rjust( tags(4)(1:4) )
116 cmbw( ii, nmtbb ) = tags(4)(ii:ii)
121 IF ( ntag .GT. 4 )
THEN
122 CALL
jstchr( tags(5), iret )
124 cmunit( ii, nmtbb ) = tags(5)(ii:ii)
128 cmunit( ii, nmtbb ) =
' '
136 cmmnem( ii, nmtbb ) =
' '
139 cmelem( ii, nmtbb ) =
' '
141 IF ( ntag .GT. 5 )
THEN
143 CALL
parstr( wktag, tags, 10, ntag,
';', .false. )
144 IF ( ntag .GT. 0 )
THEN
146 CALL
jstchr( tags(1), iret )
148 IF ( ( iret .EQ. 0 ) .AND.
149 . (
nemock( tags(1) ) .NE. 0 ) )
THEN
150 bort_str2 =
' HAS ILLEGAL MNEMONIC'
154 cmmnem( ii, nmtbb ) = tags(1)(ii:ii)
157 IF ( ntag .GT. 1 )
THEN
159 CALL
jstchr( tags(2), iret )
160 cmdsc( nmtbb ) = tags(2)(1:4)
162 IF ( ntag .GT. 2 )
THEN
164 CALL
jstchr( tags(3), iret )
166 cmelem( ii, nmtbb ) = tags(3)(ii:ii)
172 900 CALL
bort(
'BUFRLIB: SNTBBE - OVERFLOW OF MERGED ARRAYS')
173 901 bort_str1 =
'BUFRLIB: SNTBBE - CARD BEGINNING WITH: ' //
175 CALL
bort2(bort_str1,bort_str2)
function rjust(STR)
THIS FUNCTION RIGHT JUSTIFIES A CHARACTER STRING.
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 jstchr(STR, IRET)
THIS SUBROUTINE LEFT-JUSTIFIES (I.E.
subroutine sntbbe(IFXYN, LINE, MXMTBB, NMTBB, IMFXYN, CMSCL, CMSREF, CMBW, CMUNIT, CMMNEM, CMDSC, CMELEM)
THIS SUBROUTINE PARSES AN ENTRY THAT WAS PREVIOUSLY READ FROM AN ASCII MASTER TABLE B FILE AND THEN S...
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...