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