NCEPLIBS-bufr  11.7.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> | Date | Programmer | Comments |
33 C> | -----|------------|----------|
34 C> | 2007-01-19 | J. Ator | Original author |
35 C> | 2009-03-23 | J. Ator | Increased value of BDIFD for better test accuracy |
36 C> | 2012-10-05 | J. Ator | Modified to reflect the fact that the "missing" value is now configurable by users (may be something other than 10E10) |
37 C>
38  INTEGER FUNCTION ibfms ( R8VAL )
39 
40  USE modv_bmiss
41 
42  real*8 r8val
43 
44 C----------------------------------------------------------------------
45 C----------------------------------------------------------------------
46 
47  IF ( r8val .EQ. bmiss ) THEN
48  ibfms = 1
49  ELSE
50  ibfms = 0
51  ENDIF
52 
53  RETURN
54  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:38