23 CHARACTER*128 BORT_STR1,BORT_STR2
26 CHARACTER*11 REFR,REFR_ORIG
28 CHARACTER*4 SCAL,SCAL_ORIG
29 CHARACTER*3 BITW,BITW_ORIG
55 CALL nemtab(lun,nemo,idsn,tab,iele)
56 IF(tab.NE.
'B')
GOTO 900
62 IF(unit.EQ.
' ')
GOTO 904
63 tabb(iele,lun)(71:94) = unit
66 CALL jstnum(scal,sign,iret)
67 IF(iret.NE.0)
GOTO 901
68 tabb(iele,lun)(95:95) = sign
69 tabb(iele,lun)(96:98) = scal(1:3)
72 CALL jstnum(refr,sign,iret)
73 IF(iret.NE.0)
GOTO 902
74 tabb(iele,lun)( 99: 99) = sign
75 tabb(iele,lun)(100:109) = refr(1:10)
78 CALL jstnum(bitw,sign,iret)
79 IF(iret.NE.0 )
GOTO 903
80 IF(sign.EQ.
'-')
GOTO 903
81 tabb(iele,lun)(110:112) = bitw
87 900
WRITE(bort_str1,
'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
88 WRITE(bort_str2,
'(18X,"MNEMONIC ",A," IS NOT A TABLE B ENTRY '//
89 .
'(UNDEFINED, TAB=",A,")")') nemo,tab
90 CALL bort2(bort_str1,bort_str2)
91 901
WRITE(bort_str1,
'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
92 WRITE(bort_str2,
'(18X,"PARSED SCALE VALUE (=",A,") IS NOT '//
93 .
'NUMERIC")') scal_orig
94 CALL bort2(bort_str1,bort_str2)
95 902
WRITE(bort_str1,
'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
96 WRITE(bort_str2,
'(18X,"PARSED REFERENCE VALUE (=",A,") IS NOT '//
97 .
'NUMERIC")') refr_orig
98 CALL bort2(bort_str1,bort_str2)
99 903
WRITE(bort_str1,
'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
100 WRITE(bort_str2,
'(18X,"PARSED BIT WIDTH VALUE (=",A,") IS NOT '//
101 .
'NUMERIC")') bitw_orig
102 CALL bort2(bort_str1,bort_str2)
103 904
WRITE(bort_str1,
'("BUFRLIB: ELEMDX - CARD READ IN IS: ",A)') card
104 WRITE(bort_str2,
'(18X,"UNITS FIELD IS EMPTY")')
105 CALL bort2(bort_str1,bort_str2)
subroutine bort2(STR1, STR2)
Log two error messages and abort application program.
subroutine capit(STR)
This subroutine capitalizes all of the alphabetic characters in a string.
subroutine elemdx(CARD, LUN)
This subroutine decodes the scale factor, reference value, bit width and units (i....
subroutine jstnum(STR, SIGN, IRET)
This subroutine left-justifies a character string containing an encoded integer, by removing all lead...
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
character *128, dimension(:,:), allocatable tabb
Table B entries for each internal I/O stream.
subroutine nemtab(LUN, NEMO, IDN, TAB, IRET)
Get information about a descriptor, based on the mnemonic.