Back to home page

MITgcm

 
 

    


File indexing completed on 2023-11-05 05:09:58 UTC

view on githubraw file Latest commit 65754df4 on 2023-11-04 17:55:24 UTC
6d54cf9ca1 Ed H*0001 #include "PACKAGES_CONFIG.h"
2b6828d138 Alis*0002 #include "CPP_OPTIONS.h"
517dbdc414 Jean*0003 #ifdef ALLOW_AUTODIFF
                0004 # include "AUTODIFF_OPTIONS.h"
                0005 #endif
                0006 #ifdef ALLOW_CTRL
                0007 # include "CTRL_OPTIONS.h"
                0008 #endif
7448700841 Mart*0009 #ifdef ALLOW_ECCO
                0010 # include "ECCO_OPTIONS.h"
                0011 #endif
b4daa24319 Shre*0012 #ifdef ALLOW_TAPENADE
                0013 # ifdef ALLOW_GMREDI
                0014 #  include "GMREDI_OPTIONS.h"
                0015 # endif
                0016 #endif /* ALLOW_TAPENADE */
2b6828d138 Alis*0017 
9366854e02 Chri*0018 CBOP
                0019 C     !ROUTINE: PACKAGES_INIT_VARIABLES
                0020 C     !INTERFACE:
fb481a83c2 Alis*0021       SUBROUTINE PACKAGES_INIT_VARIABLES( myThid )
2b6828d138 Alis*0022 
9366854e02 Chri*0023 C     !DESCRIPTION: \bv
                0024 C     *==========================================================*
e33db7ef40 Jean*0025 C     | SUBROUTINE PACKAGES_INIT_VARIABLES
                0026 C     | o Does initialisation of package-related variable data
9366854e02 Chri*0027 C     *==========================================================*
                0028 C     \ev
                0029 
                0030 C     !CALLING SEQUENCE:
                0031 C     PACKAGES_INIT_VARIABLES
                0032 C       |
bf3fb08440 Jean*0033 C       |-- DIAGNOSTICS_INIT_VARIA
                0034 C       |
4997f8d6b8 Jean*0035 C       |-- OFFLINE_INIT_VARIA
                0036 C       |
5593e3ac8c Jean*0037 C       |-- GAD_INIT_VARIA
9da3c4e8e8 Jean*0038 C       |
e412d1f16c Jean*0039 C       |-- CD_CODE_INI_VARS
                0040 C       |
659f2b2337 Jean*0041 C       |-- PP81_INIT_VARIA
9366854e02 Chri*0042 C       |
d8d1486ca1 Jean*0043 C       |-- KL10_INIT_VARIA
                0044 C       |
659f2b2337 Jean*0045 C       |-- MY82_INIT_VARIA
5b1a890519 Jean*0046 C       |
659f2b2337 Jean*0047 C       |-- GGL90_INIT_VARIA
15338fa568 Dimi*0048 C       |
5a9f83110e Jean*0049 C       |-- KPP_INIT_VARIA
9366854e02 Chri*0050 C       |
659f2b2337 Jean*0051 C       |-- GMREDI_INIT_VARIA
e864122ae8 Mart*0052 C       |
659f2b2337 Jean*0053 C       |-- BBL_INIT_VARIA
e864122ae8 Mart*0054 C       |
659f2b2337 Jean*0055 C       |-- DWNSLP_INIT_VARIA
69a7b27187 Mart*0056 C       |
473f3aa7d4 Jean*0057 C       |-- EXF_INIT_VARIA
e0b3e1bdd8 Dimi*0058 C       |
659f2b2337 Jean*0059 C       |-- BULKF_INIT_VARIA
e33db7ef40 Jean*0060 C       |
659f2b2337 Jean*0061 C       |-- EBM_INI_VARS
2db28c9ae9 Mart*0062 C       |
659f2b2337 Jean*0063 C       |-- CHEAPAML_INIT_VARIA
5da8ce63fa Dimi*0064 C       |
659f2b2337 Jean*0065 C       |-- FLT_INIT_VARIA
5593e3ac8c Jean*0066 C       |
659f2b2337 Jean*0067 C       |-- PTRACERS_INIT_VARIA
                0068 C       |
                0069 C       |-- LONGSTEP_INIT_VARIA
                0070 C       |
bf3fb08440 Jean*0071 C       |-- GCHEM_INIT_VARI
                0072 C       |
