/[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.83 - (hide annotations) (download)
Fri Aug 26 19:26:28 2011 UTC (12 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint63g, checkpoint63h, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63b, checkpoint63c
Changes since 1.82: +3 -3 lines
change name of S/R MATRIX_INIT to S/R MATRIX_INIT_VARIA

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

  ViewVC Help
Powered by ViewVC 1.1.22