INTEGER FUNCTION IBFMS ( R8VAL ) C$$$ SUBPROGRAM DOCUMENTATION BLOCK C C SUBPROGRAM: IBFMS C PRGMMR: J. ATOR ORG: NP12 DATE: 2007-01-19 C C ABSTRACT: THIS FUNCTION TESTS WHETHER THE INPUT VALUE IS EQUIVALENT C TO THE BUFR ARCHIVE LIBRARY "MISSING" VALUE. THE USE OF INTEGER C RETURN CODES ALLOWS THIS FUNCTION TO BE CALLED IN A LOGICAL C CONTEXT FROM A CALLING PROGRAM WRITTEN IN C. C C PROGRAM HISTORY LOG: C 2007-01-19 J. ATOR -- ORIGINAL AUTHOR C 2009-03-23 J. ATOR -- INCREASED VALUE OF BDIFD FOR BETTER C TEST ACCURACY C 2012-10-05 J. ATOR -- MODIFIED TO REFLECT THE FACT THAT THE C "MISSING" VALUE IS NOW CONFIGURABLE BY C USERS (MAY BE SOMETHING OTHER THAN 10E10) C C USAGE: IBFMS ( R8VAL ) C INPUT ARGUMENT LIST: C R8VAL - REAL*8: VALUE TO BE TESTED FOR EQUIVALENCE TO C BUFR ARCHIVE LIBRARY "MISSING" VALUE C C OUTPUT ARGUMENT LIST: C IBFMS - INTEGER: RETURN CODE: C 0 - R8VAL IS NOT EQUIVALENT TO "MISSING" C 1 - R8VAL IS EQUIVALENT TO "MISSING" C C REMARKS: C THIS ROUTINE CALLS: None C THIS ROUTINE IS CALLED BY: INVMRG UFBDMP UFBRW UFDUMP C WRTREE C Also called by application programs. C C ATTRIBUTES: C LANGUAGE: FORTRAN 77 C MACHINE: PORTABLE TO ALL PLATFORMS C C$$$ INCLUDE 'bufrlib.prm' REAL*8 R8VAL C---------------------------------------------------------------------- C---------------------------------------------------------------------- IF ( R8VAL .EQ. BMISS ) THEN IBFMS = 1 ELSE IBFMS = 0 ENDIF RETURN END