659f2b2337 Jean*0073 C       |-- RBCS_INIT_VARIA
d410a4724b Jean*0074 C       |
659f2b2337 Jean*0075 C       |-- MATRIX_INIT_VARIA
5593e3ac8c Jean*0076 C       |
148dd84005 jm-c 0077 C       |-- STREAMICE_INIT_VARIA
9366854e02 Chri*0078 C       |
148dd84005 jm-c 0079 C       |-- SHELFICE_INIT_VARIA
cee16b76ae Dimi*0080 C       |
148dd84005 jm-c 0081 C       |-- ICEFRONT_INIT_VARIA
bf3fb08440 Jean*0082 C       |
148dd84005 jm-c 0083 C       |-- FRAZIL_INIT_VARIA
bf3fb08440 Jean*0084 C       |
148dd84005 jm-c 0085 C       |-- SEAICE_INIT_VARIA
93f4e26372 Jean*0086 C       |
148dd84005 jm-c 0087 C       |-- SALT_PLUME_INIT_VARIA
cee16b76ae Dimi*0088 C       |
10e4bbdd7f Jean*0089 C       |-- THSICE_INI_VARS
c1b6df074d Jean*0090 C       |
659f2b2337 Jean*0091 C       |-- LAND_INI_VARS
39cebd8084 Ed H*0092 C       |
4e28c912a1 Jeff*0093 C       |-- ATM2D_INIT_VARS
                0094 C       |
5593e3ac8c Jean*0095 C       |-- ATM_PHYS_INIT_VARIA
                0096 C       |
bf3fb08440 Jean*0097 C       |-- FIZHI_INI_VARS
                0098 C       |
                0099 C       |-- REGRID_INIT_VARIA
                0100 C       |
dfc9bc933c Ryan*0101 C       |-- LAYERS_INIT_VARIA
                0102 C       |
659f2b2337 Jean*0103 C       |-- NEST_CHILD_INIT_VARIA
                0104 C       |-- NEST_PARENT_INIT_VARIA
86f14fa6df Jean*0105 C       |
6591b3fcc3 Jean*0106 C       |-- NEST2W_INIT_VARIA
                0107 C       |
659f2b2337 Jean*0108 C       |-- CPL_INI_VARS
5b1a890519 Jean*0109 C       |
                0110 C       |-- MYPACKAGE_INIT_VARIA
793e174778 Jean*0111 C       |
72c872192a Gael*0112 C       |-- SMOOTH_INIT_VARIA
                0113 C       |-- PROFILES_INIT_VARIA
                0114 C       |-- ECCO_INIT_VARIA
659f2b2337 Jean*0115 C       |-- CTRL_INIT_VARIABLES
                0116 C       |
793e174778 Jean*0117 C       |-- OBCS_INIT_VARIABLES
9366854e02 Chri*0118 
                0119 C     !USES:
                0120       IMPLICIT NONE
2b6828d138 Alis*0121 C     === Global variables ===
                0122 #include "SIZE.h"
                0123 #include "EEPARAMS.h"
                0124 #include "PARAMS.h"
517dbdc414 Jean*0125 #ifdef ALLOW_AUTODIFF
b08554040b Patr*0126 # include "DYNVARS.h"
c69ccc91fb antn*0127 #endif /* ALLOW_AUTODIFF */
2b6828d138 Alis*0128 
b4daa24319 Shre*0129 #ifdef ALLOW_TAPENADE
                0130 # ifdef ALLOW_GMREDI
                0131 #  include "GMREDI.h"
                0132 # endif
                0133 # ifdef ALLOW_CTRL
                0134 #  include "CTRL_SIZE.h"
4d72283393 Mart*0135 #  include "CTRL.h"
b4daa24319 Shre*0136 #  include "CTRL_GENARR.h"
edcd27be69 Mart*0137 #  include "CTRL_DUMMY.h"
b4daa24319 Shre*0138 # endif
                0139 # ifdef ALLOW_PTRACERS
                0140 #  include "PTRACERS_SIZE.h"
                0141 #  include "PTRACERS_FIELDS.h"
                0142 # endif
                0143 # ifdef ALLOW_SHELFICE
                0144 #  include "SHELFICE.h"
                0145 # endif
                0146 # ifdef ALLOW_STREAMICE
                0147 #  include "STREAMICE.h"
                0148 # endif
                0149 # ifdef ALLOW_SEAICE
                0150 #  include "SEAICE_SIZE.h"
                0151 #  include "SEAICE.h"
                0152 # endif
                0153 #endif /* ALLOW_TAPENADE */
                0154 
