37 SUBROUTINE upftbv(LUNIT,NEMO,VAL,MXIB,IBIT,NIB)
46 CHARACTER*128 bort_str
54 CALL
status(lunit,lun,il,im)
57 CALL
nemtab(lun,nemo,idn,tab,n)
59 IF(tabb(n,lun)(71:74).NE.
'FLAG') goto 902
65 nbits =
valx(tabb(n,lun)(110:112))
68 IF(abs(r8val-r82i).LT.(0.005))
THEN
70 IF(nib.GT.mxib) goto 903
73 ELSEIF(r82i.LT.r8val)
THEN
75 IF(nib.GT.mxib) goto 903
82 900 CALL
bort(
'BUFRLIB: UPFTBV - INPUT BUFR FILE IS CLOSED, IT '//
83 .
'MUST BE OPEN FOR INPUT')
84 901
WRITE(bort_str,
'("BUFRLIB: UPFTBV - MNEMONIC ",A,'//
85 .
'" NOT FOUND IN TABLE B")') nemo
87 902
WRITE(bort_str,
'("BUFRLIB: UPFTBV - MNEMONIC ",A,'//
88 .
'" IS NOT A FLAG TABLE")') nemo
90 903 CALL
bort(
'BUFRLIB: UPFTBV - IBIT ARRAY OVERFLOW')
function valx(STR)
This function decodes a real number from a character string.
This module contains array and variable declarations used to store DX BUFR tables internally for mult...
subroutine status(LUNIT, LUN, IL, IM)
This subroutine checks whether a specified Fortran logical unit number is currently connected to the ...
subroutine upftbv(LUNIT, NEMO, VAL, MXIB, IBIT, NIB)
Given a Table B mnemonic with flag table units and a corresponding numerical data value...
subroutine nemtab(LUN, NEMO, IDN, TAB, IRET)
This subroutine returns information about a descriptor from the internal DX BUFR tables, based on the mnemonic associated with that descriptor.
subroutine bort(STR)
This subroutine calls subroutine errwrt() to log an error message, then calls subroutine bort_exit() ...