Back to home page

darwin3

 
 

    


File indexing completed on 2025-12-21 17:50:34 UTC

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