1 |
C $Header: /u/gcmpack/MITgcm/model/src/packages_readparms.F,v 1.76 2014/05/28 22:01:57 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "PACKAGES_CONFIG.h" |
5 |
#include "CPP_OPTIONS.h" |
6 |
|
7 |
CStartOfInterface |
8 |
CBOP |
9 |
C !ROUTINE: PACKAGES_READPARMS |
10 |
C !INTERFACE: |
11 |
SUBROUTINE PACKAGES_READPARMS(myThid) |
12 |
|
13 |
C !DESCRIPTION: \bv |
14 |
C *==========================================================* |
15 |
C | SUBROUTINE PACKAGES_READPARMS |
16 |
C | o Read runtime package configuration parameters |
17 |
C *==========================================================* |
18 |
C | Packages can have internal runtime configuration |
19 |
C | parameters. A package provides a routine |
20 |
C | ${PKGNAME}_READ_PARMS to read these parameters. In |
21 |
C | general this routine should read parameters from a file |
22 |
C | called data.${pkgname}. |
23 |
C | This routine (S/R PACKAGES_READPARMS) calls per-package |
24 |
C | parameter reading routines. |
25 |
C *==========================================================* |
26 |
C \ev |
27 |
|
28 |
C !CALLING SEQUENCE: |
29 |
C PACKAGES_READPARMS |
30 |
C | |
31 |
C |-- MNC_READPARMS |
32 |
C | |
33 |
C |-- CAL_READPARMS |
34 |
C | |
35 |
C |-- EXF_READPARMS |
36 |
C | |
37 |
C |-- OBCS_READPARMS |
38 |
C | |
39 |
C |-- SHAP_FILT_READPARMS |
40 |
C | |
41 |
C |-- ZONAL_FILT_READPARMS |
42 |
C | |
43 |
C |-- OPPS_READPARMS |
44 |
C | |
45 |
C |-- PP81_READPARMS |
46 |
C | |
47 |
C |-- KL10_READPARMS |
48 |
C | |
49 |
C |-- MY82_READPARMS |
50 |
C | |
51 |
C |-- GGL90_READPARMS |
52 |
C | |
53 |
C |-- KPP_READPARMS |
54 |
C | |
55 |
C |-- GMREDI_READPARMS |
56 |
C | |
57 |
C |-- BBL_READPARMS |
58 |
C | |
59 |
C |-- DWNSLP_READPARMS |
60 |
C | |
61 |
C |-- BULKF_READPARMS |
62 |
C | |
63 |
C |-- EBM_READPARMS |
64 |
C | |
65 |
C |-- CHEAPAML_READPARMS |
66 |
C | |
67 |
C |-- FLT_READPARMS |
68 |
C | |
69 |
C |-- LONGSTEP_READPARMS |
70 |
C |-- PTRACERS_READPARMS |
71 |
C | |
72 |
C |-- GCHEM_READPARMS |
73 |
C | |
74 |
C |-- RBCS_READPARMS |
75 |
C | |
76 |
C |-- OFFLINE_READPARMS |
77 |
C | |
78 |
C |-- MATRIX_READPARMS |
79 |
C | |
80 |
C |-- SEAICE_READPARMS |
81 |
C | |
82 |
C |-- SALT_PLUME_READPARMS |
83 |
C | |
84 |
C |-- SHELFICE_READPARMS |
85 |
C | |
86 |
C |-- STREAMICE_READPARMS |
87 |
C | |
88 |
C |-- ICEFRONT_READPARMS |
89 |
C | |
90 |
C |-- THSICE_READPARMS |
91 |
C | |
92 |
C |-- LAND_READPARMS |
93 |
C | |
94 |
C |-- AUTODIFF_READPARMS |
95 |
C | |
96 |
C |-- OPTIM_READPARMS |
97 |
C | |
98 |
C |-- CTRL_READPARMS |
99 |
C | |
100 |
C |-- COST_READPARMS |
101 |
C | |
102 |
C |-- GRDCHK_READPARMS |
103 |
C | |
104 |
C |-- SMOOTH_READPARMS |
105 |
C | |
106 |
C |-- ECCO_READPARMS |
107 |
C | |
108 |
C |-- PROFILES_READPARMS |
109 |
C | |
110 |
C |-- SBO_READPARMS |
111 |
C | |
112 |
C |-- ATM_PHYS_READPARMS |
113 |
C | |
114 |
C |-- FIZHI_READPARMS |
115 |
C | |
116 |
C |-- DIAGNOSTICS_READPARMS |
117 |
C | |
118 |
C |-- REGRID_READPARMS |
119 |
C | |
120 |
C |-- LAYERS_READPARMS |
121 |
C | |
122 |
C |-- NEST_CHILD_READPARMS |
123 |
C |-- NEST_PARENT_READPARMS |
124 |
C | |
125 |
C |-- CPL_READPARMS |
126 |
C | |
127 |
C |-- OASIS_READPARMS |
128 |
C | |
129 |
C |-- RUNCLOCK_READPARMS |
130 |
C | |
131 |
C |-- MYPACKAGE_READPARMS |
132 |
|
133 |
C !USES: |
134 |
IMPLICIT NONE |
135 |
C == Global variables == |
136 |
#include "SIZE.h" |
137 |
#include "EEPARAMS.h" |
138 |
#include "PARAMS.h" |
139 |
|
140 |
C == Routine arguments == |
141 |
INTEGER myThid |
142 |
CEOP |
143 |
|
144 |
#ifdef ALLOW_MNC |
145 |
C-- if useMNC=T, read run-time flags for MNC; otherwise just return |
146 |
CALL MNC_READPARMS( myThid ) |
147 |
#endif |
148 |
|
149 |
#ifdef ALLOW_CAL |
150 |
C-- if useCAL=T, set the calendar package parameters. |
151 |
C otherwise, just set cal_setStatus=-1 and return |
152 |
CALL CAL_READPARMS( myThid ) |
153 |
#endif |
154 |
|
155 |
#ifdef ALLOW_EXF |
156 |
C-- if useEXF=T, set EXF parameters; otherwise just return |
157 |
CALL EXF_READPARMS ( myThid ) |
158 |
#endif |
159 |
|
160 |
#ifdef ALLOW_OBCS |
161 |
C-- if useOBCS=T, set OBCS parameters; otherwise just return |
162 |
CALL OBCS_READPARMS( myThid ) |
163 |
#endif |
164 |
|
165 |
#ifdef ALLOW_SHAP_FILT |
166 |
C-- if useSHAP_FILT=T, set Shapiro-Filter parameters; otherwise just return |
167 |
CALL SHAP_FILT_READPARMS( myThid ) |
168 |
#endif |
169 |
|
170 |
#ifdef ALLOW_ZONAL_FILT |
171 |
C-- if useZONAL_FILT=T, set Zonal-Filter parameters; otherwise just return |
172 |
CALL ZONAL_FILT_READPARMS( myThid ) |
173 |
#endif |
174 |
|
175 |
#ifdef ALLOW_OPPS |
176 |
C-- if useOPPS=T, set OPPS parameters; otherwise just return |
177 |
CALL OPPS_READPARMS( myThid ) |
178 |
#endif |
179 |
|
180 |
#ifdef ALLOW_PP81 |
181 |
C-- if usePP81=T, set PP81 parameters; otherwise just return |
182 |
CALL PP81_READPARMS( myThid ) |
183 |
#endif |
184 |
|
185 |
#ifdef ALLOW_KL10 |
186 |
C-- if useKL10=T, set KL10 parameters; otherwise just return |
187 |
CALL KL10_READPARMS( myThid ) |
188 |
#endif |
189 |
|
190 |
#ifdef ALLOW_MY82 |
191 |
C-- if useMY82=T, set MY82 parameters; otherwise just return |
192 |
CALL MY82_READPARMS( myThid ) |
193 |
#endif |
194 |
|
195 |
#ifdef ALLOW_GGL90 |
196 |
C-- if useGGL90=T, set GGL90 parameters; otherwise just return |
197 |
CALL GGL90_READPARMS( myThid ) |
198 |
#endif |
199 |
|
200 |
#ifdef ALLOW_KPP |
201 |
C-- if useKPP=T, set KPP parameters; otherwise just return |
202 |
CALL KPP_READPARMS( myThid ) |
203 |
#endif |
204 |
|
205 |
#ifdef ALLOW_GMREDI |
206 |
C-- if useGMRedi=T, set GM/Redi parameters; otherwise just return |
207 |
CALL GMREDI_READPARMS( myThid ) |
208 |
#endif |
209 |
|
210 |
#ifdef ALLOW_BBL |
211 |
C-- if useBBL=T, set BBL parameters; otherwise just return |
212 |
CALL BBL_READPARMS( myThid ) |
213 |
#endif |
214 |
|
215 |
#ifdef ALLOW_DOWN_SLOPE |
216 |
C-- if useDOWN_SLOPE=T, set Down-Slope flow parameters; otherwise just return |
217 |
CALL DWNSLP_READPARMS( myThid ) |
218 |
#endif |
219 |
|
220 |
#ifdef ALLOW_BULK_FORCE |
221 |
C-- if useBulkForce=T, set BULKF parameters; otherwise just return |
222 |
CALL BULKF_READPARMS( myThid ) |
223 |
#endif |
224 |
|
225 |
#ifdef ALLOW_EBM |
226 |
C-- if useEBM=T, set EBM parameters; otherwise just return |
227 |
CALL EBM_READPARMS( myThid ) |
228 |
#endif |
229 |
|
230 |
#ifdef ALLOW_CHEAPAML |
231 |
C-- if useCheapAML=T, set CheapAML parameters; otherwise just return |
232 |
CALL CHEAPAML_READPARMS( myThid ) |
233 |
#endif |
234 |
|
235 |
#ifdef ALLOW_FLT |
236 |
C-- if useFLT=T, set Floats (FLT) parameters; otherwise just return |
237 |
CALL FLT_READPARMS( myThid ) |
238 |
#endif /* ALLOW_FLT */ |
239 |
|
240 |
#ifdef ALLOW_LONGSTEP |
241 |
C-- if usePTRACERS=T, set Long-Step parameters; otherwise just return |
242 |
C- note : need to call LONGSTEP_READPARMS before PTRACERS_READPARMS |
243 |
CALL LONGSTEP_READPARMS( myThid ) |
244 |
#endif |
245 |
#ifdef ALLOW_PTRACERS |
246 |
C-- if usePTRACERS=T, set Passive-Traces parameters; otherwise just return |
247 |
CALL PTRACERS_READPARMS( myThid ) |
248 |
#endif |
249 |
|
250 |
#ifdef ALLOW_GCHEM |
251 |
C-- if useGCHEM=T, set GCHEM parameters; otherwise just return |
252 |
CALL GCHEM_READPARMS( myThid ) |
253 |
#endif |
254 |
|
255 |
#ifdef ALLOW_RBCS |
256 |
C-- if useRBCS=T, set RBCS parameters; otherwise just return |
257 |
CALL RBCS_READPARMS( myThid ) |
258 |
#endif |
259 |
|
260 |
#ifdef ALLOW_OFFLINE |
261 |
C-- if useOffLine=T, set OFFLINE parameters; otherwise just return |
262 |
CALL OFFLINE_READPARMS( myThid ) |
263 |
#endif |
264 |
|
265 |
#ifdef ALLOW_MATRIX |
266 |
C-- if useMATRIX=T, set MATRIX parameters; otherwise just return |
267 |
CALL MATRIX_READPARMS ( myThid ) |
268 |
#endif |
269 |
|
270 |
#ifdef ALLOW_SEAICE |
271 |
C-- if useSEAICE=T, set SEAICE parameters; otherwise just return |
272 |
CALL SEAICE_READPARMS( myThid ) |
273 |
#endif |
274 |
|
275 |
#ifdef ALLOW_SALT_PLUME |
276 |
C-- if useSALT_PLUME=T, set SALT_PLUME parameters; otherwise just return |
277 |
CALL SALT_PLUME_READPARMS( myThid ) |
278 |
#endif |
279 |
|
280 |
#ifdef ALLOW_SHELFICE |
281 |
C-- if useShelfIce=T, set SHELFICE parameters; otherwise just return |
282 |
CALL SHELFICE_READPARMS( myThid ) |
283 |
#endif |
284 |
|
285 |
#ifdef ALLOW_STREAMICE |
286 |
C-- if useStreamIce=T, set STREAMICE parameters; otherwise just return |
287 |
CALL STREAMICE_READPARMS( myThid ) |
288 |
#endif |
289 |
|
290 |
#ifdef ALLOW_ICEFRONT |
291 |
C-- if useICEFRONT=T, set ICEFRONT parameters; otherwise just return |
292 |
CALL ICEFRONT_READPARMS( myThid ) |
293 |
#endif |
294 |
|
295 |
#ifdef ALLOW_THSICE |
296 |
C-- if useThSIce=T, set Therm.Sea-Ice parameters; otherwise just return |
297 |
CALL THSICE_READPARMS( myThid ) |
298 |
#endif |
299 |
|
300 |
#ifdef ALLOW_LAND |
301 |
C-- if useLand=T, set LAND pkg parameters; otherwise just return |
302 |
CALL LAND_READPARMS( myThid ) |
303 |
#endif |
304 |
|
305 |
#ifdef ALLOW_AUTODIFF |
306 |
C-- Initialise autodiff parameters |
307 |
CALL AUTODIFF_READPARMS( myThid ) |
308 |
#endif |
309 |
|
310 |
#ifdef ALLOW_CTRL |
311 |
C-- Initialise the optim. parameters. |
312 |
CALL OPTIM_READPARMS( myThid ) |
313 |
C-- Initialise the control parameters |
314 |
CALL CTRL_READPARMS( myThid ) |
315 |
#endif |
316 |
|
317 |
#ifdef ALLOW_COST |
318 |
C-- Initialise the cost parameters |
319 |
CALL COST_READPARMS( myThid ) |
320 |
#endif |
321 |
|
322 |
#ifdef ALLOW_GRDCHK |
323 |
C-- if useGrdChk=T, set gradient-check parameters; otherwise just return |
324 |
CALL GRDCHK_READPARMS( myThid ) |
325 |
#endif |
326 |
|
327 |
#ifdef ALLOW_SMOOTH |
328 |
C-- if useSMOOTH=T, set SMOOTH parameters; otherwise just return |
329 |
CALL SMOOTH_READPARMS ( myThid ) |
330 |
#endif |
331 |
|
332 |
#ifdef ALLOW_ECCO |
333 |
c-- Initialize ECCO package parameters |
334 |
CALL ECCO_READPARMS ( myThid ) |
335 |
#endif |
336 |
|
337 |
#ifdef ALLOW_PROFILES |
338 |
C-- if usePROFILES=T, set PROFILES parameters; otherwise just return |
339 |
CALL PROFILES_READPARMS ( myThid ) |
340 |
#endif |
341 |
|
342 |
#ifdef ALLOW_SBO |
343 |
C-- if useSBO=T, set SBO parameters; otherwise just return |
344 |
CALL SBO_READPARMS( myThid ) |
345 |
#endif |
346 |
|
347 |
#ifdef ALLOW_ATM_PHYS |
348 |
C-- if useAtm_Phys=T, set Atm_Phys parameters; otherwise just return |
349 |
CALL ATM_PHYS_READPARMS( myThid ) |
350 |
#endif |
351 |
|
352 |
#ifdef ALLOW_FIZHI |
353 |
C-- if useFizhi=T, set fizhi parameters; otherwise just return |
354 |
CALL FIZHI_READPARMS( myThid ) |
355 |
#endif /* ALLOW_FIZHI */ |
356 |
|
357 |
#ifdef ALLOW_DIAGNOSTICS |
358 |
C-- if useDiagnostics=T, set diagnostics choices |
359 |
C otherwise, just set pkgStatus=-1 and return |
360 |
CALL DIAGNOSTICS_READPARMS( myThid ) |
361 |
#endif /* ALLOW_DIAGNOSTICS */ |
362 |
|
363 |
#ifdef ALLOW_REGRID |
364 |
C-- if useREGRID=T, set REGRID parameters; otherwise just return |
365 |
CALL REGRID_READPARMS( myThid ) |
366 |
#endif /* ALLOW_REGRID */ |
367 |
|
368 |
#ifdef ALLOW_LAYERS |
369 |
C-- if useLayers=T, set layers parameters; otherwise just return |
370 |
CALL LAYERS_READPARMS( myThid ) |
371 |
#endif /* ALLOW_LAYERS */ |
372 |
|
373 |
#ifdef ALLOW_NEST_CHILD |
374 |
C-- Initialize nest(ing) package parameters x CHILD |
375 |
IF (useNEST_CHILD) CALL NEST_CHILD_READPARMS ( myThid ) |
376 |
#endif /* ALLOW_NEST_CHILD */ |
377 |
C |
378 |
#ifdef ALLOW_NEST_PARENT |
379 |
C-- Initialize nest(ing) package parameters x PARENT |
380 |
IF (useNEST_PARENT) CALL NEST_PARENT_READPARMS ( myThid ) |
381 |
#endif /* ALLOW_NEST_PARENT */ |
382 |
|
383 |
#ifdef COMPONENT_MODULE |
384 |
C-- set Coupling parameters |
385 |
IF ( useCoupler ) CALL CPL_READPARMS( myThid ) |
386 |
#endif /* COMPONENT_MODULE */ |
387 |
|
388 |
#ifdef ALLOW_OASIS |
389 |
IF (useOASIS) CALL OASIS_READPARMS ( myThid ) |
390 |
#endif |
391 |
|
392 |
#ifdef ALLOW_RUNCLOCK |
393 |
C-- if useRunClock=T, set RUNCLOCK parameters; otherwise just return |
394 |
CALL RUNCLOCK_READPARMS( myThid ) |
395 |
#endif |
396 |
|
397 |
#ifdef ALLOW_MYPACKAGE |
398 |
C-- if useMYPACKAGE=T, set mypackage parameters; otherwise just return |
399 |
CALL MYPACKAGE_READPARMS( myThid ) |
400 |
#endif |
401 |
|
402 |
RETURN |
403 |
END |