File indexing completed on 2025-11-15 13:23:47 UTC
view on githubraw file Latest commit b7411f1a on 2025-11-06 19:05:26 UTC
6d54cf9ca1 Ed H*0001 #include "PACKAGES_CONFIG.h"
2846da876f Alis*0002 #include "CPP_OPTIONS.h"
30c7aa4d63 Gael*0003 #ifdef ALLOW_AUTODIFF
0004 # include "AUTODIFF_OPTIONS.h"
0005 #endif
b24e764352 Patr*0006 #ifdef ALLOW_CTRL
0007 # include "CTRL_OPTIONS.h"
0008 #endif
b4daa24319 Shre*0009 #ifdef ALLOW_TAPENADE
0010 # ifdef ALLOW_SHELFICE
0011 # include "SHELFICE_OPTIONS.h"
0012 # endif
0013 # ifdef ALLOW_GMREDI
0014 # include "GMREDI_OPTIONS.h"
0015 # endif
0016 # ifdef ALLOW_EXF
0017 # include "EXF_OPTIONS.h"
0018 # endif
0019 # ifdef ALLOW_SEAICE
0020 # include "SEAICE_OPTIONS.h"
0021 # endif
0022 # ifdef ALLOW_ECCO
0023 # include "ECCO_OPTIONS.h"
0024 # endif
0025
0026
0027
0028 # ifdef ALLOW_BLING
0029 # include "BLING_OPTIONS.h"
0030 # endif
0031 #endif /* ALLOW_TAPENADE */
2846da876f Alis*0032
9366854e02 Chri*0033
0034
0035
94875ed477 Jean*0036 SUBROUTINE INITIALISE_VARIA( myThid )
9366854e02 Chri*0037
0038
94875ed477 Jean*0039
0040
0041
9366854e02 Chri*0042
94875ed477 Jean*0043
0044
0045
0046
0047
9366854e02 Chri*0048
0049
0050
0051
0052
0053
02d90fb24c Jean*0054
49de6e3d98 Jean*0055
05883b6cd5 Jean*0056
0057
0058
fa00cf7ea4 Jean*0059
49de6e3d98 Jean*0060
9366854e02 Chri*0061
fa00cf7ea4 Jean*0062
d067a44b7e Jean*0063
9366854e02 Chri*0064
0065
0066
94875ed477 Jean*0067
0068
0069
0070
417449666e Jean*0071
0072
9c7e8fe0f0 Jean*0073
cee16b76ae Dimi*0074
5c43c390b6 Alis*0075
0076
4be839313c Jean*0077
0078
94875ed477 Jean*0079
9366854e02 Chri*0080
94875ed477 Jean*0081
0082
a2a20dcddc Jean*0083
9366854e02 Chri*0084
0085
0086
0087
0088
f9ff59e0c6 Jean*0089
9366854e02 Chri*0090
94875ed477 Jean*0091
0092
0093
f9ff59e0c6 Jean*0094
81d6a02def Jean*0095
0096
0097
0098
2846da876f Alis*0099
9366854e02 Chri*0100
0101 IMPLICIT NONE
2846da876f Alis*0102
0103 #include "SIZE.h"
0104 #include "EEPARAMS.h"
0105 #include "PARAMS.h"
fb481a83c2 Alis*0106 #include "DYNVARS.h"
615c650f5e Jean*0107 #include "SURFACE.h"
b24e764352 Patr*0108 #ifdef ALLOW_AUTODIFF
0109 # include "GRID.h"
0110 # include "FFIELDS.h"
1f78d47f59 Jean*0111 # if ( defined ALLOW_CTRL && defined ALLOW_GENTIM2D_CONTROL &&
af61e5eb16 Mart*0112 # include "CTRL_SIZE.h"
0113 # include "CTRL_DUMMY.h"
1f78d47f59 Jean*0114 # endif
0115 #endif /* ALLOW_AUTODIFF */
2846da876f Alis*0116
b4daa24319 Shre*0117 #ifdef ALLOW_TAPENADE
0118 # ifdef ALLOW_GMREDI
0119 # include "GMREDI.h"
0120 # endif
0121 # ifdef ALLOW_CTRL
0122 # include "CTRL_SIZE.h"
4d72283393 Mart*0123 # include "CTRL.h"
b4daa24319 Shre*0124 # include "CTRL_GENARR.h"
edcd27be69 Mart*0125 # include "CTRL_DUMMY.h"
b4daa24319 Shre*0126 # endif
0127 # ifdef ALLOW_CD_CODE
0128 # include "CD_CODE_VARS.h"
0129 # endif
0130 # ifdef ALLOW_DIC
0131 # include "DIC_VARS.h"
0132 # include "DIC_ATMOS.h"
0133 # include "DIC_LOAD.h"
0134 # endif
0135 # ifdef ALLOW_PTRACERS
0136 # include "PTRACERS_SIZE.h"
0137 # include "PTRACERS_FIELDS.h"
0138 # include "PTRACERS_PARAMS.h"
0139 # endif
0140 # ifdef ALLOW_GENERIC_ADVDIFF
0141 # include "GAD_SOM_VARS.h"
0142 # endif
0143 # ifdef ALLOW_EXF
0144 # include "EXF_PARAM.h"
0145 # include "EXF_INTERP_SIZE.h"
0146 # include "EXF_INTERP_PARAM.h"
0147 # include "EXF_FIELDS.h"
0148 # endif
0149 # ifdef ALLOW_STREAMICE
0150 # include "STREAMICE.h"
0151 # include "STREAMICE_CG.h"
0152 # endif
0153 # ifdef ALLOW_THSICE
0154 # include "THSICE_VARS.h"
0155 # endif
0156 # ifdef ALLOW_SEAICE
0157 # include "SEAICE_SIZE.h"
0158 # include "SEAICE.h"
0159 # endif
0160 # ifdef ALLOW_ECCO
0161 # include "ECCO_SIZE.h"
0162 # include "ECCO.h"
0163 # endif
0164 # ifdef ALLOW_BLING
0165 # include "BLING_VARS.h"
0166 # include "BLING_LOAD.h"
0167 # endif
0168 #endif /* ALLOW_TAPENADE */
0169
9366854e02 Chri*0170
2846da876f Alis*0171 INTEGER myThid
0172
9366854e02 Chri*0173
51575f66de Mart*0174 #ifdef INCLUDE_CONVECT_INI_CALL
81d6a02def Jean*0175 INTEGER bi,bj
9f5240b52a Jean*0176 #endif
9366854e02 Chri*0177
2846da876f Alis*0178
abb214f17f Alis*0179 #ifdef ALLOW_DEBUG
0180 IF (debugMode) CALL DEBUG_ENTER('INITIALISE_VARIA',myThid)
0181 #endif
0182
02d90fb24c Jean*0183 #ifdef ALLOW_AUTODIFF
51d88069bf Jean*0184 nIter0 = NINT( (startTime-baseTime)/deltaTClock )
a424c359ed Gael*0185 #endif /* ALLOW_AUTODIFF */
e32070726e Patr*0186
11c3150c71 Mart*0187 #ifdef ALLOW_DEPTH_CONTROL
b7b61e618a Mart*0188
2e37b0b25f Patr*0189 CALL INI_DEPTHS( myThid )
49de6e3d98 Jean*0190
616600b8d2 Patr*0191 CALL CTRL_DEPTH_INI( myThid )
0192
0193 CALL UPDATE_MASKS_ETC( myThid )
0194
0195 CALL UPDATE_CG2D( startTime, nIter0, myThid )
11c3150c71 Mart*0196 #endif /* ALLOW_DEPTH_CONTROL */
05883b6cd5 Jean*0197
0198
0199 CALL INI_NLFS_VARS( myThid )
0200
aea29c8517 Alis*0201
abb214f17f Alis*0202 #ifdef ALLOW_DEBUG
0203 IF (debugMode) CALL DEBUG_CALL('INI_DYNVARS',myThid)
0204 #endif
aea29c8517 Alis*0205 CALL INI_DYNVARS( myThid )
0206
fa00cf7ea4 Jean*0207
0208 #ifdef ALLOW_NONHYDROSTATIC
0209 CALL INI_NH_VARS( myThid )
0210 #endif
0211
d067a44b7e Jean*0212
0213 CALL INI_FFIELDS( myThid )
0214
2846da876f Alis*0215
0216
0217
0218
abb214f17f Alis*0219 #ifdef ALLOW_DEBUG
0220 IF (debugMode) CALL DEBUG_CALL('INI_FIELDS',myThid)
0320e25227 Mart*0221 #endif
0222 #ifdef ALLOW_AUTODIFF_TAMC
0223
abb214f17f Alis*0224 #endif
2846da876f Alis*0225 CALL INI_FIELDS( myThid )
417449666e Jean*0226
94875ed477 Jean*0227
0228 #ifdef ALLOW_DEBUG
0229 IF (debugMode) CALL DEBUG_CALL('INI_MIXING',myThid)
0230 #endif
0231 CALL INI_MIXING( myThid )
0232
0233 #ifdef ALLOW_EDDYPSI
0234
0235 CALL TAUEDDY_INIT_VARIA( myThid )
0236 #endif
0237
417449666e Jean*0238
0239 #ifdef ALLOW_DEBUG
0240 IF (debugMode) CALL DEBUG_CALL('INI_FORCING',myThid)
0241 #endif
0242 CALL INI_FORCING( myThid )
2846da876f Alis*0243
9c7e8fe0f0 Jean*0244 #ifdef ALLOW_AUTODIFF
b7b61e618a Mart*0245
ea7d076e20 Gael*0246 if (useAUTODIFF) CALL AUTODIFF_INIT_VARIA( myThid )
09d2417e9e Patr*0247 #endif
0248
703793559c Patr*0249
abb214f17f Alis*0250 #ifdef ALLOW_DEBUG
0251 IF (debugMode) CALL DEBUG_CALL('PACKAGES_INIT_VARIABLES',myThid)
b24e764352 Patr*0252 #endif
0253 #ifdef ALLOW_AUTODIFF_TAMC
0254 # ifdef NONLIN_FRSURF
0255
0256 # endif
af61e5eb16 Mart*0257 # ifdef ALLOW_GENTIM2D_CONTROL
0258
0259
0260
0261 # endif
abb214f17f Alis*0262 #endif
703793559c Patr*0263 CALL PACKAGES_INIT_VARIABLES( myThid )
0264
4be839313c Jean*0265 #ifdef ALLOW_COST
0266
0267
0268 CALL COST_INIT_VARIA( myThid )
0269 #endif /* ALLOW_COST */
0270
02d90fb24c Jean*0271
6d61b52b09 Jean*0272
0273
0274
0275
0276
0277
0278
afe84fa4aa Jean*0279
51575f66de Mart*0280 #ifdef INCLUDE_CONVECT_INI_CALL
fb481a83c2 Alis*0281
51d88069bf Jean*0282 IF ( startTime .EQ. baseTime .AND. cAdjFreq .NE. 0. ) THEN
abb214f17f Alis*0283 #ifdef ALLOW_DEBUG
0284 IF (debugMode) CALL DEBUG_CALL('CONVECTIVE_ADJUSTMENT_INI',myThid)
0285 #endif
81d6a02def Jean*0286
2846da876f Alis*0287 DO bj = myByLo(myThid), myByHi(myThid)
ad9b3080a0 Patr*0288
2846da876f Alis*0289 DO bi = myBxLo(myThid), myBxHi(myThid)
2cfc9d59a2 Patr*0290 CALL CONVECTIVE_ADJUSTMENT_INI(
81d6a02def Jean*0291 I bi, bj, startTime, nIter0, myThid )
2846da876f Alis*0292 ENDDO
0293 ENDDO
a27159adf7 Jean*0294 ENDIF
51575f66de Mart*0295 #endif /* INCLUDE_CONVECT_INI_CALL */
fb481a83c2 Alis*0296
8de3419279 Jean*0297 #ifdef NONLIN_FRSURF
9fdcce8056 Jean*0298
8de3419279 Jean*0299
cdc9f269ae Patr*0300 # ifndef DISABLE_RSTAR_CODE
615c650f5e Jean*0301 IF ( select_rStar.NE.0 )
0302 & CALL CALC_R_STAR(etaH, startTime, -1 , myThid )
cdc9f269ae Patr*0303 # endif /* DISABLE_RSTAR_CODE */
490a5c43c7 Jean*0304 IF ( nonlinFreeSurf.GT.0 ) THEN
b3d1ebfd19 Jean*0305 IF ( select_rStar.GT.0 ) THEN
cdc9f269ae Patr*0306 # ifndef DISABLE_RSTAR_CODE
72a058b866 Gael*0307 CALL UPDATE_R_STAR( .TRUE., startTime, nIter0, myThid )
a2a20dcddc Jean*0308 # endif /* DISABLE_RSTAR_CODE */
0309 ELSEIF ( selectSigmaCoord.NE.0 ) THEN
0310 # ifndef DISABLE_SIGMA_CODE
0311 CALL UPDATE_SIGMA( etaH, startTime, nIter0, myThid )
bfdbc242ac Jean*0312 # endif /* DISABLE_SIGMA_CODE */
b3d1ebfd19 Jean*0313 ELSE
ad3a31a87b Jean*0314 CALL CALC_SURF_DR(etaH, startTime, -1 , myThid )
aecc8b0f47 Mart*0315 #ifdef ALLOW_AUTODIFF_TAMC
0316
0317
0318
0319
0320 #endif /* ALLOW_AUTODIFF_TAMC */
72a058b866 Gael*0321 CALL UPDATE_SURF_DR( .TRUE., startTime, nIter0, myThid )
b3d1ebfd19 Jean*0322 ENDIF
8de3419279 Jean*0323 ENDIF
0324
490a5c43c7 Jean*0325 IF ( nonlinFreeSurf.GT.2 ) THEN
8de3419279 Jean*0326 CALL UPDATE_CG2D( startTime, nIter0, myThid )
0327 ENDIF
b3d1ebfd19 Jean*0328 #endif /* NONLIN_FRSURF */
8de3419279 Jean*0329
abb214f17f Alis*0330 #ifdef ALLOW_DEBUG
0331 IF (debugMode) CALL DEBUG_CALL('INTEGR_CONTINUITY',myThid)
0332 #endif
f9ff59e0c6 Jean*0333
bfdbc242ac Jean*0334 CALL INTEGR_CONTINUITY( uVel, vVel,
0335 I startTime, nIter0, myThid )
615c650f5e Jean*0336
0337 #ifdef NONLIN_FRSURF
0338 IF ( select_rStar.NE.0 ) THEN
7f82819bd8 Patr*0339 #ifndef DISABLE_RSTAR_CODE
615c650f5e Jean*0340
0341 CALL CALC_R_STAR(etaH, startTime, nIter0, myThid )
cdc9f269ae Patr*0342 #endif
490a5c43c7 Jean*0343 ELSEIF ( nonlinFreeSurf.GT.0 .AND. selectSigmaCoord.EQ.0 ) THEN
615c650f5e Jean*0344
0345 CALL CALC_SURF_DR(etaH, startTime, nIter0, myThid )
0346 ENDIF
0347 #endif /* NONLIN_FRSURF */
0348
f75a8916e3 Jean*0349
94875ed477 Jean*0350
615c650f5e Jean*0351
0352 #ifdef ALLOW_SHAP_FILT
f75a8916e3 Jean*0353
0354
0355
615c650f5e Jean*0356 #endif
0357 #ifdef ALLOW_ZONAL_FILT
f75a8916e3 Jean*0358
0359
0360
615c650f5e Jean*0361 #endif
f75a8916e3 Jean*0362
615c650f5e Jean*0363
1c9567fc8e Andr*0364 #ifdef ALLOW_GRIDALT
3365bdc872 Jean*0365 IF (useGRIDALT) THEN
417449666e Jean*0366 CALL TIMER_START('GRIDALT_UPDATE [INITIALISE_VARIA]',myThid)
d0d808a690 Andr*0367 CALL GRIDALT_UPDATE(myThid)
417449666e Jean*0368 CALL TIMER_STOP ('GRIDALT_UPDATE [INITIALISE_VARIA]',myThid)
3365bdc872 Jean*0369 ENDIF
1c9567fc8e Andr*0370 #endif
0371
f9ff59e0c6 Jean*0372
abb214f17f Alis*0373 #ifdef ALLOW_DEBUG
0374 IF (debugMode) CALL DEBUG_CALL('STATE_SUMMARY',myThid)
0375 #endif
f9ff59e0c6 Jean*0376 CALL STATE_SUMMARY( myThid )
0377
81d6a02def Jean*0378 #ifdef ALLOW_MONITOR
0379 #ifdef ALLOW_DEBUG
0380 IF (debugMode) CALL DEBUG_CALL('MONITOR',myThid)
0381 #endif
0382
4f8feb8bdf Jean*0383 CALL MONITOR( startTime, nIter0, myThid )
81d6a02def Jean*0384 #endif /* ALLOW_MONITOR */
0385
0386
0387 #ifdef ALLOW_DEBUG
0388 IF (debugMode) CALL DEBUG_CALL('DO_THE_MODEL_IO',myThid)
0389 #endif
94884059ae Jean*0390 CALL DO_THE_MODEL_IO( .FALSE., startTime, nIter0, myThid )
81d6a02def Jean*0391
abb214f17f Alis*0392 #ifdef ALLOW_DEBUG
0393 IF (debugMode) CALL DEBUG_LEAVE('INITIALISE_VARIA',myThid)
0394 #endif
36d9303bf2 Jean*0395
0396
0397 CALL BAR_CHECK( 4, myThid )
0398
b91a70728d Jean*0399 RETURN
2846da876f Alis*0400 END