/[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.74 - (hide annotations) (download)
Wed Sep 16 21:36:11 2009 UTC (14 years, 9 months ago) by rpa
Branch: MAIN
CVS Tags: checkpoint61v
Changes since 1.73: +7 -1 lines
Added calls to layers package

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

  ViewVC Help
Powered by ViewVC 1.1.22