NCEPLIBS-bufr  11.5.0
 All Data Structures Files Functions Variables Pages
moda_bitmaps.F
Go to the documentation of this file.
1 C> @file
2 C> @brief Declare arrays for internal storage of bitmaps.
3 
4 C> This module contains array and variable declarations used to
5 C> store bitmaps internally within a data subset definition.
6 C>
7 C> <p>Data values within this module are stored by subprograms
8 C> strbtm(), igetrfel(), makestab() and tabsub().
9 C>
10 C> @author J. Ator
11 C> @date 2016-05-27
12 
13  MODULE moda_bitmaps
14 
15 #ifndef MXBTM_H
16 #define MXBTM_H
17  USE modv_mxbtm
18 #endif
19 
20 #ifndef MXBTMSE_H
21 #define MXBTMSE_H
22  USE modv_mxbtmse
23 #endif
24 
25 #ifndef MXTCO_H
26 #define MXTCO_H
27  USE modv_mxtco
28 #endif
29 
30 #ifndef MXTAMC_H
31 #define MXTAMC_H
32  USE modv_mxtamc
33 #endif
34 
35 C> @var nbtm
36 C> Number of stored bitmaps for the current data subset
37 C> (up to a maximum of MXBTM).
38 C>
39 C> @var nbtmse
40 C> Number of "set" entries (set to a value of 0)
41 C> in the bitmap.
42 C>
43 C> @var linbtm
44 C> TRUE if a bitmap is in the process of being read for
45 C> the current data subset.
46 C>
47 C> @var istbtm
48 C> Ordinal position in data subset definition corresponding
49 C> to the first entry of the bitmap.
50 C>
51 C> @var iszbtm
52 C> Size of bitmap (total number of entries, whether
53 C> "set" (set to a value of 0) or not).
54 C>
55 C> @var ibtmse
56 C> Ordinal positions in bitmap of bits that were "set" (set
57 C> to a value of 0); these ordinal positions can range in
58 C> value from 1 to iszbtm for each stored bitmap.
59 C>
60 C> @var lstnod
61 C> Most recent jump/link table entry that was processed by
62 C> function igetrfel() and whose corresponding value type
63 C> was either numeric or CCITT IA5.
64 C>
65 C> @var lstnodct
66 C> Current count of consecutive occurrences of lstnod.
67 C>
68 C> @var ntamc
69 C> Number of Table A mnemonics in jump/link table (up to a
70 C> maximum of MXTAMC) which contain at least one Table C
71 C> operator with an XX value of 21 or greater in their data
72 C> subset definition; only Table C operators with an XX
73 C> value of 21 or greater are tracked within this module,
74 C> since all others are automatically processed within
75 C> subroutines tabsub() and tabent().
76 C>
77 C> @var inodtamc
78 C> Entries within jump/link table which contain Table A
79 C> mnemonics.
80 C>
81 C> @var ntco
82 C> Number of Table C operators (with an XX value of 21 or
83 C> greater) within the data subset definition of the
84 C> corresponding Table A mnemonic in inodtamc.
85 C>
86 C> @var ctco
87 C> Table C operators corresponding to inodtco.
88 C>
89 C> @var inodtco
90 C> Entries within jump/link table which contain Table C
91 C> operators.
92 
93  INTEGER :: NBTM
94  INTEGER :: NTAMC
95  INTEGER :: LSTNOD
96  INTEGER :: LSTNODCT
97  LOGICAL :: LINBTM
98 #ifdef DYNAMIC_ALLOCATION
99  INTEGER, ALLOCATABLE :: INODTAMC(:)
100  INTEGER, ALLOCATABLE :: NTCO(:)
101  CHARACTER*6, ALLOCATABLE :: CTCO(:,:)
102  INTEGER, ALLOCATABLE :: INODTCO(:,:)
103  INTEGER, ALLOCATABLE :: NBTMSE(:)
104  INTEGER, ALLOCATABLE :: ISTBTM(:)
105  INTEGER, ALLOCATABLE :: ISZBTM(:)
106  INTEGER, ALLOCATABLE :: IBTMSE(:,:)
107 #else
108  INTEGER :: INODTAMC(MXTAMC)
109  INTEGER :: NTCO(MXTAMC)
110  CHARACTER*6 :: CTCO(MXTAMC,MXTCO)
111  INTEGER :: INODTCO(MXTAMC,MXTCO)
112  INTEGER :: NBTMSE(MXBTM)
113  INTEGER :: ISTBTM(MXBTM)
114  INTEGER :: ISZBTM(MXBTM)
115  INTEGER :: IBTMSE(MXBTM,MXBTMSE)
116 #endif
117 
118  END MODULE
This module declares and initializes the MXTCO variable.
Definition: modv_MXTCO.F:16
This module declares and initializes the MXBTM variable.
Definition: modv_MXBTM.F:16
This module declares and initializes the MXTAMC variable.
Definition: modv_MXTAMC.F:16
This module contains array and variable declarations used to store bitmaps internally within a data s...
Definition: moda_bitmaps.F:13
This module declares and initializes the MXBTMSE variable.
Definition: modv_MXBTMSE.F:16