9366854e02 Chri*0155 C     !INPUT/OUTPUT PARAMETERS:
793e174778 Jean*0156 C     myThid  :: my Thread Id number
2b6828d138 Alis*0157       INTEGER myThid
9366854e02 Chri*0158 CEOP
2b6828d138 Alis*0159 
abb214f17f Alis*0160 #ifdef ALLOW_DEBUG
e33db7ef40 Jean*0161       IF (debugMode)
9e6ee95b0d Ed H*0162      &     CALL DEBUG_ENTER('PACKAGES_INIT_VARIABLES',myThid)
5b1a890519 Jean*0163 #endif /* ALLOW_DEBUG */
abb214f17f Alis*0164 
e28c7077ef Andr*0165 #ifdef ALLOW_DIAGNOSTICS
                0166       IF ( useDiagnostics ) THEN
                0167         CALL DIAGNOSTICS_INIT_VARIA( myThid )
                0168       ENDIF
5b1a890519 Jean*0169 #endif /* ALLOW_DIAGNOSTICS */
e28c7077ef Andr*0170 
4997f8d6b8 Jean*0171 #ifdef ALLOW_OFFLINE
                0172 C--   Here we call OFFLINE_INIT_VARIA (which calls OFFLINE_FIELDS_LOAD)
                0173 C     before other {PKG}_init_varia, closer to where main pickup-file
                0174 C     are usually read-in (but skipped when using pkg/offline)
517dbdc414 Jean*0175 # ifndef ALLOW_AUTODIFF
4997f8d6b8 Jean*0176       IF ( useOFFLINE ) THEN
                0177 # endif
                0178         CALL OFFLINE_INIT_VARIA( myThid )
517dbdc414 Jean*0179 # ifndef ALLOW_AUTODIFF
4997f8d6b8 Jean*0180       ENDIF
                0181 # endif
                0182 #endif /* ALLOW_OFFLINE */
                0183 
9da3c4e8e8 Jean*0184 #ifdef ALLOW_GENERIC_ADVDIFF
5b1a890519 Jean*0185       IF ( useGAD ) THEN
                0186 # ifdef ALLOW_DEBUG
                0187         IF (debugMode) CALL DEBUG_CALL('GAD_INIT_VARIA',myThid)
                0188 # endif
                0189         CALL GAD_INIT_VARIA( myThid )
                0190       ENDIF
9da3c4e8e8 Jean*0191 #endif /* ALLOW_GENERIC_ADVDIFF */
                0192 
e412d1f16c Jean*0193 #ifdef ALLOW_CD_CODE
e33db7ef40 Jean*0194 C--   Initialize CD_CODE variables:
e412d1f16c Jean*0195 C- note(jmc): before packaging CD_CODE, was done within ini_fields (=called before),
                0196 C             therefore call CD-ini-vars before others pkg.
5b1a890519 Jean*0197       IF (useCDscheme) THEN
                0198 # ifdef ALLOW_DEBUG
                0199         IF (debugMode) CALL DEBUG_CALL('CD_CODE_INI_VARS',myThid)
                0200 # endif
                0201         CALL CD_CODE_INI_VARS( myThid )
                0202       ENDIF
                0203 #endif /* ALLOW_CD_CODE */
e412d1f16c Jean*0204 
e864122ae8 Mart*0205 #ifdef ALLOW_PP81
                0206 C--   Initialize PP81 vertical mixing scheme.
                0207       IF (usePP81) THEN
5b1a890519 Jean*0208 # ifdef ALLOW_DEBUG
5a9f83110e Jean*0209        IF (debugMode) CALL DEBUG_CALL('PP81_INIT_VARIA',myThid)
5b1a890519 Jean*0210 # endif
5a9f83110e Jean*0211        CALL PP81_INIT_VARIA( myThid )
e864122ae8 Mart*0212       ENDIF
5b1a890519 Jean*0213 #endif /* ALLOW_PP81 */
e864122ae8 Mart*0214 
d8d1486ca1 Jean*0215 #ifdef ALLOW_KL10
                0216 C--   Initialize KL10 vertical mixing scheme.
                0217       IF (useKL10) THEN
                0218 # ifdef ALLOW_DEBUG
                0219        IF (debugMode) CALL DEBUG_CALL('KL10_INIT_VARIA',myThid)
                0220 # endif
                0221        CALL KL10_INIT_VARIA( myThid )
                0222       ENDIF
                0223 #endif /* ALLOW_KL10 */
                0224 
