NCEPLIBS-bufr 11.7.1
igetprm.f
Go to the documentation of this file.
1C> @file
2C> @brief Get the current value of a parameter
3
4C> This function returns the current value of a parameter used
5C> for allocating one or more internal arrays within the
6C> BUFRLIB software.
7C>
8C> @author J. Ator
9C> @date 2014-12-04
10C>
11C> @param[in] CPRMNM -- character*(*): Parameter
12C> - 'MXMSGL' = Maximum length (in bytes) of a BUFR
13C> message
14C> - 'MAXSS' = Maximum number of data values in an
15C> uncompressed BUFR subset
16C> - 'MXCDV' = Maximum number of data values that
17C> can be written into a compressed BUFR
18C> subset
19C> - 'MXLCC' = Maximum length (in bytes) of a
20C> character string that can be written
21C> into a compressed BUFR subset
22C> - 'MXCSB' = Maximum number of subsets that can be
23C> written into a compressed BUFR
24C> message
25C> - 'NFILES' = Maximum number of BUFR files that can
26C> be accessed for reading or writing at
27C> any one time
28C> - 'MAXTBA' = Maximum number of entries in internal
29C> BUFR Table A per BUFR file
30C> - 'MAXTBB' = Maximum number of entries in internal
31C> BUFR Table B per BUFR file
32C> - 'MAXTBD' = Maximum number of entries in internal
33C> BUFR Table D per BUFR file
34C> - 'MAXMEM' = Maximum number of bytes that can be
35C> used to store BUFR messages in
36C> internal memory
37C> - 'MAXMSG' = Maximum number of BUFR messages that
38C> can be stored in internal memory
39C> - 'MXDXTS' = Maximum number of dictionary tables
40C> that can be stored for use with BUFR
41C> messages in internal memory
42C> - 'MXMTBB' = Maximum number of master Table B
43C> entries
44C> - 'MXMTBD' = Maximum number of master Table D
45C> entries
46C> - 'MXMTBF' = Maximum number of master Code/Flag
47C> entries
48C> - 'MAXCD' = Maximum number of child descriptors
49C> in a Table D descriptor sequence
50C> definition
51C> - 'MAXJL' = Maximum number of entries in the
52C> internal jump/link table
53C> - 'MXS01V' = Maximum number of default Section 0
54C> or Section 1 values that can be
55C> overwritten within an output BUFR
56C> message
57C> - 'MXBTM' = Maximum number of bitmaps that can be
58C> stored internally for a BUFR subset
59C> - 'MXBTMSE' = Maximum number of entries that can be
60C> set within a bitmap
61C> - 'MXTAMC' = Maximum number of Table A mnemonics
62C> in the internal jump/link table which
63C> contain at least one Table C operator
64C> with XX >= 21 in their subset definition
65C> - 'MXTCO' = Maximum number of Table C operators
66C> with XX >= 21) in the subset definition
67C> of a Table A mnemonic
68C> - 'MXNRV' = Maximum number of 2-03 reference
69C> values in the internal jump/link
70C> table
71C> - 'MXRST' = Maximum number of long character
72C> strings that can be read from a
73C> compressed subset
74C>
75C> @returns igetprm -- integer: Value of CPRMNM
76C> - -1 = Unknown CPRMNM
77C>
78C> <b>Program history log:</b>
79C> | Date | Programmer | Comments |
80C> | -----|------------|----------|
81C> | 2014-12-04 | J. Ator | Original author |
82C>
83 INTEGER FUNCTION igetprm ( CPRMNM )
84
85 USE modv_maxss
86 USE modv_nfiles
87 USE modv_mxmsgl
88 USE modv_mxdxts
89 USE modv_maxmsg
90 USE modv_maxmem
91 USE modv_maxtba
92 USE modv_maxtbb
93 USE modv_maxtbd
94 USE modv_maxjl
95 USE modv_mxcdv
96 USE modv_mxlcc
97 USE modv_mxcsb
98 USE modv_mxmtbb
99 USE modv_mxmtbd
100 USE modv_mxmtbf
101 USE modv_maxcd
102 USE modv_mxs01v
103 USE modv_mxbtm
104 USE modv_mxbtmse
105 USE modv_mxtamc
106 USE modv_mxtco
107 USE modv_mxnrv
108 USE modv_mxrst
109
110 character*(*) cprmnm
111 character*64 errstr
112
113C-----------------------------------------------------------------------
114C-----------------------------------------------------------------------
115
116 IF ( cprmnm .EQ. 'MAXSS' ) THEN
117 igetprm = maxss
118 ELSE IF ( cprmnm .EQ. 'NFILES' ) THEN
120 ELSE IF ( cprmnm .EQ. 'MXMSGL' ) THEN
122 ELSE IF ( cprmnm .EQ. 'MXDXTS' ) THEN
124 ELSE IF ( cprmnm .EQ. 'MAXMSG' ) THEN
126 ELSE IF ( cprmnm .EQ. 'MAXMEM' ) THEN
128 ELSE IF ( cprmnm .EQ. 'MAXTBA' ) THEN
130 ELSE IF ( cprmnm .EQ. 'MAXTBB' ) THEN
132 ELSE IF ( cprmnm .EQ. 'MAXTBD' ) THEN
134 ELSE IF ( cprmnm .EQ. 'MAXJL' ) THEN
135 igetprm = maxjl
136 ELSE IF ( cprmnm .EQ. 'MXCDV' ) THEN
137 igetprm = mxcdv
138 ELSE IF ( cprmnm .EQ. 'MXLCC' ) THEN
139 igetprm = mxlcc
140 ELSE IF ( cprmnm .EQ. 'MXCSB' ) THEN
141 igetprm = mxcsb
142 ELSE IF ( cprmnm .EQ. 'MXMTBB' ) THEN
144 ELSE IF ( cprmnm .EQ. 'MXMTBD' ) THEN
146 ELSE IF ( cprmnm .EQ. 'MXMTBF' ) THEN
147 igetprm = mxmtbf
148 ELSE IF ( cprmnm .EQ. 'MAXCD' ) THEN
149 igetprm = maxcd
150 ELSE IF ( cprmnm .EQ. 'MXS01V' ) THEN
152 ELSE IF ( cprmnm .EQ. 'MXBTM' ) THEN
153 igetprm = mxbtm
154 ELSE IF ( cprmnm .EQ. 'MXBTMSE' ) THEN
156 ELSE IF ( cprmnm .EQ. 'MXTAMC' ) THEN
158 ELSE IF ( cprmnm .EQ. 'MXTCO' ) THEN
159 igetprm = mxtco
160 ELSE IF ( cprmnm .EQ. 'MXNRV' ) THEN
161 igetprm = mxnrv
162 ELSE IF ( cprmnm .EQ. 'MXRST' ) THEN
163 igetprm = mxrst
164 ELSE
165 igetprm = -1
166 CALL errwrt('++++++++++++++++++WARNING+++++++++++++++++++')
167 errstr = 'BUFRLIB: IGETPRM - UNKNOWN INPUT PARAMETER '//
168 . cprmnm
169 CALL errwrt(errstr)
170 CALL errwrt('++++++++++++++++++WARNING+++++++++++++++++++')
171 ENDIF
172
173 RETURN
174 END
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
Definition: errwrt.f:42
integer function igetprm(CPRMNM)
This function returns the current value of a parameter used for allocating one or more internal array...
Definition: igetprm.f:84
This module declares and initializes the MAXCD variable.
Definition: modv_MAXCD.f90:12
integer, public maxcd
Maximum number of child descriptors that can be included within the sequence definition of a Table D ...
Definition: modv_MAXCD.f90:18
This module declares and initializes the MAXJL variable.
Definition: modv_MAXJL.f:13
integer maxjl
Maximum number of entries in the internal jump/link table.
Definition: modv_MAXJL.f:18
This module declares and initializes the MAXMEM variable.
Definition: modv_MAXMEM.f:13
integer maxmem
Maximum number of bytes that can be used to store BUFR messages within internal memory.
Definition: modv_MAXMEM.f:19
This module declares and initializes the MAXMSG variable.
Definition: modv_MAXMSG.f:13
integer maxmsg
Maximum number of BUFR messages that can be stored within internal memory.
Definition: modv_MAXMSG.f:19
This module declares and initializes the MAXSS variable.
Definition: modv_MAXSS.f:13
integer maxss
Maximum number of data values that can be read from or written into a data subset by the BUFRLIB soft...
Definition: modv_MAXSS.f:19
This module declares and initializes the MAXTBA variable.
Definition: modv_MAXTBA.f:13
integer maxtba
Maximum number of entries in the internal BUFR Table A for each BUFR file that is connected to the BU...
Definition: modv_MAXTBA.f:19
This module declares and initializes the MAXTBB variable.
Definition: modv_MAXTBB.f:13
integer maxtbb
Maximum number of entries in the internal BUFR Table B for each BUFR file that is connected to the BU...
Definition: modv_MAXTBB.f:19
This module declares and initializes the MAXTBD variable.
Definition: modv_MAXTBD.f:13
integer maxtbd
Maximum number of entries in the internal BUFR Table D for each BUFR file that is connected to the BU...
Definition: modv_MAXTBD.f:19
This module declares and initializes the MXBTM variable.
Definition: modv_MXBTM.f:13
integer mxbtm
Maximum number of bitmaps that can be stored internally for a data subset.
Definition: modv_MXBTM.f:19
This module declares and initializes the MXBTMSE variable.
Definition: modv_MXBTMSE.f:13
integer mxbtmse
Maximum number of "set" entries (set to a value of 0) within a bitmap.
Definition: modv_MXBTMSE.f:19
This module declares and initializes the MXCDV variable.
Definition: modv_MXCDV.f:13
integer mxcdv
Maximum number of data values that can be written into a data subset of a compressed BUFR message by ...
Definition: modv_MXCDV.f:20
This module declares and initializes the MXCSB variable.
Definition: modv_MXCSB.f:13
integer mxcsb
Maximum number of data subsets that can be written into a compressed BUFR message by the BUFRLIB soft...
Definition: modv_MXCSB.f:19
This module declares and initializes the MXDXTS variable.
Definition: modv_MXDXTS.f:13
integer mxdxts
Maximum number of dictionary tables that can be stored for use with BUFR messages in internal memory.
Definition: modv_MXDXTS.f:19
This module declares and initializes the MXLCC variable.
Definition: modv_MXLCC.f:13
integer mxlcc
Maximum length (in bytes) of a character string that can be written into a data subset of a compresse...
Definition: modv_MXLCC.f:20
This module declares and initializes the MXMSGL variable.
Definition: modv_MXMSGL.f:13
integer mxmsgl
Maximum length (in bytes) of a BUFR message that can be read or written by the BUFRLIB software.
Definition: modv_MXMSGL.f:22
This module declares and initializes the MXMTBB variable.
Definition: modv_MXMTBB.f:13
integer mxmtbb
Maximum number of entries in a master BUFR Table B.
Definition: modv_MXMTBB.f:18
This module declares and initializes the MXMTBD variable.
Definition: modv_MXMTBD.f:13
integer mxmtbd
Maximum number of entries in a master BUFR Table D.
Definition: modv_MXMTBD.f:18
This module declares and initializes the MXMTBF variable.
Definition: modv_MXMTBF.f:13
This module declares and initializes the MXNRV variable.
Definition: modv_MXNRV.f:13
integer mxnrv
Maximum number of entries in the internal jump/link table that can contain new reference values.
Definition: modv_MXNRV.f:19
This module declares and initializes the MXRST variable.
Definition: modv_MXRST.f:13
integer mxrst
Maximum number of "long" character strings (greater than 8 bytes) that can be read from a data subset...
Definition: modv_MXRST.f:20
This module declares and initializes the MXS01V variable.
Definition: modv_MXS01V.f:13
integer mxs01v
Maximum number of default Section 0 or Section 1 values that can be overwritten within an output BUFR...
Definition: modv_MXS01V.f:20
This module declares and initializes the MXTAMC variable.
Definition: modv_MXTAMC.f:13
integer mxtamc
Maximum number of Table A mnemonics in the internal jump/link table which contain at least one Table ...
Definition: modv_MXTAMC.f:20
This module declares and initializes the MXTCO variable.
Definition: modv_MXTCO.f:13
integer mxtco
Maximum number of Table C operators with an XX value of 21 or greater that can appear within the data...
Definition: modv_MXTCO.f:20
This module declares and initializes the NFILES variable.
Definition: modv_NFILES.f90:12
integer, public nfiles
Maximum number of BUFR files that can be connected to the BUFRLIB software (for reading or writing) a...
Definition: modv_NFILES.f90:17