NCEPLIBS-bufr  11.5.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> - 2014-12-04 J. Ator -- Original author
80 C>
81  INTEGER FUNCTION igetprm ( CPRMNM )
82 
83  USE modv_maxss
84  USE modv_nfiles
85  USE modv_mxmsgl
86  USE modv_mxdxts
87  USE modv_maxmsg
88  USE modv_maxmem
89  USE modv_maxtba
90  USE modv_maxtbb
91  USE modv_maxtbd
92  USE modv_maxjl
93  USE modv_mxcdv
94  USE modv_mxlcc
95  USE modv_mxcsb
96  USE modv_mxmtbb
97  USE modv_mxmtbd
98  USE modv_mxmtbf
99  USE modv_maxcd
100  USE modv_mxs01v
101  USE modv_mxbtm
102  USE modv_mxbtmse
103  USE modv_mxtamc
104  USE modv_mxtco
105  USE modv_mxnrv
106  USE modv_mxrst
107 
108  character*(*) cprmnm
109  character*64 errstr
110 
111 C-----------------------------------------------------------------------
112 C-----------------------------------------------------------------------
113 
114  IF ( cprmnm .EQ. 'MAXSS' ) THEN
115  igetprm = maxss
116  ELSE IF ( cprmnm .EQ. 'NFILES' ) THEN
117  igetprm = nfiles
118  ELSE IF ( cprmnm .EQ. 'MXMSGL' ) THEN
119  igetprm = mxmsgl
120  ELSE IF ( cprmnm .EQ. 'MXDXTS' ) THEN
121  igetprm = mxdxts
122  ELSE IF ( cprmnm .EQ. 'MAXMSG' ) THEN
123  igetprm = maxmsg
124  ELSE IF ( cprmnm .EQ. 'MAXMEM' ) THEN
125  igetprm = maxmem
126  ELSE IF ( cprmnm .EQ. 'MAXTBA' ) THEN
127  igetprm = maxtba
128  ELSE IF ( cprmnm .EQ. 'MAXTBB' ) THEN
129  igetprm = maxtbb
130  ELSE IF ( cprmnm .EQ. 'MAXTBD' ) THEN
131  igetprm = maxtbd
132  ELSE IF ( cprmnm .EQ. 'MAXJL' ) THEN
133  igetprm = maxjl
134  ELSE IF ( cprmnm .EQ. 'MXCDV' ) THEN
135  igetprm = mxcdv
136  ELSE IF ( cprmnm .EQ. 'MXLCC' ) THEN
137  igetprm = mxlcc
138  ELSE IF ( cprmnm .EQ. 'MXCSB' ) THEN
139  igetprm = mxcsb
140  ELSE IF ( cprmnm .EQ. 'MXMTBB' ) THEN
141  igetprm = mxmtbb
142  ELSE IF ( cprmnm .EQ. 'MXMTBD' ) THEN
143  igetprm = mxmtbd
144  ELSE IF ( cprmnm .EQ. 'MXMTBF' ) THEN
145  igetprm = mxmtbf
146  ELSE IF ( cprmnm .EQ. 'MAXCD' ) THEN
147  igetprm = maxcd
148  ELSE IF ( cprmnm .EQ. 'MXS01V' ) THEN
149  igetprm = mxs01v
150  ELSE IF ( cprmnm .EQ. 'MXBTM' ) THEN
151  igetprm = mxbtm
152  ELSE IF ( cprmnm .EQ. 'MXBTMSE' ) THEN
153  igetprm = mxbtmse
154  ELSE IF ( cprmnm .EQ. 'MXTAMC' ) THEN
155  igetprm = mxtamc
156  ELSE IF ( cprmnm .EQ. 'MXTCO' ) THEN
157  igetprm = mxtco
158  ELSE IF ( cprmnm .EQ. 'MXNRV' ) THEN
159  igetprm = mxnrv
160  ELSE IF ( cprmnm .EQ. 'MXRST' ) THEN
161  igetprm = mxrst
162  ELSE
163  igetprm = -1
164  CALL errwrt('++++++++++++++++++WARNING+++++++++++++++++++')
165  errstr = 'BUFRLIB: IGETPRM - UNKNOWN INPUT PARAMETER '//
166  . cprmnm
167  CALL errwrt(errstr)
168  CALL errwrt('++++++++++++++++++WARNING+++++++++++++++++++')
169  ENDIF
170 
171  RETURN
172  END
This module declares and initializes the MAXMSG variable.
Definition: modv_MAXMSG.F:16
This module declares and initializes the MXMTBB variable.
Definition: modv_MXMTBB.F:16
This module declares and initializes the MXS01V variable.
Definition: modv_MXS01V.F:16
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 MXCDV variable.
Definition: modv_MXCDV.F:16
This module declares and initializes the MXMTBD variable.
Definition: modv_MXMTBD.F:16
This module declares and initializes the MAXJL variable.
Definition: modv_MAXJL.F:16
This module declares and initializes the MXLCC variable.
Definition: modv_MXLCC.F:16
This module declares and initializes the MAXSS variable.
Definition: modv_MAXSS.F:16
This module declares and initializes the MXTAMC variable.
Definition: modv_MXTAMC.F:16
This module declares and initializes the MXMTBF variable.
Definition: modv_MXMTBF.F:16
This module declares and initializes the MXRST variable.
Definition: modv_MXRST.F:16
This module declares and initializes the MXDXTS variable.
Definition: modv_MXDXTS.F:16
INTEGER function igetprm(CPRMNM)
This function returns the current value of a parameter used for allocating one or more internal array...
Definition: igetprm.f:81
This module declares and initializes the MAXMEM variable.
Definition: modv_MAXMEM.F:16
This module declares and initializes the MXMSGL variable.
Definition: modv_MXMSGL.F:16
This module declares and initializes the MXBTMSE variable.
Definition: modv_MXBTMSE.F:16
This module declares and initializes the MXNRV variable.
Definition: modv_MXNRV.F:16
subroutine errwrt(STR)
This subroutine allows the user to specify a custom location for the logging of error and diagnostic ...
Definition: errwrt.f:39
This module declares and initializes the MAXTBB variable.
Definition: modv_MAXTBB.F:16
This module declares and initializes the NFILES variable.
Definition: modv_NFILES.F:16
This module declares and initializes the MAXTBD variable.
Definition: modv_MAXTBD.F:16
This module declares and initializes the MXCSB variable.
Definition: modv_MXCSB.F:16
This module declares and initializes the MAXTBA variable.
Definition: modv_MAXTBA.F:16
This module declares and initializes the MAXCD variable.
Definition: modv_MAXCD.F:16