NCEPLIBS-bufr 11.7.1
moda_tables.F
Go to the documentation of this file.
1C> @file
2C> @brief Declare arrays for internal storage of jump/link table.
3
4C> This module contains array and variable declarations used to
5C> store the internal jump/link table.
6C>
7C> <p>Data values within this module are stored by subroutines
8C> makestab(), tabsub() and tabent().
9C>
10C> @author J. Ator
11C> @date 2014-12-10
12
14
15C> @var maxtab
16C> Maximum number of entries in the jump/link table;
17C> equivalent to MAXJL.
18C>
19C> @var ntab
20C> Number of entries in the jump/link table.
21C>
22C> @var tag
23C> Mnemonics in the jump/link table.
24C>
25C> @var typ
26C> Type indicators corresponding to tag:
27C> - "SUB", if corresponding tag entry is a Table A mnemonic
28C> - "SEQ", if corresponding tag entry is a Table D mnemonic
29C> using either short (1-bit) delayed replication, regular
30C> (non-delayed) replication, or no replication at all
31C> - "RPC", if corresponding tag entry is a Table D mnemonic
32C> using either medium (8-bit) or long (16-bit) delayed
33C> replication
34C> - "RPS", if corresponding tag entry is a Table D mnemonic
35C> using medium (8-bit) delayed replication in a stack
36C> - "DRB", if corresponding tag entry denotes the short (1-bit)
37C> delayed replication of a Table D mnemonic
38C> - "DRP", if corresponding tag entry denotes the medium (8-bit)
39C> or long (16-bit) delayed replication of a Table D mnemonic
40C> - "DRS", if corresponding tag entry denotes the medium (8-bit)
41C> delayed replication of a Table D mnemonic in a stack
42C> - "REP", if corresponding tag entry denotes the regular
43C> (non-delayed) replication of a Table D mnemonic
44C> - "CHR", if corresponding tag entry is a Table B mnemonic
45C> with units of CCITT IA5
46C> - "NUM", if corresponding tag entry is a Table B mnemonic
47C> with any units other than CCITT IA5
48C>
49C> @var jump
50C> Jump forward indices corresponding to tag and typ:
51C> - 0, if corresponding typ entry is "CHR" or "NUM"
52C> - Jump/link table entry for Table D mnemonic whose replication
53C> is denoted by corresponding tag entry, if corresponding typ
54C> entry is "DRB", "DRP" or "REP"
55C> - Jump/link table entry for Table B or D mnemonic which is
56C> the first sequential child descriptor of the corresponding
57C> tag entry, otherwise
58C>
59C> @var jmpb
60C> Jump backward indices corresponding to tag and typ:
61C> - 0, if corresponding typ entry is "SUB"
62C> - Jump/link table entry denoting the replication of
63C> corresponding tag entry, if corresponding typ entry is
64C> "RPC", or if corresponding typ entry is "SEQ" and
65C> corresponding tag entry uses either short (1-bit) or
66C> regular (non-delayed) replication
67C> - Jump/link table entry for Table A or D mnemonic of
68C> which corresponding tag entry is a child descriptor,
69C> otherwise
70C>
71C> @var link
72C> Link indices corresponding to tag, typ and jmpb:
73C> - 0, if corresponding typ entry is "SUB" or "RPC", or if
74C> corresponding typ entry is "SEQ" and corresponding tag
75C> entry uses either short (1-bit) or regular (non-delayed)
76C> replication, or if corresponding tag entry is the last
77C> sequential child descriptor of the Table A or D
78C> mnemonic referenced by corresponding jmpb entry
79C> - Jump/link table entry for Table B or D mnemonic which
80C> follows the corresponding tag entry as the next sequential
81C> child descriptor of the Table A or D mnemonic referenced
82C> by corresponding jmpb entry, otherwise
83C>
84C> @var ibt
85C> Bit widths corresponding to tag and typ:
86C> - Bit width of corresponding tag entry, if corresponding
87C> typ entry is "CHR", "NUM", "DRB" or "DRP"
88C> - 0, otherwise
89C>
90C> @var irf
91C> Reference values corresponding to tag and typ:
92C> - Reference value of corresponding tag entry, if
93C> corresponding typ entry is "NUM"
94C> - Number of regular (non-delayed) replications of Table D
95C> mnemonic referenced by corresponding jump entry, if
96C> corresponding typ entry is "REP"
97C> - 0, otherwise
98C>
99C> @var isc
100C> Scale factors corresponding to tag and typ:
101C> - Scale factor of corresponding tag entry, if
102C> corresponding typ entry is "NUM"
103C> - Jump/link table entry for Table B or Table D mnemonic
104C> which is the last sequential child descriptor of the
105C> corresponding tag entry, if the corresponding typ entry
106C> is "SUB"
107C> - 0, otherwise
108C>
109C> @var itp
110C> Integer type values corresponding to typ:
111C> - 1, if corresponding typ entry is "DRS", "DRP" or "DRB"
112C> - 2, if corresponding typ entry is "NUM"
113C> - 3, if corresponding typ entry is "CHR"
114C> - 0, otherwise
115C>
116C> @var vali
117C> Initialized data values corresponding to typ:
118C> - Current placeholder value for "missing" data, if
119C> corresponding typ entry is "REP", "NUM" or "CHR"
120C> - 0, otherwise
121C>
122C> @var knti
123C> Initialized replication counts corresponding to typ and jump:
124C> - 0, if corresponding typ entry is "RPC", "RPS" or "DRB"
125C> - Number of regular (non-delayed) replications of Table D
126C> mnemonic referenced by corresponding jump entry, if
127C> corresponding typ entry is "REP"
128C> - 1, otherwise
129
130 INTEGER :: maxtab
131 INTEGER :: ntab
132 CHARACTER*10, ALLOCATABLE :: tag(:)
133 CHARACTER*3, ALLOCATABLE :: typ(:)
134 INTEGER, ALLOCATABLE :: knt(:)
135 INTEGER, ALLOCATABLE :: jump(:)
136 INTEGER, ALLOCATABLE :: link(:)
137 INTEGER, ALLOCATABLE :: jmpb(:)
138 INTEGER, ALLOCATABLE :: ibt(:)
139 INTEGER, ALLOCATABLE :: irf(:)
140 INTEGER, ALLOCATABLE :: isc(:)
141 INTEGER, ALLOCATABLE :: itp(:)
142 real*8, ALLOCATABLE :: vali(:)
143 INTEGER, ALLOCATABLE :: knti(:)
144 INTEGER, ALLOCATABLE :: iseq(:,:)
145 INTEGER, ALLOCATABLE :: jseq(:)
146
147 END MODULE
This module contains array and variable declarations used to store the internal jump/link table.
Definition: moda_tables.F:13
integer, dimension(:), allocatable link
Link indices corresponding to tag, typ and jmpb:
Definition: moda_tables.F:136
integer, dimension(:), allocatable itp
Integer type values corresponding to typ:
Definition: moda_tables.F:141
integer, dimension(:), allocatable isc
Scale factors corresponding to tag and typ:
Definition: moda_tables.F:140
character *3, dimension(:), allocatable typ
Type indicators corresponding to tag:
Definition: moda_tables.F:133
integer, dimension(:), allocatable jump
Jump forward indices corresponding to tag and typ:
Definition: moda_tables.F:135
integer, dimension(:), allocatable knti
Initialized replication counts corresponding to typ and jump:
Definition: moda_tables.F:143
integer, dimension(:), allocatable ibt
Bit widths corresponding to tag and typ:
Definition: moda_tables.F:138
character *10, dimension(:), allocatable tag
Mnemonics in the jump/link table.
Definition: moda_tables.F:132
integer maxtab
Maximum number of entries in the jump/link table; equivalent to MAXJL.
Definition: moda_tables.F:130
integer ntab
Number of entries in the jump/link table.
Definition: moda_tables.F:131
integer, dimension(:), allocatable irf
Reference values corresponding to tag and typ:
Definition: moda_tables.F:139
real *8, dimension(:), allocatable vali
Initialized data values corresponding to typ:
Definition: moda_tables.F:142
integer, dimension(:), allocatable jmpb
Jump backward indices corresponding to tag and typ:
Definition: moda_tables.F:137