31 SUBROUTINE nemtbb(LUN,ITAB,UNIT,ISCL,IREF,IBIT)
35 CHARACTER*128 BORT_STR
45 IF(itab.LE.0 .OR. itab.GT.
ntbb(lun))
GOTO 900
51 nemo =
tabb(itab,lun)( 7:14)
52 unit =
tabb(itab,lun)(71:94)
60 IF(idn.LT.
ifxy(
'000000'))
GOTO 901
61 IF(idn.GT.
ifxy(
'063255'))
GOTO 901
63 IF(iscl.LT.-999 .OR. iscl.GT.999)
GOTO 902
64 IF(iref.LE.-mxr .OR. iref.GE.mxr)
GOTO 903
65 IF(ibit.LE.0)
GOTO 904
66 IF(unit(1:5).NE.
'CCITT' .AND. ibit.GT.32 )
GOTO 904
67 IF(unit(1:5).EQ.
'CCITT' .AND. mod(ibit,8).NE.0)
GOTO 905
73900
WRITE(bort_str,
'("BUFRLIB: NEMTBB - ITAB (",I7,") NOT FOUND IN '//
76901
WRITE(bort_str,
'("BUFRLIB: NEMTBB - INTEGER REPRESENTATION OF '//
77 .
'DESCRIPTOR FOR TABLE B MNEMONIC ",A," (",I7,") IS OUTSIDE '//
78 .
'RANGE 0-16383 (16383 -> 0-63-255)")') nemo,idn
80902
WRITE(bort_str,
'("BUFRLIB: NEMTBB - SCALE VALUE FOR TABLE B '//
81 .
'MNEMONIC ",A," (",I7,") IS OUTSIDE RANGE -999 TO 999")')
84903
WRITE(bort_str,
'("BUFRLIB: NEMTBB - REFERENCE VALUE FOR TABLE B'//
85 .
' MNEMONIC ",A," (",I7,") IS OUTSIDE RANGE +/- 1E11-1")')
88904
WRITE(bort_str,
'("BUFRLIB: NEMTBB - BIT WIDTH FOR NON-CHARACTER'//
89 .
' TABLE B MNEMONIC ",A," (",I7,") IS > 32")') nemo,ibit
91905
WRITE(bort_str,
'("BUFRLIB: NEMTBB - BIT WIDTH FOR CHARACTER '//
92 .
'TABLE B MNEMONIC ",A," (",I7,") IS NOT A MULTIPLE OF 8")')
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...
function ifxy(ADSC)
This function converts an FXY value from its 6 character representation to its bit-wise (integer) rep...
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
integer, dimension(:,:), allocatable idnb
Bit-wise representations of the FXY values corresponding to tabb.
character *128, dimension(:,:), allocatable tabb
Table B entries for each internal I/O stream.
integer, dimension(:), allocatable ntbb
Number of Table B entries for each internal I/O stream (up to a maximum of MAXTBB,...
subroutine nemtbb(LUN, ITAB, UNIT, ISCL, IREF, IBIT)
This subroutine returns information about a Table B descriptor from the internal DX BUFR tables.
function valx(STR)
This function decodes a real number from a character string.