/[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.87 - (show annotations) (download)
Fri Jun 22 02:03:03 2012 UTC (12 years ago) by gforget
Branch: MAIN
CVS Tags: checkpoint63p, checkpoint63o
Changes since 1.86: +4 -2 lines
- add run-time switch usePROFILES.

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

  ViewVC Help
Powered by ViewVC 1.1.22