/[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.69 - (hide annotations) (download)
Wed Sep 10 09:18:57 2008 UTC (15 years, 9 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint61d
Changes since 1.68: +12 -1 lines
 - separate initialisation of "fixed" and "variable" variables

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

  ViewVC Help
Powered by ViewVC 1.1.22