e864122ae8 Mart*0225 #ifdef ALLOW_MY82
69a7b27187 Mart*0226 C--   Initialize MY82 vertical mixing scheme.
e864122ae8 Mart*0227       IF (useMY82) THEN
60c545bbe1 Mart*0228        CALL MY82_INIT_VARIA( myThid )
e864122ae8 Mart*0229       ENDIF
5b1a890519 Jean*0230 #endif /* ALLOW_MY82 */
e864122ae8 Mart*0231 
69a7b27187 Mart*0232 #ifdef ALLOW_GGL90
                0233 C--   Initialize GGL90 vertical mixing scheme.
                0234       IF (useGGL90) THEN
e56754156b Davi*0235 #ifdef ALLOW_DEBUG
                0236       IF (debugMode) CALL DEBUG_CALL('GGL90_INIT_VARIA',myThid)
                0237 #endif
                0238        CALL GGL90_INIT_VARIA( myThid )
69a7b27187 Mart*0239       ENDIF
5b1a890519 Jean*0240 #endif /* ALLOW_GGL90 */
69a7b27187 Mart*0241 
659f2b2337 Jean*0242 #ifdef ALLOW_KPP
                0243 C--   Initialize KPP vertical mixing scheme.
                0244       IF (useKPP) THEN
e0b3e1bdd8 Dimi*0245 # ifdef ALLOW_DEBUG
659f2b2337 Jean*0246        IF (debugMode) CALL DEBUG_CALL('KPP_INIT_VARIA',myThid)
e0b3e1bdd8 Dimi*0247 # endif
659f2b2337 Jean*0248        CALL KPP_INIT_VARIA( myThid )
e0b3e1bdd8 Dimi*0249       ENDIF
659f2b2337 Jean*0250 #endif /* ALLOW_KPP */
e0b3e1bdd8 Dimi*0251 
659f2b2337 Jean*0252 #ifdef ALLOW_GMREDI
                0253 C--   Initialize GM/Redi parameterization
94a8024bbe Jean*0254 # ifdef ALLOW_AUTODIFF
                0255 C- Note: To simplify dependency & avoid recomputations, when compiling
                0256 C        pkg/autodiff, we always call GMREDI_INIT_VARIA to initialise control
                0257 C        variables (ALLOW_KAPGM/KAPREDI_CONTROL) without condition on useGMRedi
                0258 C        (in this case the "If useGMRedi" is added inside gmredi_init_varia.F).
                0259 # else
                0260       IF ( useGMRedi ) THEN
                0261 # endif
5b1a890519 Jean*0262 # ifdef ALLOW_DEBUG
659f2b2337 Jean*0263         IF (debugMode) CALL DEBUG_CALL('GMREDI_INIT_VARIA',myThid)
5b1a890519 Jean*0264 # endif
659f2b2337 Jean*0265         CALL GMREDI_INIT_VARIA( myThid )
94a8024bbe Jean*0266 # ifndef ALLOW_AUTODIFF
27020fe029 Patr*0267       ENDIF
94a8024bbe Jean*0268 # endif
659f2b2337 Jean*0269 #endif /* ALLOW_GMREDI */
5ee2971ab8 Patr*0270 
659f2b2337 Jean*0271 #ifdef ALLOW_BBL
                0272       IF ( useBBL ) THEN
                0273         CALL BBL_INIT_VARIA( myThid )
                0274       ENDIF
                0275 #endif /* ALLOW_BBL */
                0276 
                0277 #ifdef ALLOW_DOWN_SLOPE
                0278       IF ( useDOWN_SLOPE ) THEN
                0279         CALL DWNSLP_INIT_VARIA( myThid )
                0280       ENDIF
                0281 #endif /* ALLOW_DOWN_SLOPE */
                0282 
                0283 #ifdef ALLOW_EXF
                0284       IF (useEXF) THEN
2db28c9ae9 Mart*0285 # ifdef ALLOW_DEBUG
473f3aa7d4 Jean*0286        IF (debugMode) CALL DEBUG_CALL('EXF_INIT_VARIA',myThid)
2db28c9ae9 Mart*0287 # endif
473f3aa7d4 Jean*0288        CALL EXF_INIT_VARIA( myThid )
2db28c9ae9 Mart*0289       ENDIF
659f2b2337 Jean*0290 #endif /* ALLOW_EXF */
2db28c9ae9 Mart*0291 
659f2b2337 Jean*0292 #ifdef ALLOW_BULK_FORCE
                0293       IF (useBulkForce) THEN
                0294         CALL BULKF_INIT_VARIA( myThid )
                0295       ENDIF
                0296 #endif /* ALLOW_BULK_FORCE */
                0297 
                0298 #ifdef ALLOW_EBM
