NCEPLIBS-bufr  12.1.0
missing.F90 File Reference

Test for "missing" data values. More...

Go to the source code of this file.

Functions/Subroutines

real *8 function getbmiss ()
 Get the current placeholder value which represents "missing" data when reading from or writing to BUFR files. More...
 
integer function ibfms (r8val)
 Check whether a real*8 data value returned from a previous call to any of the NCEPLIBS-bufr values-reading subroutines contains the current placeholder value for "missing" data. More...
 
recursive integer function icbfms (str, lstr)
 Check whether a character string returned from a previous call to subroutine readlc() was encoded as "missing" (all bits set to 1) within the actual BUFR data subset. More...
 
subroutine setbmiss (xmiss)
 Specify a customized value to represent "missing" data when reading from or writing to BUFR files. More...
 

Detailed Description

Test for "missing" data values.

Author
J. Ator
Date
2007-01-19

Definition in file missing.F90.

Function/Subroutine Documentation

◆ getbmiss()

real*8 function getbmiss

Get the current placeholder value which represents "missing" data when reading from or writing to BUFR files.

Returns
getbmiss - Current placeholder value for "missing" data

This subroutine can be called at any time from within an application program, and the returned value can then be used to represent "missing" data within the context of future calls to any of the other NCEPLIBS-bufr values-reading subroutines or values-writing subroutines. This placeholder value can also be changed at any time via a separate call to subroutine setbmiss().

Author
J. Woollen
Date
2012-09-15

Definition at line 134 of file missing.F90.

◆ ibfms()

integer function ibfms ( real*8, intent(in)  r8val)

Check whether a real*8 data value returned from a previous call to any of the NCEPLIBS-bufr values-reading subroutines contains the current placeholder value for "missing" data.

Parameters
r8val- Data value to be tested
Returns
ibfms - Return code:
  • 0 = r8val is not "missing"
  • 1 = r8val is "missing"

The current placeholder value for "missing" data is always equal to the value xmiss as specified during the most recent call to subroutine setbmiss(), or to a default value of 10E10 if setbmiss() was never called. In either case, a return value of 1 means that the corresponding value was encoded as "missing" (all bits set to 1) within the actual BUFR data subset.

Author
J. Ator
Date
2007-01-19

Definition at line 24 of file missing.F90.

Referenced by bufr_c2f_interface::ibfms_c(), invmrg(), ufbdmp(), and ufdump().

◆ icbfms()

recursive integer function icbfms ( character*(*), intent(in)  str,
integer, intent(in)  lstr 
)

Check whether a character string returned from a previous call to subroutine readlc() was encoded as "missing" (all bits set to 1) within the actual BUFR data subset.

Parameters
str- String
lstr- Length of string, i.e. number of characters within str to be tested
Returns
icbfms - return code:
  • 0 = str is not "missing"
  • 1 = str is "missing"
Remarks
  • The use of an integer return code allows this function to be called in a logical context from application programs written in C as well as in Fortran
Author
J. Ator
Date
2012-06-07

Definition at line 55 of file missing.F90.

References iupm(), and x84().

Referenced by ufbdmp(), and ufdump().

◆ setbmiss()

subroutine setbmiss ( real*8, intent(in)  xmiss)

Specify a customized value to represent "missing" data when reading from or writing to BUFR files.

This subroutine can be called at any time from within an application program, and the value xmiss will then be treated as "missing" when reading or writing BUFR data during all future calls to any of the other NCEPLIBS-bufr values-reading subroutines or values-writing subroutines. Otherwise, if this subroutine is never called, a default placeholder value of 10E10_8 is used for "missing".

Any data value can always be checked for equivalence to the current "missing" value via a call to function ibfms(). See also function getbmiss().

Remarks
  • The value xmiss is never actually encoded within a BUFR data subset; rather, xmiss is a user-friendly placeholder value to represent "missing" data values within the scope of the application program. In any actual BUFR data subset, "missing" values are always encoded as all bits set to 1, per WMO regulations.
Parameters
xmiss- New placeholder value to represent "missing" data
Author
J. Woollen
Date
2012-09-15

Definition at line 170 of file missing.F90.