File indexing completed on 2025-08-09 05:08:04 UTC
view on githubraw file Latest commit 5e44d2ea on 2025-08-09 03:50:44 UTC
6d54cf9ca1 Ed H*0001 #include "PACKAGES_CONFIG.h"
2b6828d138 Alis*0002 #include "CPP_OPTIONS.h"
0003
9366854e02 Chri*0004
0005
0006
c859c0e3e6 Patr*0007 SUBROUTINE PACKAGES_CHECK( myThid )
9366854e02 Chri*0008
0009
266d33b714 Jean*0010
0011
9366854e02 Chri*0012
266d33b714 Jean*0013
0014
0015
0016
0017
9366854e02 Chri*0018
0019
2b6828d138 Alis*0020
8f92343d9b Jean*0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
cc9097e522 Oliv*0044
0045
8f92343d9b Jean*0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
00f81e6785 Ou W*0056
0057
7b8b86ab99 Timo*0058
0059
8f92343d9b Jean*0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
d4b64b229a Jean*0076
0077
8f92343d9b Jean*0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
61e1a786bb Jean*0100
9366854e02 Chri*0101 IMPLICIT NONE
2b6828d138 Alis*0102
0103 #include "SIZE.h"
0104 #include "EEPARAMS.h"
0105 #include "PARAMS.h"
0106
9366854e02 Chri*0107
2b6828d138 Alis*0108
308c696200 Jean*0109
2b6828d138 Alis*0110 INTEGER myThid
0111
9366854e02 Chri*0112
2b6828d138 Alis*0113
ba9a45d563 Jean*0114
266d33b714 Jean*0115 CHARACTER*(MAX_LEN_MBUF) msgBuf
9366854e02 Chri*0116
2b6828d138 Alis*0117
308c696200 Jean*0118 _BEGIN_MASTER(myThid)
c19461ac28 Jean*0119 WRITE(msgBuf,'(A)')
0120 &'== Packages configuration : Check & print summary =='
0121 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0122 & SQUEEZE_RIGHT, myThid )
0123 WRITE(msgBuf,'(A)') ' '
0124 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0125 & SQUEEZE_RIGHT, myThid )
308c696200 Jean*0126 _END_MASTER(myThid)
c19461ac28 Jean*0127
266d33b714 Jean*0128
0129
0130 #ifndef ALLOW_MNC
5e44d2ea81 Jean*0131 IF ( useMNC ) THEN
308c696200 Jean*0132 _BEGIN_MASTER(myThid)
0133 WRITE(msgBuf,'(2A)') '** WARNING **',
266d33b714 Jean*0134 & ' PACKAGES_CHECK: useMNC is TRUE'
0135 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
308c696200 Jean*0136 & SQUEEZE_RIGHT, myThid )
0137 WRITE(msgBuf,'(2A)') '** WARNING **',
266d33b714 Jean*0138 & ' but pkg/mnc has not been compiled (#undef ALLOW_MNC)'
0139 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
308c696200 Jean*0140 & SQUEEZE_RIGHT, myThid )
0141 _END_MASTER(myThid)
266d33b714 Jean*0142 ENDIF
0143 #endif
0144
0145 #ifndef ALLOW_MOM_VECINV
0146 IF ( momStepping .AND. vectorInvariantMomentum ) THEN
0147 WRITE(msgBuf,'(2A)')
0148 & 'PACKAGES_CHECK: cannot step forward Momentum',
0149 & ' without pkg/mom_vecinv'
5e44d2ea81 Jean*0150 CALL PRINT_ERROR( msgBuf, myThid )
266d33b714 Jean*0151 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
0152 & 'Re-compile with pkg "mom_vecinv" in packages.conf'
5e44d2ea81 Jean*0153 CALL PRINT_ERROR( msgBuf, myThid )
308c696200 Jean*0154 CALL ALL_PROC_DIE( myThid )
266d33b714 Jean*0155 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
0156 ENDIF
0157 #endif
0158 #ifndef ALLOW_MOM_FLUXFORM
0159 IF ( momStepping .AND. .NOT.vectorInvariantMomentum ) THEN
0160 WRITE(msgBuf,'(2A)')
0161 & 'PACKAGES_CHECK: cannot step forward Momentum',
0162 & ' without pkg/mom_fluxform'
5e44d2ea81 Jean*0163 CALL PRINT_ERROR( msgBuf, myThid )
266d33b714 Jean*0164 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
0165 & 'Re-compile with pkg "mom_fluxform" in packages.conf'
5e44d2ea81 Jean*0166 CALL PRINT_ERROR( msgBuf, myThid )
308c696200 Jean*0167 CALL ALL_PROC_DIE( myThid )
266d33b714 Jean*0168 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
0169 ENDIF
1eeb28fe07 Alis*0170 #endif
0171
608c101f3d Jean*0172 #ifndef ALLOW_GENERIC_ADVDIFF
266d33b714 Jean*0173 IF ( tempStepping .OR. saltStepping ) THEN
0174 WRITE(msgBuf,'(2A)')
0175 & 'PACKAGES_CHECK: cannot step forward Temp or Salt',
0176 & ' without pkg/generic_advdiff'
5e44d2ea81 Jean*0177 CALL PRINT_ERROR( msgBuf, myThid )
266d33b714 Jean*0178 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
0179 & 'Re-compile with pkg "generic_advdiff" in packages.conf'
5e44d2ea81 Jean*0180 CALL PRINT_ERROR( msgBuf, myThid )
308c696200 Jean*0181 CALL ALL_PROC_DIE( myThid )
266d33b714 Jean*0182 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
0183 ENDIF
0184 #endif
0185
0186 #ifndef ALLOW_MONITOR
0187
5e44d2ea81 Jean*0188 IF ( monitorFreq.NE.zeroRL ) CALL PACKAGES_ERROR_MSG(
d85d0a6fc1 Jean*0189 & 'MONITOR', 'monitorFreq <> 0', myThid )
266d33b714 Jean*0190 #endif
0191
5e44d2ea81 Jean*0192 IF ( taveFreq.NE.zeroRL ) THEN
0193 #ifdef ALLOW_TIMEAVE
0194 WRITE(msgBuf,'(2A)') '** Warning **',
0195 & ' PACKAGES_CHECK: "pkg/timeave" no longer maintained'
0196 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0197 & SQUEEZE_RIGHT, myThid )
0198 WRITE(msgBuf,'(2A)') '** Warning **',
0199 & ' PACKAGES_CHECK: and will be removed in future release'
0200 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0201 & SQUEEZE_RIGHT, myThid )
0202 #else
266d33b714 Jean*0203
5e44d2ea81 Jean*0204 CALL PACKAGES_ERROR_MSG( 'TIMEAVE', 'taveFreq <> 0', myThid )
d85d0a6fc1 Jean*0205 #endif
5e44d2ea81 Jean*0206 ENDIF
d85d0a6fc1 Jean*0207
0208 #ifndef ALLOW_CD_CODE
5e44d2ea81 Jean*0209 IF ( useCDscheme ) CALL PACKAGES_ERROR_MSG(
d85d0a6fc1 Jean*0210 & 'CD_CODE', 'useCDscheme=.T.', myThid )
266d33b714 Jean*0211 #endif
0212
0213
0214
5593e3ac8c Jean*0215 #ifdef ALLOW_OBCS
5e44d2ea81 Jean*0216 IF ( useOBCS ) CALL OBCS_CHECK( myThid )
266d33b714 Jean*0217 #else
5e44d2ea81 Jean*0218 IF ( useOBCS ) CALL PACKAGES_ERROR_MSG( 'OBCS', ' ', myThid )
9da3c4e8e8 Jean*0219 #endif
0220
5593e3ac8c Jean*0221 #ifndef ALLOW_SHAP_FILT
5e44d2ea81 Jean*0222 IF ( useSHAP_FILT ) CALL PACKAGES_ERROR_MSG(
0223 & 'SHAP_FILT', ' ', myThid )
5593e3ac8c Jean*0224 #endif
0225
0226 #ifndef ALLOW_ZONAL_FILT
5e44d2ea81 Jean*0227 IF ( useZONAL_FILT )
5593e3ac8c Jean*0228 & CALL PACKAGES_ERROR_MSG( 'ZONAL_FILT', ' ', myThid )
0229 #endif
0230
0231 #ifdef ALLOW_OPPS
5e44d2ea81 Jean*0232 IF ( useOPPS ) CALL OPPS_CHECK( myThid )
2b6828d138 Alis*0233 #else
5e44d2ea81 Jean*0234 IF ( useOPPS ) CALL PACKAGES_ERROR_MSG( 'OPPS', ' ', myThid )
2b6828d138 Alis*0235 #endif
0236
e864122ae8 Mart*0237 #ifdef ALLOW_PP81
5e44d2ea81 Jean*0238 IF ( usePP81 ) CALL PP81_CHECK( myThid )
e864122ae8 Mart*0239 #else
5e44d2ea81 Jean*0240 IF ( usePP81 ) CALL PACKAGES_ERROR_MSG( 'PP81', ' ', myThid )
e864122ae8 Mart*0241 #endif
0242
d8d1486ca1 Jean*0243 #ifdef ALLOW_KL10
5e44d2ea81 Jean*0244 IF ( useKL10 ) CALL KL10_CHECK( myThid )
d8d1486ca1 Jean*0245 #else
5e44d2ea81 Jean*0246 IF ( useKL10 ) CALL PACKAGES_ERROR_MSG( 'KL10', ' ', myThid )
d8d1486ca1 Jean*0247 #endif
0248
e864122ae8 Mart*0249 #ifdef ALLOW_MY82
5e44d2ea81 Jean*0250 IF ( useMY82 ) CALL MY82_CHECK( myThid )
e864122ae8 Mart*0251 #else
5e44d2ea81 Jean*0252 IF ( useMY82 ) CALL PACKAGES_ERROR_MSG( 'MY82', ' ', myThid )
e864122ae8 Mart*0253 #endif
0254
69a7b27187 Mart*0255 #ifdef ALLOW_GGL90
5e44d2ea81 Jean*0256 IF ( useGGL90 ) CALL GGL90_CHECK( myThid )
69a7b27187 Mart*0257 #else
5e44d2ea81 Jean*0258 IF ( useGGL90 ) CALL PACKAGES_ERROR_MSG( 'GGL90', ' ', myThid )
69a7b27187 Mart*0259 #endif
0260
5593e3ac8c Jean*0261 #ifdef ALLOW_KPP
5e44d2ea81 Jean*0262 IF ( useKPP ) CALL KPP_CHECK( myThid )
69a7b27187 Mart*0263 #else
5e44d2ea81 Jean*0264 IF ( useKPP ) CALL PACKAGES_ERROR_MSG( 'KPP', ' ', myThid )
69a7b27187 Mart*0265 #endif
0266
d9cbf1fa03 Patr*0267 #ifdef ALLOW_GMREDI
5e44d2ea81 Jean*0268 IF ( useGMRedi ) CALL GMREDI_CHECK( myThid )
d9cbf1fa03 Patr*0269 #else
5e44d2ea81 Jean*0270 IF ( useGMRedi ) CALL PACKAGES_ERROR_MSG( 'GMRedi', ' ', myThid )
2b6828d138 Alis*0271 #endif
0272
15338fa568 Dimi*0273 #ifdef ALLOW_BBL
5e44d2ea81 Jean*0274 IF ( useBBL ) CALL BBL_CHECK( myThid )
15338fa568 Dimi*0275 #else
5e44d2ea81 Jean*0276 IF ( useBBL ) CALL PACKAGES_ERROR_MSG( 'BBL', ' ', myThid )
15338fa568 Dimi*0277 #endif
0278
5593e3ac8c Jean*0279 #ifndef ALLOW_DOWN_SLOPE
5e44d2ea81 Jean*0280 IF ( useDOWN_SLOPE ) CALL PACKAGES_ERROR_MSG(
0281 & 'DOWN_SLOPE', ' ', myThid )
d85d0a6fc1 Jean*0282 #endif
0283
5c264f5173 Jean*0284 #ifndef ALLOW_CAL
5e44d2ea81 Jean*0285 IF ( useCAL ) CALL PACKAGES_ERROR_MSG( 'CAL', ' ', myThid )
5c264f5173 Jean*0286 #endif
0287
3529a6b907 Jean*0288 #ifdef ALLOW_EXF
5e44d2ea81 Jean*0289 IF ( useEXF ) CALL EXF_CHECK( myThid )
3529a6b907 Jean*0290 #else
5e44d2ea81 Jean*0291 IF ( useEXF ) CALL PACKAGES_ERROR_MSG( 'EXF', ' ', myThid )
fb481a83c2 Alis*0292 #endif
0293
e65934771e Jean*0294 #ifndef ALLOW_BULK_FORCE
5e44d2ea81 Jean*0295 IF ( useBulkForce ) CALL PACKAGES_ERROR_MSG(
d85d0a6fc1 Jean*0296 & 'BULK_FORCE', 'useBulkForce=.T.', myThid )
e65934771e Jean*0297 #endif
0298
58d0aa8f35 Jean*0299 #ifndef ALLOW_EBM
5e44d2ea81 Jean*0300 IF ( useEBM ) CALL PACKAGES_ERROR_MSG( 'EBM', ' ', myThid )
58d0aa8f35 Jean*0301 #endif
0302
0303 #ifndef ALLOW_CHEAPAML
5e44d2ea81 Jean*0304 IF ( useCheapAML ) CALL PACKAGES_ERROR_MSG(
0305 & 'CheapAML', ' ', myThid )
58d0aa8f35 Jean*0306 #endif
0307
5593e3ac8c Jean*0308 #ifndef ALLOW_FLT
5e44d2ea81 Jean*0309 IF ( useFLT ) CALL PACKAGES_ERROR_MSG( 'FLT', ' ', myThid )
58d0aa8f35 Jean*0310 #endif
0311
cc9097e522 Oliv*0312 #ifdef ALLOW_LONGSTEP
5e44d2ea81 Jean*0313 IF ( usePTRACERS ) CALL LONGSTEP_CHECK( myThid )
cc9097e522 Oliv*0314 #endif
0315
f22b775377 Jean*0316 #ifdef ALLOW_PTRACERS
5e44d2ea81 Jean*0317 IF ( usePTRACERS ) CALL PTRACERS_CHECK( myThid )
f22b775377 Jean*0318 #else
5e44d2ea81 Jean*0319 IF ( usePTRACERS ) CALL PACKAGES_ERROR_MSG(
0320 & 'PTRACERS', ' ', myThid )
f6c3f3b6f4 Jean*0321 #endif
0322
0a90236bb2 Mart*0323 #ifdef ALLOW_GCHEM
5e44d2ea81 Jean*0324 IF ( useGCHEM ) CALL GCHEM_CHECK( myThid )
0a90236bb2 Mart*0325 #else
5e44d2ea81 Jean*0326 IF ( useGCHEM ) CALL PACKAGES_ERROR_MSG( 'GCHEM', ' ', myThid )
0a90236bb2 Mart*0327 #endif
0328
58d0aa8f35 Jean*0329 #ifndef ALLOW_RBCS
5e44d2ea81 Jean*0330 IF ( useRBCS ) CALL PACKAGES_ERROR_MSG( 'RBCS', ' ', myThid )
58d0aa8f35 Jean*0331 #endif
0332
b55b62ef62 Jean*0333 #ifdef ALLOW_OFFLINE
5e44d2ea81 Jean*0334 IF ( useOffLine ) CALL OFFLINE_CHECK( myThid )
b55b62ef62 Jean*0335 #else
5e44d2ea81 Jean*0336 IF ( useOffLine ) CALL PACKAGES_ERROR_MSG(
0337 & 'OffLine', ' ', myThid )
f4b031356b Jean*0338 #endif
0339
58d0aa8f35 Jean*0340 #ifndef ALLOW_MATRIX
5e44d2ea81 Jean*0341 IF ( useMATRIX ) CALL PACKAGES_ERROR_MSG( 'MATRIX', ' ', myThid )
58d0aa8f35 Jean*0342 #endif
0343
5593e3ac8c Jean*0344 #ifndef ALLOW_FRAZIL
5e44d2ea81 Jean*0345 IF ( useFRAZIL ) CALL PACKAGES_ERROR_MSG( 'FRAZIL', ' ', myThid )
6060ec2938 Dimi*0346 #endif
0347
5ee2971ab8 Patr*0348 #ifdef ALLOW_SEAICE
5e44d2ea81 Jean*0349 IF ( useSEAICE ) CALL SEAICE_CHECK( myThid )
5ee2971ab8 Patr*0350 #else
5e44d2ea81 Jean*0351 IF ( useSEAICE ) CALL PACKAGES_ERROR_MSG( 'SEAICE', ' ', myThid )
5ee2971ab8 Patr*0352 #endif
0353
58d0aa8f35 Jean*0354 #ifdef ALLOW_SALT_PLUME
5e44d2ea81 Jean*0355 IF ( useSALT_PLUME ) CALL SALT_PLUME_CHECK( myThid )
58d0aa8f35 Jean*0356 #else
5e44d2ea81 Jean*0357 IF ( useSALT_PLUME ) CALL PACKAGES_ERROR_MSG(
0358 & 'SALT_PLUME', ' ', myThid )
58d0aa8f35 Jean*0359 #endif
0360
a6cbc7a360 Mart*0361 #ifdef ALLOW_SHELFICE
5e44d2ea81 Jean*0362 IF ( useShelfIce ) CALL SHELFICE_CHECK( myThid )
a6cbc7a360 Mart*0363 #else
5e44d2ea81 Jean*0364 IF ( useShelfIce ) CALL PACKAGES_ERROR_MSG(
0365 & 'ShelfIce', ' ', myThid )
77a55fbebd Patr*0366 #endif
0367
00f81e6785 Ou W*0368 #ifdef ALLOW_STEEP_ICECAVITY
5e44d2ea81 Jean*0369 IF ( useSTIC ) CALL STIC_CHECK( myThid )
00f81e6785 Ou W*0370 #else
5e44d2ea81 Jean*0371 IF ( useSTIC ) CALL PACKAGES_ERROR_MSG(
0372 & 'STEEP_ICECAVITY', 'useSTIC=.T.', myThid )
00f81e6785 Ou W*0373 #endif
0374
7b8b86ab99 Timo*0375 #ifdef ALLOW_SMOOTH
5e44d2ea81 Jean*0376 IF ( useSmooth ) CALL SMOOTH_CHECK( myThid )
7b8b86ab99 Timo*0377 #else
5e44d2ea81 Jean*0378 IF ( useSmooth ) CALL PACKAGES_ERROR_MSG( 'Smooth', ' ', myThid )
7b8b86ab99 Timo*0379 #endif
0380
77a55fbebd Patr*0381 #ifdef ALLOW_STREAMICE
5e44d2ea81 Jean*0382 IF ( useStreamIce ) CALL STREAMICE_CHECK( myThid )
77a55fbebd Patr*0383 #else
5e44d2ea81 Jean*0384 IF ( useStreamIce ) CALL PACKAGES_ERROR_MSG(
0385 & 'StreamIce', ' ', myThid )
a6cbc7a360 Mart*0386 #endif
0387
5da8ce63fa Dimi*0388 #ifdef ALLOW_ICEFRONT
5e44d2ea81 Jean*0389 IF ( useICEFRONT ) CALL ICEFRONT_CHECK( myThid )
5da8ce63fa Dimi*0390 #else
5e44d2ea81 Jean*0391 IF ( useICEFRONT ) CALL PACKAGES_ERROR_MSG(
0392 & 'ICEFRONT', ' ', myThid )
5da8ce63fa Dimi*0393 #endif
0394
5593e3ac8c Jean*0395 #ifdef ALLOW_THSICE
5e44d2ea81 Jean*0396 IF ( useThSIce ) CALL THSICE_CHECK( myThid )
5593e3ac8c Jean*0397 #else
5e44d2ea81 Jean*0398 IF ( useThSIce ) CALL PACKAGES_ERROR_MSG( 'ThSIce', ' ', myThid )
5593e3ac8c Jean*0399 #endif
0400
b8e989b7a2 Jean*0401 #ifdef ALLOW_LAND
5e44d2ea81 Jean*0402 IF ( useLand ) CALL LAND_CHECK( myThid )
b8e989b7a2 Jean*0403 #else
5e44d2ea81 Jean*0404 IF ( useLand ) CALL PACKAGES_ERROR_MSG( 'Land', ' ', myThid )
5593e3ac8c Jean*0405 #endif
0406
0407 #ifndef ALLOW_ATM2D
5e44d2ea81 Jean*0408 IF ( useATM2d ) CALL PACKAGES_ERROR_MSG( 'ATM2d', ' ', myThid )
5593e3ac8c Jean*0409 #endif
0410
0411 #ifndef ALLOW_AIM
5e44d2ea81 Jean*0412 IF ( useAIM ) CALL PACKAGES_ERROR_MSG( 'AIM', ' ', myThid )
5593e3ac8c Jean*0413 #endif
0414
3902f6236f Jean*0415 #ifdef ALLOW_ATM_PHYS
5e44d2ea81 Jean*0416 IF ( useAtm_Phys ) CALL ATM_PHYS_CHECK( myThid )
3902f6236f Jean*0417 #else
5e44d2ea81 Jean*0418 IF ( useAtm_Phys ) CALL PACKAGES_ERROR_MSG(
0419 & 'Atm_Phys', ' ', myThid )
5593e3ac8c Jean*0420 #endif
0421
0422 #ifndef ALLOW_FIZHI
5e44d2ea81 Jean*0423 IF ( useFizhi ) CALL PACKAGES_ERROR_MSG( 'Fizhi', ' ', myThid )
5593e3ac8c Jean*0424 #endif
0425
0426 #ifndef ALLOW_GRIDALT
5e44d2ea81 Jean*0427 IF ( useGridAlt ) CALL PACKAGES_ERROR_MSG(
0428 & 'GridAlt', ' ', myThid )
5593e3ac8c Jean*0429 #endif
0430
edd57506ae Patr*0431 #ifdef ALLOW_AUTODIFF
5e44d2ea81 Jean*0432 IF ( useAUTODIFF ) CALL AUTODIFF_CHECK( myThid )
170b439592 Patr*0433 #endif
0434
0435 #ifdef ALLOW_CTRL
5e44d2ea81 Jean*0436 IF ( useCTRL ) CALL CTRL_CHECK( myThid )
170b439592 Patr*0437 #endif
0438
0439 #ifdef ALLOW_COST
5d7fa54ba5 Patr*0440 CALL COST_CHECK( myThid )
0441 #endif
0442
d4b64b229a Jean*0443 #ifdef ALLOW_ECCO
5e44d2ea81 Jean*0444 IF ( useECCO ) CALL ECCO_CHECK( myThid )
63499de982 Patr*0445 #endif
0446
58d0aa8f35 Jean*0447 #ifndef ALLOW_SMOOTH
5e44d2ea81 Jean*0448 IF ( useSMOOTH ) CALL PACKAGES_ERROR_MSG( 'SMOOTH', ' ', myThid )
58d0aa8f35 Jean*0449 #endif
0450
e994210c2e Gael*0451 #ifndef ALLOW_PROFILES
5e44d2ea81 Jean*0452 IF ( usePROFILES ) CALL PACKAGES_ERROR_MSG(
0453 & 'PROFILES', ' ', myThid )
e994210c2e Gael*0454 #endif
0455
d4b64b229a Jean*0456 #ifdef ALLOW_GRDCHK
5e44d2ea81 Jean*0457 IF ( useGrdChk ) CALL GRDCHK_CHECK( myThid )
d4b64b229a Jean*0458 #else
5e44d2ea81 Jean*0459 IF ( useGrdChk ) CALL PACKAGES_ERROR_MSG( 'GrdChk', ' ', myThid )
d4b64b229a Jean*0460 #endif
0461
5593e3ac8c Jean*0462 #ifdef ALLOW_SBO
5e44d2ea81 Jean*0463 IF ( useSBO ) CALL SBO_CHECK( myThid )
5593e3ac8c Jean*0464 #else
5e44d2ea81 Jean*0465 IF ( useSBO ) CALL PACKAGES_ERROR_MSG( 'SBO', ' ', myThid )
5593e3ac8c Jean*0466 #endif
0467
48121039da Jean*0468 #ifdef ALLOW_DIAGNOSTICS
5e44d2ea81 Jean*0469 IF ( useDiagnostics ) CALL DIAGNOSTICS_CHECK( myThid )
48121039da Jean*0470 #else
5e44d2ea81 Jean*0471 IF ( useDiagnostics )
d85d0a6fc1 Jean*0472 & CALL PACKAGES_ERROR_MSG( 'Diagnostics', ' ', myThid )
48121039da Jean*0473 #endif
0474
39cebd8084 Ed H*0475 #ifdef ALLOW_REGRID
5e44d2ea81 Jean*0476 IF ( useREGRID ) CALL REGRID_CHECK( myThid )
39cebd8084 Ed H*0477 #else
5e44d2ea81 Jean*0478 IF ( useREGRID ) CALL PACKAGES_ERROR_MSG( 'REGRID', ' ', myThid )
39cebd8084 Ed H*0479 #endif
0480
dfc9bc933c Ryan*0481 #ifdef ALLOW_LAYERS
0482 IF ( useLayers ) CALL LAYERS_CHECK( myThid )
0483 #else
5e44d2ea81 Jean*0484 IF ( useLayers ) CALL PACKAGES_ERROR_MSG( 'LAYERS', ' ', myThid )
dfc9bc933c Ryan*0485 #endif /* ALLOW_LAYERS */
0486
ba9a45d563 Jean*0487 #ifdef ALLOW_NEST_CHILD
5e44d2ea81 Jean*0488 IF ( useNEST_CHILD ) CALL NEST_CHILD_CHECK( myThid )
ba9a45d563 Jean*0489 #else
5e44d2ea81 Jean*0490 IF ( useNEST_CHILD ) CALL PACKAGES_ERROR_MSG(
0491 & 'NEST_CHILD', ' ', myThid )
ba9a45d563 Jean*0492 #endif
0493
0494 #ifdef ALLOW_NEST_PARENT
5e44d2ea81 Jean*0495 IF ( useNEST_PARENT ) CALL NEST_PARENT_CHECK( myThid )
ba9a45d563 Jean*0496 #else
5e44d2ea81 Jean*0497 IF ( useNEST_PARENT ) CALL PACKAGES_ERROR_MSG(
0498 & 'NEST_PARENT', ' ', myThid )
ba9a45d563 Jean*0499 #endif
0500
608c101f3d Jean*0501 #ifdef ALLOW_OASIS
5e44d2ea81 Jean*0502 IF ( useOASIS ) CALL OASIS_CHECK( myThid )
608c101f3d Jean*0503 #else
5e44d2ea81 Jean*0504 IF ( useOASIS ) CALL PACKAGES_ERROR_MSG( 'OASIS', ' ', myThid )
608c101f3d Jean*0505 #endif
0506
5593e3ac8c Jean*0507 #ifdef ALLOW_RUNCLOCK
5e44d2ea81 Jean*0508 IF ( useRunClock ) CALL RUNCLOCK_CHECK( myThid )
5593e3ac8c Jean*0509 #else
5e44d2ea81 Jean*0510 IF ( useRunClock ) CALL PACKAGES_ERROR_MSG(
0511 & 'RunClock', ' ', myThid )
608c101f3d Jean*0512 #endif
0513
58d0aa8f35 Jean*0514 #ifndef ALLOW_EMBED_FILES
5e44d2ea81 Jean*0515 IF ( useEMBED_FILES ) CALL PACKAGES_ERROR_MSG(
0516 & 'EMBED_FILES', ' ', myThid )
58d0aa8f35 Jean*0517 #endif
0518
0dc94a8572 Patr*0519 #ifdef ALLOW_MYPACKAGE
5e44d2ea81 Jean*0520 IF ( useMYPACKAGE ) CALL MYPACKAGE_CHECK( myThid )
0dc94a8572 Patr*0521 #else
5e44d2ea81 Jean*0522 IF ( useMYPACKAGE ) CALL PACKAGES_ERROR_MSG(
0523 & 'MYPACKAGE', ' ', myThid )
0dc94a8572 Patr*0524 #endif
0525
608c101f3d Jean*0526 #ifdef ALLOW_GENERIC_ADVDIFF
0527
0528
5e44d2ea81 Jean*0529 IF ( useGAD ) CALL GAD_CHECK( myThid )
dfc9bc933c Ryan*0530 #endif
95b5f9e47f Patr*0531
d85d0a6fc1 Jean*0532
0533 IF ( useEXF .AND. useBulkForce ) THEN
0534 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
0535 & 'both useEXF and useBulkForce are set'
5e44d2ea81 Jean*0536 CALL PRINT_ERROR( msgBuf, myThid )
d85d0a6fc1 Jean*0537 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
0538 & ' but cannot be used together => need to select only one.'
5e44d2ea81 Jean*0539 CALL PRINT_ERROR( msgBuf, myThid )
308c696200 Jean*0540 CALL ALL_PROC_DIE( myThid )
d85d0a6fc1 Jean*0541 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
0542 ENDIF
0543
15338fa568 Dimi*0544
0545 IF ( useDOWN_SLOPE .AND. useBBL ) THEN
0546 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
0547 & 'both useDOWN_SLOPE and useBBL are set'
5e44d2ea81 Jean*0548 CALL PRINT_ERROR( msgBuf, myThid )
15338fa568 Dimi*0549 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
0550 & ' but cannot be used together => need to select only one.'
5e44d2ea81 Jean*0551 CALL PRINT_ERROR( msgBuf, myThid )
308c696200 Jean*0552 CALL ALL_PROC_DIE( myThid )
15338fa568 Dimi*0553 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
0554 ENDIF
0555
fb481a83c2 Alis*0556 RETURN
0557 END