NCEPLIBS-bufr  11.5.0
 All Data Structures Files Functions Variables Pages
ibfms.f
Go to the documentation of this file.
1 C> @file
2 C> @brief Test whether a real*8 data value is "missing"
3 
4 C> This function provides a handy way to check whether a real*8
5 C> data value returned from a previous call to any of the
6 C> other BUFRLIB [values-reading subroutines](@ref hierarchy)
7 C> contains the current placeholder value for "missing" data.
8 C>
9 C> @author J. Ator
10 C> @date 2007-01-19
11 C>
12 C> @param[in] R8VAL - real*8: Data value to be tested
13 C>
14 C> @returns ibfms - integer:
15 C> - 0 = R8VAL is not "missing"
16 C> - 1 = R8VAL is "missing"
17 C>
18 C> <p>The current placeholder value for "missing" data
19 C> is always equal to the value XMISS as specified during the
20 C> most recent call to subroutine setbmiss(), or to a default
21 C> value of 10E10 if setbmiss() was never called. In either
22 C> case, a return value of 1 means that the corresponding
23 C> value was encoded as "missing" (all bits set to 1)
24 C> within the actual BUFR data subset.
25 C>
26 C> @remarks
27 C> - The use of an integer return code allows this function
28 C> to be called in a logical context from application programs
29 C> written in C as well as in Fortran.
30 C>
31 C> <b>Program history log:</b>
32 C> - 2007-01-19 J. Ator -- Original author
33 C> - 2009-03-23 J. Ator -- Increased value of BDIFD for better
34 C> test accuracy
35 C> - 2012-10-05 J. Ator -- Modified to reflect the fact that the
36 C> "missing" value is now configurable by
37 C> users (may be something other than 10E10)
38 C>
39  INTEGER FUNCTION ibfms ( R8VAL )
40 
41  USE modv_bmiss
42 
43  real*8 r8val
44 
45 C----------------------------------------------------------------------
46 C----------------------------------------------------------------------
47 
48  IF ( r8val .EQ. bmiss ) THEN
49  ibfms = 1
50  ELSE
51  ibfms = 0
52  ENDIF
53 
54  RETURN
55  END
This module declares and initializes the BMISS variable.
Definition: modv_BMISS.f90:9
INTEGER function ibfms(R8VAL)
This function provides a handy way to check whether a real*8 data value returned from a previous call...
Definition: ibfms.f:39