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