NCEPLIBS-bufr  11.7.0
 All Data Structures Files Functions Variables Pages
igetprm.f
Go to the documentation of this file.
1 C> @file
2 C> @brief Get the current value of a parameter
3 
4 C> This function returns the current value of a parameter used
5 C> for allocating one or more internal arrays within the
6 C> BUFRLIB software.
7 C>
8 C> @author J. Ator
9 C> @date 2014-12-04
10 C>
11 C> @param[in] CPRMNM -- character*(*): Parameter
12 C> - 'MXMSGL' = Maximum length (in bytes) of a BUFR
13 C> 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
18 C> subset
19 C> - 'MXLCC' = Maximum length (in bytes) of a
20 C> character string that can be written
21 C> into a compressed BUFR subset
22 C> - 'MXCSB' = Maximum number of subsets that can be
23 C> written into a compressed BUFR
24 C> message
25 C> - 'NFILES' = Maximum number of BUFR files that can
26 C> be accessed for reading or writing at
27 C> any one time
28 C> - 'MAXTBA' = Maximum number of entries in internal
29 C> BUFR Table A per BUFR file
30 C> - 'MAXTBB' = Maximum number of entries in internal
31 C> BUFR Table B per BUFR file
32 C> - 'MAXTBD' = Maximum number of entries in internal
33 C> BUFR Table D per BUFR file
34 C> - 'MAXMEM' = Maximum number of bytes that can be
35 C> used to store BUFR messages in
36 C> internal memory
37 C> - 'MAXMSG' = Maximum number of BUFR messages that
38 C> can be stored in internal memory
39 C> - 'MXDXTS' = Maximum number of dictionary tables
40 C> that can be stored for use with BUFR
41 C> messages in internal memory
42 C> - 'MXMTBB' = Maximum number of master Table B
43 C> entries
44 C> - 'MXMTBD' = Maximum number of master Table D
45 C> entries
46 C> - 'MXMTBF' = Maximum number of master Code/Flag
47 C> entries
48 C> - 'MAXCD' = Maximum number of child descriptors
49 C> in a Table D descriptor sequence
50 C> definition
51 C> - 'MAXJL' = Maximum number of entries in the
52 C> internal jump/link table
53 C> - 'MXS01V' = Maximum number of default Section 0
54 C> or Section 1 values that can be
55 C> overwritten within an output BUFR
56 C> message
57 C> - 'MXBTM' = Maximum number of bitmaps that can be
58 C> stored internally for a BUFR subset
59 C> - 'MXBTMSE' = Maximum number of entries that can be
60 C> set within a bitmap
61 C> - 'MXTAMC' = Maximum number of Table A mnemonics
62 C> in the internal jump/link table which
63 C> contain at least one Table C operator
64 C> with XX >= 21 in their subset definition
65 C> - 'MXTCO' = Maximum number of Table C operators
66 C> with XX >= 21) in the subset definition
67 C> of a Table A mnemonic
68 C> - 'MXNRV' = Maximum number of 2-03 reference
69 C> values in the internal jump/link
70 C> table
71 C> - 'MXRST' = Maximum number of long character
72 C> strings that can be read from a
73 C> compressed subset
74 C>
75 C> @returns igetprm -- integer: Value of CPRMNM
76 C> - -1 = Unknown CPRMNM
77 C>
78 C> <b>Program history log:</b>
79 C> | Date | Programmer | Comments |
80 C> | -----|------------|----------|
81 C> | 2014-12-04 | J. Ator | Original author |
82 C>
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 
113 C-----------------------------------------------------------------------
114 C-----------------------------------------------------------------------
115 
116  IF ( cprmnm .EQ. 'MAXSS' ) THEN
117  igetprm = maxss
118  ELSE IF ( cprmnm .EQ. 'NFILES' ) THEN
119  igetprm = nfiles
120  ELSE IF ( cprmnm .EQ. 'MXMSGL' ) THEN
121  igetprm = mxmsgl
122  ELSE IF ( cprmnm .EQ. 'MXDXTS' ) THEN
123  igetprm = mxdxts
124  ELSE IF ( cprmnm .EQ. 'MAXMSG' ) THEN
125  igetprm = maxmsg
126  ELSE IF ( cprmnm .EQ. 'MAXMEM' ) THEN
127  igetprm = maxmem
128  ELSE IF ( cprmnm .EQ. 'MAXTBA' ) THEN
129  igetprm = maxtba
130  ELSE IF ( cprmnm .EQ. 'MAXTBB' ) THEN
131  igetprm = maxtbb
132  ELSE IF ( cprmnm .EQ. 'MAXTBD' ) THEN
133  igetprm = maxtbd
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
143  igetprm = mxmtbb
144  ELSE IF ( cprmnm .EQ. 'MXMTBD' ) THEN
145  igetprm = mxmtbd
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
151  igetprm = mxs01v
152  ELSE IF ( cprmnm .EQ. 'MXBTM' ) THEN
153  igetprm = mxbtm
154  ELSE IF ( cprmnm .EQ. 'MXBTMSE' ) THEN
155  igetprm = mxbtmse
156  ELSE IF ( cprmnm .EQ. 'MXTAMC' ) THEN
157  igetprm = mxtamc
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
This module declares and initializes the MXNRV variable.
Definition: modv_MXNRV.f:13
This module declares and initializes the MXMTBD variable.
Definition: modv_MXMTBD.f:13
This module declares and initializes the MXS01V variable.
Definition: modv_MXS01V.f:13
This module declares and initializes the NFILES variable.
Definition: modv_NFILES.f90:13
This module declares and initializes the MXMTBF variable.
Definition: modv_MXMTBF.f:13
This module declares and initializes the MAXMEM variable.
Definition: modv_MAXMEM.f:13
This module declares and initializes the MXMSGL variable.
Definition: modv_MXMSGL.f:13
This module declares and initializes the MXCSB variable.
Definition: modv_MXCSB.f:13
INTEGER function igetprm(CPRMNM)
This function returns the current value of a parameter used for allocating one or more internal array...
Definition: igetprm.f:83
This module declares and initializes the MXTAMC variable.
Definition: modv_MXTAMC.f:13
This module declares and initializes the MXDXTS variable.
Definition: modv_MXDXTS.f:13
This module declares and initializes the MXBTMSE variable.
Definition: modv_MXBTMSE.f:13
This module declares and initializes the MAXJL variable.
Definition: modv_MAXJL.f:13
This module declares and initializes the MXTCO variable.
Definition: modv_MXTCO.f:13
This module declares and initializes the MAXSS variable.
Definition: modv_MAXSS.f:13
This module declares and initializes the MXBTM variable.
Definition: modv_MXBTM.f:13
This module declares and initializes the MXCDV variable.
Definition: modv_MXCDV.f:13
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
Definition: errwrt.f:41
This module declares and initializes the MAXTBB variable.
Definition: modv_MAXTBB.f:13
This module declares and initializes the MAXCD variable.
Definition: modv_MAXCD.f90:13
This module declares and initializes the MXLCC variable.
Definition: modv_MXLCC.f:13
This module declares and initializes the MXRST variable.
Definition: modv_MXRST.f:13
This module declares and initializes the MAXTBD variable.
Definition: modv_MAXTBD.f:13
This module declares and initializes the MAXTBA variable.
Definition: modv_MAXTBA.f:13
This module declares and initializes the MXMTBB variable.
Definition: modv_MXMTBB.f:13
This module declares and initializes the MAXMSG variable.
Definition: modv_MAXMSG.f:13