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