517dbdc414 Jean*0299 # ifdef ALLOW_AUTODIFF_TAMC
659f2b2337 Jean*0300 CADJ STORE theta = tapelev_init, key = 1
5da8ce63fa Dimi*0301 # endif
659f2b2337 Jean*0302       IF (useEBM) THEN
                0303         CALL EBM_INI_VARS( myThid )
5da8ce63fa Dimi*0304       ENDIF
659f2b2337 Jean*0305 #endif /* ALLOW_EBM */
5da8ce63fa Dimi*0306 
659f2b2337 Jean*0307 #ifdef ALLOW_CHEAPAML
                0308       IF (useCheapAML) THEN
                0309         CALL CHEAPAML_INIT_VARIA( myThid )
                0310       ENDIF
                0311 #endif /* ALLOW_CHEAPAML */
                0312 
                0313 #ifdef ALLOW_FLT
                0314 C--   Initialise float position
                0315       IF ( useFLT ) THEN
                0316         CALL FLT_INIT_VARIA( myThid )
                0317       ENDIF
                0318 #endif /* ALLOW_FLT */
                0319 
5c43c390b6 Alis*0320 #ifdef ALLOW_PTRACERS
517dbdc414 Jean*0321 # ifndef ALLOW_AUTODIFF
cf2549e769 Patr*0322       IF ( usePTRACERS ) THEN
                0323 # endif
5b1a890519 Jean*0324 # ifdef ALLOW_DEBUG
                0325         IF (debugMode) CALL DEBUG_CALL('PTRACERS_INIT_VARIA',myThid)
                0326 # endif
                0327         CALL PTRACERS_INIT_VARIA( myThid )
4e66ab0b67 Oliv*0328 # ifdef ALLOW_LONGSTEP
                0329 #  ifdef ALLOW_DEBUG
                0330         IF (debugMode) CALL DEBUG_CALL('LONGSTEP_INIT_VARIA',myThid)
                0331 #  endif
                0332         CALL LONGSTEP_INIT_VARIA( myThid )
                0333 # endif /* ALLOW_LONGSTEP */
517dbdc414 Jean*0334 # ifndef ALLOW_AUTODIFF
5b1a890519 Jean*0335       ENDIF
0a90236bb2 Mart*0336 # endif
5b1a890519 Jean*0337 #endif /* ALLOW_PTRACERS */
                0338 
                0339 #ifdef ALLOW_GCHEM
                0340       IF (useGCHEM) THEN
                0341         CALL GCHEM_INIT_VARI( myThid )
cf2549e769 Patr*0342       ENDIF
5b1a890519 Jean*0343 #endif /* ALLOW_GCHEM */
5c43c390b6 Alis*0344 
659f2b2337 Jean*0345 #ifdef ALLOW_RBCS
                0346       IF ( useRBCS ) THEN
                0347         CALL RBCS_INIT_VARIA( myThid )
5b1a890519 Jean*0348       ENDIF
659f2b2337 Jean*0349 #endif /* ALLOW_RBCS */
1a5b8b2149 Gael*0350 
659f2b2337 Jean*0351 #ifdef ALLOW_MATRIX
                0352       IF ( useMATRIX ) THEN
                0353 # ifdef ALLOW_DEBUG
                0354         IF (debugMode) CALL DEBUG_CALL('MATRIX_INIT',myThid)
6e4c90fea3 Patr*0355 # endif
659f2b2337 Jean*0356         CALL MATRIX_INIT_VARIA( myThid )
                0357       ENDIF
                0358 #endif /* ALLOW_MATRIX */
2dcaa8b9a5 Patr*0359 
148dd84005 jm-c 0360 #ifdef ALLOW_STREAMICE
                0361       IF (useStreamIce) THEN
                0362 # ifdef ALLOW_DEBUG
                0363        IF (debugMode) CALL DEBUG_CALL('STREAMICE_INIT_VARIA',myThid)
                0364 # endif
                0365        CALL STREAMICE_INIT_VARIA( myThid )
                0366       ENDIF
                0367 #endif /* ALLOW_STREAMICE */
                0368 
                0369 #ifdef ALLOW_SHELFICE
c69ccc91fb antn*0370 # ifdef ALLOW_AUTODIFF
                0371 C- Note: use same trick as for pkg/gmredi (call to GMREDI_INIT_VARIA) when
                0372 C  compiling pkg/autodiff (with "If useShelfIce" inside shelfice_init_varia.F)
                0373 # else
