/[MITgcm]/MITgcm/model/src/packages_init_variables.F
ViewVC logotype

Contents of /MITgcm/model/src/packages_init_variables.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.100 - (show annotations) (download)
Tue Feb 21 00:57:47 2017 UTC (7 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, HEAD
Changes since 1.99: +4 -4 lines
rename S/R EXF_INIT to EXF_INIT_INIT_VARIA ;

1 C $Header: /u/gcmpack/MITgcm/model/src/packages_init_variables.F,v 1.99 2015/12/25 15:19:30 gforget Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6 #ifdef ALLOW_AUTODIFF
7 # include "AUTODIFF_OPTIONS.h"
8 #endif
9 #ifdef ALLOW_CTRL
10 # include "CTRL_OPTIONS.h"
11 #endif
12
13 CBOP
14 C !ROUTINE: PACKAGES_INIT_VARIABLES
15 C !INTERFACE:
16 SUBROUTINE PACKAGES_INIT_VARIABLES( myThid )
17
18 C !DESCRIPTION: \bv
19 C *==========================================================*
20 C | SUBROUTINE PACKAGES_INIT_VARIABLES
21 C | o Does initialisation of package-related variable data
22 C *==========================================================*
23 C \ev
24
25 C !CALLING SEQUENCE:
26 C PACKAGES_INIT_VARIABLES
27 C |
28 C |-- DIAGNOSTICS_INIT_VARIA
29 C |
30 C |-- OFFLINE_INIT_VARIA
31 C |
32 C |-- GAD_INIT_VARIA
33 C |
34 C |-- CD_CODE_INI_VARS
35 C |
36 C |-- PP81_INIT_VARIA
37 C |
38 C |-- KL10_INIT_VARIA
39 C |
40 C |-- MY82_INIT_VARIA
41 C |
42 C |-- GGL90_INIT_VARIA
43 C |
44 C |-- KPP_INIT_VARIA
45 C |
46 C |-- GMREDI_INIT_VARIA
47 C |
48 C |-- BBL_INIT_VARIA
49 C |
50 C |-- DWNSLP_INIT_VARIA
51 C |
52 C |-- EXF_INIT_VARIA
53 C |
54 C |-- BULKF_INIT_VARIA
55 C |
56 C |-- EBM_INI_VARS
57 C |
58 C |-- CHEAPAML_INIT_VARIA
59 C |
60 C |-- FLT_INIT_VARIA
61 C |
62 C |-- PTRACERS_INIT_VARIA
63 C |
64 C |-- LONGSTEP_INIT_VARIA
65 C |
66 C |-- GCHEM_INIT_VARI
67 C |
68 C |-- RBCS_INIT_VARIA
69 C |
70 C |-- MATRIX_INIT_VARIA
71 C |
72 C |-- FRAZIL_INIT_VARIA
73 C |
74 C |-- SEAICE_INIT_VARIA
75 C |
76 C |-- SALT_PLUME_INIT_VARIA
77 C |
78 C |-- SHELFICE_INIT_VARIA
79 C |
80 C |-- STREAMICE_INIT_VARIA
81 C |
82 C |-- ICEFRONT_INIT_VARIA
83 C |
84 C |-- THSICE_INI_VARS
85 C |
86 C |-- LAND_INI_VARS
87 C |
88 C |-- ATM2D_INIT_VARS
89 C |
90 C |-- ATM_PHYS_INIT_VARIA
91 C |
92 C |-- FIZHI_INI_VARS
93 C |
94 C |-- REGRID_INIT_VARIA
95 C |
96 C |-- LAYERS_INIT_VARIA
97 C |
98 C |-- NEST_CHILD_INIT_VARIA
99 C |-- NEST_PARENT_INIT_VARIA
100 C |
101 C |-- CPL_INI_VARS
102 C |
103 C |-- MYPACKAGE_INIT_VARIA
104 C |
105 C |-- SMOOTH_INIT_VARIA
106 C |-- PROFILES_INIT_VARIA
107 C |-- ECCO_INIT_VARIA
108 C |-- CTRL_INIT_VARIABLES
109 C |
110 C |-- OBCS_INIT_VARIABLES
111
112 C !USES:
113 IMPLICIT NONE
114 C === Global variables ===
115 #include "SIZE.h"
116 #include "EEPARAMS.h"
117 #include "PARAMS.h"
118 #ifdef ALLOW_AUTODIFF
119 # include "DYNVARS.h"
120 # include "tamc.h"
121 # include "tamc_keys.h"
122 #endif
123
124 C !INPUT/OUTPUT PARAMETERS:
125 C === Routine arguments ===
126 C myThid :: my Thread Id number
127 INTEGER myThid
128 CEOP
129
130 #ifdef ALLOW_DEBUG
131 IF (debugMode)
132 & CALL DEBUG_ENTER('PACKAGES_INIT_VARIABLES',myThid)
133 #endif /* ALLOW_DEBUG */
134
135 #ifdef ALLOW_DIAGNOSTICS
136 IF ( useDiagnostics ) THEN
137 CALL DIAGNOSTICS_INIT_VARIA( myThid )
138 ENDIF
139 #endif /* ALLOW_DIAGNOSTICS */
140
141 #ifdef ALLOW_OFFLINE
142 C-- Here we call OFFLINE_INIT_VARIA (which calls OFFLINE_FIELDS_LOAD)
143 C before other {PKG}_init_varia, closer to where main pickup-file
144 C are usually read-in (but skipped when using pkg/offline)
145 # ifndef ALLOW_AUTODIFF
146 IF ( useOFFLINE ) THEN
147 # endif
148 CALL OFFLINE_INIT_VARIA( myThid )
149 # ifndef ALLOW_AUTODIFF
150 ENDIF
151 # endif
152 #endif /* ALLOW_OFFLINE */
153
154 #ifdef ALLOW_GENERIC_ADVDIFF
155 IF ( useGAD ) THEN
156 # ifdef ALLOW_DEBUG
157 IF (debugMode) CALL DEBUG_CALL('GAD_INIT_VARIA',myThid)
158 # endif
159 CALL GAD_INIT_VARIA( myThid )
160 ENDIF
161 #endif /* ALLOW_GENERIC_ADVDIFF */
162
163 #ifdef ALLOW_CD_CODE
164 C-- Initialize CD_CODE variables:
165 C- note(jmc): before packaging CD_CODE, was done within ini_fields (=called before),
166 C therefore call CD-ini-vars before others pkg.
167 IF (useCDscheme) THEN
168 # ifdef ALLOW_DEBUG
169 IF (debugMode) CALL DEBUG_CALL('CD_CODE_INI_VARS',myThid)
170 # endif
171 CALL CD_CODE_INI_VARS( myThid )
172 ENDIF
173 #endif /* ALLOW_CD_CODE */
174
175 #ifdef ALLOW_PP81
176 C-- Initialize PP81 vertical mixing scheme.
177 IF (usePP81) THEN
178 # ifdef ALLOW_DEBUG
179 IF (debugMode) CALL DEBUG_CALL('PP81_INIT_VARIA',myThid)
180 # endif
181 CALL PP81_INIT_VARIA( myThid )
182 ENDIF
183 #endif /* ALLOW_PP81 */
184
185 #ifdef ALLOW_KL10
186 C-- Initialize KL10 vertical mixing scheme.
187 IF (useKL10) THEN
188 # ifdef ALLOW_DEBUG
189 IF (debugMode) CALL DEBUG_CALL('KL10_INIT_VARIA',myThid)
190 # endif
191 CALL KL10_INIT_VARIA( myThid )
192 ENDIF
193 #endif /* ALLOW_KL10 */
194
195 #ifdef ALLOW_MY82
196 C-- Initialize MY82 vertical mixing scheme.
197 IF (useMY82) THEN
198 CALL MY82_INIT_VARIA( myThid )
199 ENDIF
200 #endif /* ALLOW_MY82 */
201
202 #ifdef ALLOW_GGL90
203 C-- Initialize GGL90 vertical mixing scheme.
204 IF (useGGL90) THEN
205 #ifdef ALLOW_DEBUG
206 IF (debugMode) CALL DEBUG_CALL('GGL90_INIT_VARIA',myThid)
207 #endif
208 CALL GGL90_INIT_VARIA( myThid )
209 ENDIF
210 #endif /* ALLOW_GGL90 */
211
212 #ifdef ALLOW_KPP
213 C-- Initialize KPP vertical mixing scheme.
214 IF (useKPP) THEN
215 # ifdef ALLOW_DEBUG
216 IF (debugMode) CALL DEBUG_CALL('KPP_INIT_VARIA',myThid)
217 # endif
218 CALL KPP_INIT_VARIA( myThid )
219 ENDIF
220 #endif /* ALLOW_KPP */
221
222 #ifdef ALLOW_GMREDI
223 C-- Initialize GM/Redi parameterization
224 IF (useGMRedi) THEN
225 # ifdef ALLOW_DEBUG
226 IF (debugMode) CALL DEBUG_CALL('GMREDI_INIT_VARIA',myThid)
227 # endif
228 CALL GMREDI_INIT_VARIA( myThid )
229 ENDIF
230 #endif /* ALLOW_GMREDI */
231
232 #ifdef ALLOW_BBL
233 IF ( useBBL ) THEN
234 CALL BBL_INIT_VARIA( myThid )
235 ENDIF
236 #endif /* ALLOW_BBL */
237
238 #ifdef ALLOW_DOWN_SLOPE
239 IF ( useDOWN_SLOPE ) THEN
240 CALL DWNSLP_INIT_VARIA( myThid )
241 ENDIF
242 #endif /* ALLOW_DOWN_SLOPE */
243
244 #ifdef ALLOW_EXF
245 IF (useEXF) THEN
246 # ifdef ALLOW_DEBUG
247 IF (debugMode) CALL DEBUG_CALL('EXF_INIT_VARIA',myThid)
248 # endif
249 CALL EXF_INIT_VARIA( myThid )
250 ENDIF
251 #endif /* ALLOW_EXF */
252
253 #ifdef ALLOW_BULK_FORCE
254 IF (useBulkForce) THEN
255 CALL BULKF_INIT_VARIA( myThid )
256 ENDIF
257 #endif /* ALLOW_BULK_FORCE */
258
259 #ifdef ALLOW_EBM
260 # ifdef ALLOW_AUTODIFF_TAMC
261 CADJ STORE theta = tapelev_init, key = 1
262 # endif
263 IF (useEBM) THEN
264 CALL EBM_INI_VARS( myThid )
265 ENDIF
266 #endif /* ALLOW_EBM */
267
268 #ifdef ALLOW_CHEAPAML
269 IF (useCheapAML) THEN
270 CALL CHEAPAML_INIT_VARIA( myThid )
271 ENDIF
272 #endif /* ALLOW_CHEAPAML */
273
274 #ifdef ALLOW_FLT
275 C-- Initialise float position
276 IF ( useFLT ) THEN
277 CALL FLT_INIT_VARIA( myThid )
278 ENDIF
279 #endif /* ALLOW_FLT */
280
281 #ifdef ALLOW_PTRACERS
282 # ifndef ALLOW_AUTODIFF
283 IF ( usePTRACERS ) THEN
284 # endif
285 # ifdef ALLOW_DEBUG
286 IF (debugMode) CALL DEBUG_CALL('PTRACERS_INIT_VARIA',myThid)
287 # endif
288 CALL PTRACERS_INIT_VARIA( myThid )
289 # ifdef ALLOW_LONGSTEP
290 # ifdef ALLOW_DEBUG
291 IF (debugMode) CALL DEBUG_CALL('LONGSTEP_INIT_VARIA',myThid)
292 # endif
293 CALL LONGSTEP_INIT_VARIA( myThid )
294 # endif /* ALLOW_LONGSTEP */
295 # ifndef ALLOW_AUTODIFF
296 ENDIF
297 # endif
298 #endif /* ALLOW_PTRACERS */
299
300 #ifdef ALLOW_GCHEM
301 IF (useGCHEM) THEN
302 CALL GCHEM_INIT_VARI( myThid )
303 ENDIF
304 #endif /* ALLOW_GCHEM */
305
306 #ifdef ALLOW_RBCS
307 IF ( useRBCS ) THEN
308 CALL RBCS_INIT_VARIA( myThid )
309 ENDIF
310 #endif /* ALLOW_RBCS */
311
312 #ifdef ALLOW_MATRIX
313 IF ( useMATRIX ) THEN
314 # ifdef ALLOW_DEBUG
315 IF (debugMode) CALL DEBUG_CALL('MATRIX_INIT',myThid)
316 # endif
317 CALL MATRIX_INIT_VARIA( myThid )
318 ENDIF
319 #endif /* ALLOW_MATRIX */
320
321 #ifdef ALLOW_FRAZIL
322 IF (useFRAZIL) THEN
323 # ifdef ALLOW_DEBUG
324 IF (debugMode) CALL DEBUG_CALL('FRAZIL_INIT_VARIA',myThid)
325 # endif
326 CALL FRAZIL_INIT_VARIA( myThid)
327 ENDIF
328 #endif /* ALLOW_FRAZIL */
329
330 #ifdef ALLOW_SEAICE
331 C-- Initialize SEAICE model.
332 IF (useSEAICE) THEN
333 # ifdef ALLOW_DEBUG
334 IF (debugMode) CALL DEBUG_CALL('SEAICE_INIT_VARIA',myThid)
335 # endif
336 CALL SEAICE_INIT_VARIA( myThid )
337 ENDIF
338 #endif /* ALLOW_SEAICE */
339
340 #ifdef ALLOW_SALT_PLUME
341 IF ( useSALT_PLUME ) THEN
342 CALL SALT_PLUME_INIT_VARIA( myThid )
343 ENDIF
344 #endif /* ALLOW_SALT_PLUME */
345
346 #ifdef ALLOW_SHELFICE
347 IF (useShelfIce) THEN
348 # ifdef ALLOW_DEBUG
349 IF (debugMode) CALL DEBUG_CALL('SHELFICE_INIT_VARIA',myThid)
350 # endif
351 CALL SHELFICE_INIT_VARIA( myThid )
352 ENDIF
353 #endif /* ALLOW_SHELFICE */
354
355 #ifdef ALLOW_STREAMICE
356 IF (useStreamIce) THEN
357 # ifdef ALLOW_DEBUG
358 IF (debugMode) CALL DEBUG_CALL('STREAMICE_INIT_VARIA',myThid)
359 # endif
360 CALL STREAMICE_INIT_VARIA( myThid )
361 ENDIF
362 #endif /* ALLOW_STREAMICE */
363
364 #ifdef ALLOW_ICEFRONT
365 IF (useICEFRONT) THEN
366 # ifdef ALLOW_DEBUG
367 IF (debugMode) CALL DEBUG_CALL('ICEFRONT_INIT_VARIA',myThid)
368 # endif
369 CALL ICEFRONT_INIT_VARIA( myThid )
370 ENDIF
371 #endif /* ALLOW_ICEFRONT */
372
373 #ifdef ALLOW_THSICE
374 IF (useThSIce) THEN
375 # ifdef ALLOW_DEBUG
376 IF (debugMode) CALL DEBUG_CALL('THSICE_INI_VARS',myThid)
377 # endif
378 CALL THSICE_INI_VARS( myThid)
379 ENDIF
380 #endif /* ALLOW_THSICE */
381
382 #ifdef ALLOW_LAND
383 IF ( useLAND ) THEN
384 # ifdef ALLOW_DEBUG
385 IF (debugMode) CALL DEBUG_CALL('LAND_INI_VARS',myThid)
386 # endif
387 CALL LAND_INI_VARS( myThid )
388 ENDIF
389 #endif /* ALLOW_LAND */
390
391 #ifdef ALLOW_ATM2D
392 IF (useAtm2d) THEN
393 # ifdef ALLOW_DEBUG
394 IF (debugMode) CALL DEBUG_CALL('ATM2D_INIT_VARS',myThid)
395 # endif
396 CALL ATM2D_INIT_VARS( myThid )
397 ENDIF
398 #endif /* ALLOW_ATM2D */
399
400 #ifdef ALLOW_ATM_PHYS
401 IF (useAtm_Phys) THEN
402 # ifdef ALLOW_DEBUG
403 IF (debugMode) CALL DEBUG_CALL('ATM_PHYS_INIT_VARIA',myThid)
404 # endif
405 CALL ATM_PHYS_INIT_VARIA( myThid )
406 ENDIF
407 #endif /* ALLOW_ATM_PHYS */
408
409 #ifdef ALLOW_FIZHI
410 C Initialize FIZHI state variables
411 IF (useFIZHI) THEN
412 # ifdef ALLOW_DEBUG
413 IF (debugMode) CALL DEBUG_CALL('FIZHI_INIT_VARS',myThid)
414 # endif
415 CALL FIZHI_INIT_VARS( myThid )
416 ENDIF
417 #endif /* ALLOW_FIZHI */
418
419 #ifdef ALLOW_REGRID
420 IF ( useREGRID ) THEN
421 CALL REGRID_INIT_VARIA( myThid )
422 ENDIF
423 #endif /* ALLOW_REGRID */
424
425 #ifdef ALLOW_LAYERS
426 IF ( useLayers ) THEN
427 CALL LAYERS_INIT_VARIA( myThid )
428 ENDIF
429 #endif /* ALLOW_LAYERS */
430
431 #ifdef ALLOW_NEST_CHILD
432 C-- Initialize NEST in CHILD configuration
433 IF (useNEST_CHILD) THEN
434 #ifdef ALLOW_DEBUG
435 IF (debugMode)
436 & CALL DEBUG_CALL('NEST_CHILD_INIT_VARIA',myThid)
437 #endif
438 CALL NEST_CHILD_INIT_VARIA( myThid )
439 ENDIF
440 #endif /* ALLOW_NEST_CHILD */
441
442 #ifdef ALLOW_NEST_PARENT
443 C-- Initialize NEST in PARENT configuration
444 IF (useNEST_PARENT) THEN
445 #ifdef ALLOW_DEBUG
446 IF (debugMode)
447 & CALL DEBUG_CALL('NEST_PARENT_INIT',myThid)
448 #endif
449 CALL NEST_PARENT_INIT_VARIA( myThid )
450 ENDIF
451 #endif /* ALLOW_NEST_PARENT */
452
453 #ifdef COMPONENT_MODULE
454 IF (useCoupler) THEN
455 # ifdef ALLOW_DEBUG
456 IF (debugMode) CALL DEBUG_CALL('CPL_INI_VARS',myThid)
457 # endif
458 CALL CPL_INI_VARS( myThid )
459 ENDIF
460 #endif /* COMPONENT_MODULE */
461
462 #ifdef ALLOW_MYPACKAGE
463 IF ( useMYPACKAGE ) THEN
464 CALL MYPACKAGE_INIT_VARIA( myThid )
465 ENDIF
466 #endif /* ALLOW_MYPACKAGE */
467
468 #ifdef ALLOW_AUTODIFF_TAMC
469 CADJ STORE theta = tapelev_init, key = 1
470 CADJ STORE salt = tapelev_init, key = 1
471 # ifdef ALLOW_DIFFKR_CONTROL
472 CADJ STORE diffkr = tapelev_init, key = 1
473 # endif
474 #endif /* ALLOW_AUTODIFF_TAMC */
475
476 C-- Initialise pkg/smooth
477 #ifdef ALLOW_SMOOTH
478 IF (useSMOOTH) THEN
479 CALL SMOOTH_INIT_VARIA(myThid)
480 ENDIF
481 #endif /* ALLOW_SMOOTH */
482
483 C-- Initialise pkg/profiles
484 #ifdef ALLOW_PROFILES
485 IF (usePROFILES) THEN
486 CALL PROFILES_INIT_VARIA( myThid )
487 ENDIF
488 #endif /* ALLOW_PROFILES */
489
490 C-- Initialise pkg/ecco (and related pkgs components)
491 #ifdef ALLOW_ECCO
492 IF ( useECCO ) CALL ECCO_INIT_VARIA( myThid )
493 #endif
494
495 C-- Initialise pkg/ctl (and related pkgs components)
496 #ifdef ALLOW_CTRL
497 IF (useCTRL) THEN
498 # ifdef ALLOW_DEBUG
499 IF (debugMode) CALL DEBUG_CALL('CTRL_INIT_VARIABLES',myThid)
500 # endif
501 CALL CTRL_INIT_VARIABLES ( myThid )
502 ENDIF
503 #endif /* ALLOW_CTRL */
504
505 #ifdef ALLOW_OBCS
506 C-- put this call in last position (needs to come after few {PKG}_init_varia)
507 IF (useOBCS) THEN
508 # ifdef ALLOW_DEBUG
509 IF (debugMode) CALL DEBUG_CALL('OBCS_INIT_VARIABLES',myThid)
510 # endif
511 CALL OBCS_INIT_VARIABLES( myThid )
512 ENDIF
513 #endif /* ALLOW_OBCS */
514
515 #ifdef ALLOW_DEBUG
516 IF (debugMode)
517 & CALL DEBUG_LEAVE('PACKAGES_INIT_VARIABLES',myThid)
518 #endif /* ALLOW_DEBUG */
519
520 RETURN
521 END

  ViewVC Help
Powered by ViewVC 1.1.22