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

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

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

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

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.88

  ViewVC Help
Powered by ViewVC 1.1.22