148dd84005 jm-c 0374       IF (useShelfIce) THEN
c69ccc91fb antn*0375 # endif
148dd84005 jm-c 0376 # ifdef ALLOW_DEBUG
                0377        IF (debugMode) CALL DEBUG_CALL('SHELFICE_INIT_VARIA',myThid)
                0378 # endif
                0379        CALL SHELFICE_INIT_VARIA( myThid )
c69ccc91fb antn*0380 # ifndef ALLOW_AUTODIFF
148dd84005 jm-c 0381       ENDIF
c69ccc91fb antn*0382 # endif
148dd84005 jm-c 0383 #endif /* ALLOW_SHELFICE */
                0384 
                0385 #ifdef ALLOW_ICEFRONT
                0386       IF (useICEFRONT) THEN
                0387 # ifdef ALLOW_DEBUG
                0388        IF (debugMode) CALL DEBUG_CALL('ICEFRONT_INIT_VARIA',myThid)
                0389 # endif
                0390        CALL ICEFRONT_INIT_VARIA( myThid )
                0391       ENDIF
                0392 #endif /* ALLOW_ICEFRONT */
                0393 
659f2b2337 Jean*0394 #ifdef ALLOW_FRAZIL
                0395       IF (useFRAZIL) THEN
5b1a890519 Jean*0396 # ifdef ALLOW_DEBUG
659f2b2337 Jean*0397         IF (debugMode) CALL DEBUG_CALL('FRAZIL_INIT_VARIA',myThid)
5b1a890519 Jean*0398 # endif
659f2b2337 Jean*0399         CALL FRAZIL_INIT_VARIA( myThid)
342da43f96 Patr*0400       ENDIF
659f2b2337 Jean*0401 #endif /* ALLOW_FRAZIL */
cee16b76ae Dimi*0402 
659f2b2337 Jean*0403 #ifdef ALLOW_SEAICE
                0404 C--   Initialize SEAICE model.
c69ccc91fb antn*0405 # ifdef ALLOW_AUTODIFF
                0406 C- Note: use same trick as for pkg/gmredi (call to GMREDI_INIT_VARIA) when
                0407 C     compiling pkg/autodiff (with "If useSEAICE" inside seaice_init_varia.F)
                0408 # else
659f2b2337 Jean*0409       IF (useSEAICE) THEN
c69ccc91fb antn*0410 # endif
659f2b2337 Jean*0411 # ifdef ALLOW_DEBUG
                0412        IF (debugMode) CALL DEBUG_CALL('SEAICE_INIT_VARIA',myThid)
b08554040b Patr*0413 # endif
659f2b2337 Jean*0414        CALL SEAICE_INIT_VARIA( myThid )
c69ccc91fb antn*0415 # ifndef ALLOW_AUTODIFF
5b1a890519 Jean*0416       ENDIF
c69ccc91fb antn*0417 # endif
659f2b2337 Jean*0418 #endif /* ALLOW_SEAICE */
d8206d87ee Patr*0419 
659f2b2337 Jean*0420 #ifdef ALLOW_SALT_PLUME
                0421       IF ( useSALT_PLUME ) THEN
                0422         CALL SALT_PLUME_INIT_VARIA( myThid )
e994210c2e Gael*0423       ENDIF
659f2b2337 Jean*0424 #endif /* ALLOW_SALT_PLUME */
24462d2fa8 Patr*0425 
10e4bbdd7f Jean*0426 #ifdef ALLOW_THSICE
5b1a890519 Jean*0427       IF (useThSIce) THEN
                0428 # ifdef ALLOW_DEBUG
                0429         IF (debugMode) CALL DEBUG_CALL('THSICE_INI_VARS',myThid)
                0430 # endif
                0431         CALL THSICE_INI_VARS( myThid)
                0432       ENDIF
                0433 #endif /* ALLOW_THSICE */
6424ee9bc0 Curt*0434 
659f2b2337 Jean*0435 #ifdef ALLOW_LAND
                0436       IF ( useLAND ) THEN
