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

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.93

  ViewVC Help
Powered by ViewVC 1.1.22