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

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.80

  ViewVC Help
Powered by ViewVC 1.1.22