5b1a890519 Jean*0437 # ifdef ALLOW_DEBUG
659f2b2337 Jean*0438         IF (debugMode) CALL DEBUG_CALL('LAND_INI_VARS',myThid)
5b1a890519 Jean*0439 # endif
659f2b2337 Jean*0440         CALL LAND_INI_VARS( myThid )
5b1a890519 Jean*0441       ENDIF
659f2b2337 Jean*0442 #endif /* ALLOW_LAND */
6424ee9bc0 Curt*0443 
4e28c912a1 Jeff*0444 #ifdef ALLOW_ATM2D
5b1a890519 Jean*0445       IF (useAtm2d) THEN
                0446 # ifdef ALLOW_DEBUG
                0447         IF (debugMode) CALL DEBUG_CALL('ATM2D_INIT_VARS',myThid)
                0448 # endif
                0449         CALL ATM2D_INIT_VARS( myThid )
                0450       ENDIF
                0451 #endif /* ALLOW_ATM2D */
4e28c912a1 Jeff*0452 
5593e3ac8c Jean*0453 #ifdef ALLOW_ATM_PHYS
                0454       IF (useAtm_Phys) THEN
                0455 # ifdef ALLOW_DEBUG
                0456         IF (debugMode) CALL DEBUG_CALL('ATM_PHYS_INIT_VARIA',myThid)
                0457 # endif
                0458         CALL ATM_PHYS_INIT_VARIA( myThid )
                0459       ENDIF
                0460 #endif /* ALLOW_ATM_PHYS */
                0461 
468f196fcd Andr*0462 #ifdef ALLOW_FIZHI
                0463 C Initialize FIZHI state variables
5b1a890519 Jean*0464       IF (useFIZHI) THEN
                0465 # ifdef ALLOW_DEBUG
                0466         IF (debugMode) CALL DEBUG_CALL('FIZHI_INIT_VARS',myThid)
                0467 # endif
                0468         CALL FIZHI_INIT_VARS( myThid )
                0469       ENDIF
                0470 #endif /* ALLOW_FIZHI */
48121039da Jean*0471 
bf3fb08440 Jean*0472 #ifdef ALLOW_REGRID
5b1a890519 Jean*0473       IF ( useREGRID ) THEN
                0474         CALL REGRID_INIT_VARIA( myThid )
                0475       ENDIF
                0476 #endif /* ALLOW_REGRID */
0dc94a8572 Patr*0477 
dfc9bc933c Ryan*0478 #ifdef ALLOW_LAYERS
5593e3ac8c Jean*0479       IF ( useLayers ) THEN
                0480         CALL LAYERS_INIT_VARIA( myThid )
                0481       ENDIF
dfc9bc933c Ryan*0482 #endif /* ALLOW_LAYERS */
                0483 
659f2b2337 Jean*0484 #ifdef ALLOW_NEST_CHILD
                0485 C--   Initialize NEST in CHILD configuration
                0486       IF (useNEST_CHILD) THEN
                0487 #ifdef ALLOW_DEBUG
                0488        IF (debugMode)
                0489      &       CALL DEBUG_CALL('NEST_CHILD_INIT_VARIA',myThid)
                0490 #endif
                0491        CALL NEST_CHILD_INIT_VARIA( myThid )
5b1a890519 Jean*0492       ENDIF
659f2b2337 Jean*0493 #endif /* ALLOW_NEST_CHILD */
e4775240e5 Dimi*0494 
659f2b2337 Jean*0495 #ifdef ALLOW_NEST_PARENT
                0496 C--   Initialize NEST in PARENT configuration
                0497       IF (useNEST_PARENT) THEN
                0498 #ifdef ALLOW_DEBUG
                0499        IF (debugMode)
                0500      &       CALL DEBUG_CALL('NEST_PARENT_INIT',myThid)
                0501 #endif
                0502        CALL NEST_PARENT_INIT_VARIA( myThid )
5b1a890519 Jean*0503       ENDIF
659f2b2337 Jean*0504 #endif /* ALLOW_NEST_PARENT */
                0505 
6591b3fcc3 Jean*0506 #ifdef ALLOW_NEST2W_COMMON
                0507 C--   Initialise the 2-Way Nesting packages variables
                0508       IF ( useNest2W_parent .OR. useNest2W_child ) THEN
                0509 # ifdef ALLOW_DEBUG
                0510         IF (debugMode) CALL DEBUG_CALL('NEST2W_INIT_VARIA',myThid)
                0511 # endif
                0512         CALL NEST2W_INIT_VARIA( myThid )
                0513       ENDIF
                0514 #endif /* ALLOW_NEST2W_COMMON */
                0515 
659f2b2337 Jean*0516 #ifdef COMPONENT_MODULE
                0517       IF (useCoupler) THEN
                0518 # ifdef ALLOW_DEBUG
                0519         IF (debugMode) CALL DEBUG_CALL('CPL_INI_VARS',myThid)
                0520 # endif
                0521         CALL CPL_INI_VARS( myThid )
                0522       ENDIF
                0523 #endif /* COMPONENT_MODULE */
