REAL*8 FUNCTION PKFTBV(NBITS,IBIT) C$$$ SUBPROGRAM DOCUMENTATION BLOCK C C SUBPROGRAM: PKFTBV C PRGMMR: JATOR ORG: NP12 DATE: 2005-11-29 C C ABSTRACT: THIS FUNCTION COMPUTES AND RETURNS THE VALUE EQUIVALENT C TO THE SETTING OF BIT# IBIT WITHIN A FLAG TABLE OF NBITS BITS. C IF THE COMPUTATION FAILS FOR ANY REASON, THEN THE VALUE BMISS C (10E10) IS RETURNED. NOTE THAT THIS SUBROUTINE IS THE LOGICAL C INVERSE OF BUFRLIB SUBROUTINE UPFTBV. C C PROGRAM HISTORY LOG: C 2005-11-29 J. ATOR -- ORIGINAL VERSION C C USAGE: PKFTBV (NBITS,IBIT) C INPUT ARGUMENT LIST: C NBITS - INTEGER: NUMBER OF BITS IN FLAG TABLE C IBIT - INTEGER: NUMBER OF BIT TO BE SET WITHIN FLAG TABLE C C OUTPUT ARGUMENT LIST: C PKFTBV - REAL*8: VALUE EQUIVALENT TO THE SETTING OF BIT# IBIT C WITHIN A FLAG TABLE OF NBITS BITS. C C REMARKS: C THIS ROUTINE CALLS: None C THIS ROUTINE IS CALLED BY: None C Normally called only by application C programs. C C ATTRIBUTES: C LANGUAGE: FORTRAN 77 C MACHINE: PORTABLE TO ALL PLATFORMS C C$$$ INCLUDE 'bufrlib.prm' C---------------------------------------------------------------------- C---------------------------------------------------------------------- IF((NBITS.LE.0).OR.(IBIT.LE.0).OR.(IBIT.GT.NBITS)) THEN PKFTBV = BMISS ELSE PKFTBV = (2.)**(NBITS-IBIT) ENDIF RETURN END