NCEPLIBS-bufr  12.0.1
iokoper.f
Go to the documentation of this file.
1 C> @file
2 C> @brief Check whether a mnemonic is a Table C operator.
3 C>
4 C> @author J. Ator @date 2015-03-06
5 
6 C> This function determines whether a specified mnemonic is a
7 C> Table C operator supported by the BUFRLIB software.
8 C>
9 C> @param[in] NEMO -- character*(*): Mnemonic
10 C> @returns iokoper -- integer: Flag indicating whether NEMO is a
11 C> Table C operator supported by the BUFRLIB
12 C> software
13 C> - 0 = No
14 C> - 1 = Yes
15 C>
16 C> @author J. Ator @date 2015-03-06
17  INTEGER FUNCTION iokoper(NEMO)
18 
19  CHARACTER*(*) nemo
20 
21 C-----------------------------------------------------------------------
22 C-----------------------------------------------------------------------
23 
24  IF (len(nemo).LT.6) THEN
25  iokoper = 0
26  ELSE IF ( lge(nemo(1:3),'201') .AND. lle(nemo(1:3),'208') ) THEN
27  iokoper = 1
28  ELSE IF ( nemo(1:3).EQ.'221') THEN
29  iokoper = 1
30  ELSE IF ( ( ( nemo(4:6).EQ.'000' ) .OR. ( nemo(4:6).EQ.'255' ) )
31  + .AND.
32  + ( ( nemo(1:3).EQ.'237' ) .OR. ( nemo(1:3).EQ.'241' ) .OR.
33  + ( nemo(1:3).EQ.'242' ) .OR. ( nemo(1:3).EQ.'243' ) ) )
34  + THEN
35  iokoper = 1
36  ELSE IF ( ( nemo(4:6).EQ.'000' )
37  + .AND.
38  + ( ( nemo(1:3).EQ.'222' ) .OR. ( nemo(1:3).EQ.'223' ) .OR.
39  + ( nemo(1:3).EQ.'224' ) .OR. ( nemo(1:3).EQ.'225' ) .OR.
40  + ( nemo(1:3).EQ.'232' ) .OR. ( nemo(1:3).EQ.'235' ) .OR.
41  + ( nemo(1:3).EQ.'236' ) ) )
42  + THEN
43  iokoper = 1
44  ELSE
45  iokoper = imrkopr(nemo)
46  ENDIF
47 
48  RETURN
49  END
integer function imrkopr(NEMO)
Check whether a specified mnemonic is a Table C marker operator.
Definition: imrkopr.f:16
integer function iokoper(NEMO)
This function determines whether a specified mnemonic is a Table C operator supported by the BUFRLIB ...
Definition: iokoper.f:18