5b1a890519 Jean*0524 
                0525 #ifdef ALLOW_MYPACKAGE
                0526       IF ( useMYPACKAGE ) THEN
                0527         CALL MYPACKAGE_INIT_VARIA( myThid )
                0528       ENDIF
                0529 #endif /* ALLOW_MYPACKAGE */
86f14fa6df Jean*0530 
517dbdc414 Jean*0531 #ifdef ALLOW_AUTODIFF_TAMC
659f2b2337 Jean*0532 CADJ STORE theta  = tapelev_init, key = 1
                0533 CADJ STORE salt   = tapelev_init, key = 1
                0534 # ifdef ALLOW_DIFFKR_CONTROL
                0535 CADJ STORE diffkr = tapelev_init, key = 1
                0536 # endif
517dbdc414 Jean*0537 #endif /* ALLOW_AUTODIFF_TAMC */
                0538 
72c872192a Gael*0539 C--   Initialise pkg/smooth
                0540 #ifdef ALLOW_SMOOTH
87c3338883 Gael*0541       IF (useSMOOTH) THEN
                0542         CALL SMOOTH_INIT_VARIA(myThid)
                0543       ENDIF
72c872192a Gael*0544 #endif /* ALLOW_SMOOTH */
                0545 
                0546 C--   Initialise pkg/profiles
                0547 #ifdef ALLOW_PROFILES
                0548       IF (usePROFILES) THEN
                0549         CALL PROFILES_INIT_VARIA( myThid )
                0550       ENDIF
                0551 #endif /* ALLOW_PROFILES */
                0552 
                0553 C--   Initialise pkg/ecco (and related pkgs components)
                0554 #ifdef ALLOW_ECCO
17cee39df2 Timo*0555 # ifdef ALLOW_AUTODIFF_TAMC
                0556 #  if (defined (ALLOW_UVEL0_CONTROL) && defined (ALLOW_VVEL0_CONTROL))
                0557 CADJ STORE uvel = tapelev_init, key = 1
                0558 CADJ STORE vvel = tapelev_init, key = 1
                0559 #  endif
7448700841 Mart*0560 #  ifdef ALLOW_PSBAR_STERIC
                0561 C     In some set-ups (e.g. lab_sea), this is necessary
                0562 CADJ STORE etaN  = tapelev_init, key = 1
                0563 CADJ STORE theta = tapelev_init, key = 1
                0564 CADJ STORE salt  = tapelev_init, key = 1
                0565 #  endif
17cee39df2 Timo*0566 # endif
a424c359ed Gael*0567       IF ( useECCO ) CALL ECCO_INIT_VARIA( myThid )
72c872192a Gael*0568 #endif
                0569 
                0570 C--   Initialise pkg/ctl (and related pkgs components)
                0571 #ifdef ALLOW_CTRL
a424c359ed Gael*0572       IF (useCTRL) THEN
72c872192a Gael*0573 # ifdef ALLOW_DEBUG
a424c359ed Gael*0574         IF (debugMode) CALL DEBUG_CALL('CTRL_INIT_VARIABLES',myThid)
659f2b2337 Jean*0575 # endif
a424c359ed Gael*0576         CALL CTRL_INIT_VARIABLES ( myThid )
                0577       ENDIF
                0578 #endif /* ALLOW_CTRL */
659f2b2337 Jean*0579 
793e174778 Jean*0580 #ifdef ALLOW_OBCS
                0581 C--   put this call in last position (needs to come after few {PKG}_init_varia)
                0582       IF (useOBCS) THEN
                0583 # ifdef ALLOW_DEBUG
                0584         IF (debugMode) CALL DEBUG_CALL('OBCS_INIT_VARIABLES',myThid)
                0585 # endif
                0586         CALL OBCS_INIT_VARIABLES( myThid )
                0587       ENDIF
                0588 #endif /* ALLOW_OBCS */
                0589 
abb214f17f Alis*0590 #ifdef ALLOW_DEBUG
e33db7ef40 Jean*0591       IF (debugMode)
9e6ee95b0d Ed H*0592      &     CALL DEBUG_LEAVE('PACKAGES_INIT_VARIABLES',myThid)
5b1a890519 Jean*0593 #endif /* ALLOW_DEBUG */
39cebd8084 Ed H*0594 
fb481a83c2 Alis*0595       RETURN
                0596       END