NCEPLIBS-bufr  12.0.1
idxmsg.f
Go to the documentation of this file.
1 C> @file
2 C> @brief Check whether a BUFR message contains DX BUFR tables
3 C> information.
4 C>
5 C> @author J. Ator @date 2009-03-23
6 
7 C> Check whether a BUFR message contains DX BUFR tables
8 C> information.
9 C>
10 C> This function determines whether a given BUFR message contains
11 C> DX BUFR tables information that was generated by the BUFRLIB
12 C> software.
13 C>
14 C> @param[in] MESG - integer(*): BUFR message.
15 C>
16 C> @returns Flag indicating whether MESG
17 C> contains DX BUFR tables information:
18 C> - 0 = No
19 C> - 1 = Yes
20 C>
21 C> @author J. Ator @date 2009-03-23
22  RECURSIVE FUNCTION idxmsg( MESG ) RESULT( IRET )
23 
24  USE modv_im8b
25 
26  dimension mesg(*)
27 
28 C-----------------------------------------------------------------------
29 C-----------------------------------------------------------------------
30 
31 C Check for I8 integers.
32 
33  IF(im8b) THEN
34  im8b=.false.
35 
36  iret = idxmsg( mesg )
37 
38  im8b=.true.
39  RETURN
40  END IF
41 
42 C Note that the following test relies upon logic within subroutine
43 C DXMINI which zeroes out the Section 1 date of all DX dictionary
44 C messages.
45 
46  IF ( (iupbs01(mesg,'MTYP').EQ.11) .AND.
47  . (iupbs01(mesg,'MNTH').EQ.0) .AND.
48  . (iupbs01(mesg,'DAYS').EQ.0) .AND.
49  . (iupbs01(mesg,'HOUR').EQ.0) ) THEN
50  iret = 1
51  ELSE
52  iret = 0
53  END IF
54 
55  RETURN
56  END
recursive function idxmsg(MESG)
Check whether a BUFR message contains DX BUFR tables information.
Definition: idxmsg.f:23
recursive function iupbs01(MBAY, S01MNEM)
Read a data value from Section 0 or Section 1 of a BUFR message.
Definition: iupbs01.f:69
This module declares and initializes the IM8B variable.
logical, public im8b
Status indicator to keep track of whether all future calls to BUFRLIB subroutines and functions from ...