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

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

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


Revision 1.80 - (hide annotations) (download)
Wed Dec 15 23:06:34 2010 UTC (13 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint63, checkpoint63a
Changes since 1.79: +4 -4 lines
rename S/R GMREDI_INIT to GMREDI_INIT_VARIA

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

  ViewVC Help
Powered by ViewVC 1.1.22