/[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.68 - (hide annotations) (download)
Sun Aug 17 02:07:17 2008 UTC (15 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint61c
Changes since 1.67: +149 -106 lines
new pkg "down_slope" (+ fix some debug calls)

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

  ViewVC Help
Powered by ViewVC 1.1.22