File indexing completed on 2024-03-02 06:10:18 UTC
view on githubraw file Latest commit 5cf43646 on 2024-03-01 18:50:49 UTC
7bfe6112e8 Jean*0001 #include "CTRL_OPTIONS.h"
cf705a6c8e Mart*0002 #include "AD_CONFIG.h"
0003 #ifdef ALLOW_ECCO
0004 # include "ECCO_OPTIONS.h"
0005 #endif
94a8024bbe Jean*0006 #ifdef ALLOW_GMREDI
0007 # include "GMREDI_OPTIONS.h"
0008 #endif
bf759c6109 Gael*0009 #ifdef ALLOW_EXF
0010 # include "EXF_OPTIONS.h"
0011 #endif
7b8b86ab99 Timo*0012 #ifdef ALLOW_SHELFICE
0013 # include "SHELFICE_OPTIONS.h"
0014 #endif
042be14492 Patr*0015
698b6992ee Jean*0016
0017
0018
042be14492 Patr*0019 SUBROUTINE CTRL_CHECK( myThid )
698b6992ee Jean*0020
0021
0022
d592a6ea2a Jean*0023
698b6992ee Jean*0024
d592a6ea2a Jean*0025
698b6992ee Jean*0026
0027
0028
0029
042be14492 Patr*0030 IMPLICIT NONE
0031
0032
0033 #include "SIZE.h"
0034 #include "EEPARAMS.h"
0035 #include "PARAMS.h"
5cf4364659 Mart*0036 #include "CTRL_SIZE.h"
4d72283393 Mart*0037 #include "CTRL.h"
54efc7cf00 Gael*0038 #ifdef ALLOW_EXF
0039 # include "EXF_PARAM.h"
0040 #endif
954f010844 Gael*0041 #include "CTRL_GENARR.h"
042be14492 Patr*0042
698b6992ee Jean*0043
6b47d550f4 Mart*0044
042be14492 Patr*0045 INTEGER myThid
0046
698b6992ee Jean*0047 #if (defined (ALLOW_GENARR3D_CONTROL) && defined(ALLOW_PTRACERS))
0048
0049 INTEGER ILNBLNK
0050 EXTERNAL ILNBLNK
0051 #endif
0052
0053
6b47d550f4 Mart*0054
042be14492 Patr*0055 CHARACTER*(MAX_LEN_MBUF) msgBuf
698b6992ee Jean*0056 INTEGER errCount
0057 #if ( defined ALLOW_GENARR2D_CONTROL || defined ALLOW_GENARR3D_CONTROL || defined ALLOW_GENTIM2D_CONTROL )
9f5240b52a Jean*0058 INTEGER iarr
0059 #endif
0060 #if ( defined ALLOW_GENARR2D_CONTROL || defined ALLOW_GENARR3D_CONTROL )
0061 INTEGER k2
954f010844 Gael*0062 #endif
698b6992ee Jean*0063 #if ( defined ALLOW_GENARR3D_CONTROL && defined ALLOW_PTRACERS )
0064 INTEGER iLen, iPtr, ascii_1
0065 #endif
cf705a6c8e Mart*0066 #ifdef ECCO_CTRL_DEPRECATED
0067 INTEGER ioUnit
0068 CHARACTER*(16) w_sfx
0069 #endif
698b6992ee Jean*0070
954f010844 Gael*0071
698b6992ee Jean*0072
0073
0074 _BEGIN_MASTER(myThid)
0075 errCount = 0
0076
0077 WRITE(msgBuf,'(2A)') 'CTRL_CHECK: ',
0078 & ' --> Starts to check CTRL set-up'
042be14492 Patr*0079 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
d592a6ea2a Jean*0080 & SQUEEZE_RIGHT, myThid )
042be14492 Patr*0081
0082 #ifdef ALLOW_TANGENTLINEAR_RUN
698b6992ee Jean*0083 IF ( yadmark .NE. 'g_' ) THEN
0084 WRITE(msgBuf,'(A)')
042be14492 Patr*0085 & 'yadmark very likely wrong in data.ctrl for case '
698b6992ee Jean*0086 CALL PRINT_ERROR( msgBuf, myThid )
0087 WRITE(msgBuf,'(A)')
042be14492 Patr*0088 & 'ALLOW_TANGENTLINEAR_RUN; should be g_ '
698b6992ee Jean*0089 CALL PRINT_ERROR( msgBuf, myThid )
0090 errCount = errCount + 1
0091 ENDIF
d592a6ea2a Jean*0092 #endif
0093
6b47d550f4 Mart*0094 #ifdef ALLOW_GENTIM2D_CONTROL
cf705a6c8e Mart*0095 IF ( .NOT.useCAL ) THEN
6b47d550f4 Mart*0096 WRITE(msgBuf,'(2A)') '** WARNING ** CTRL_CHECK: ',
cf705a6c8e Mart*0097 & 'ALLOW_GENTIM2D_CONTROL is'
6b47d550f4 Mart*0098 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0099 & SQUEEZE_RIGHT, myThid )
0100 WRITE(msgBuf,'(2A)') '** WARNING ** ',
0101 & ' unsafe without calendar package (currently: useCAL=F)'
0102 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
0103 & SQUEEZE_RIGHT, myThid )
0104 ENDIF
0105 #endif
0106
954f010844 Gael*0107 #ifndef ALLOW_OPENAD
0108
0109 #ifdef ALLOW_GENARR2D_CONTROL
698b6992ee Jean*0110 DO iarr = 1, maxCtrlArr2D
0111 IF (((xx_genarr2d_weight(iarr).NE.' ').AND.
954f010844 Gael*0112 & (xx_genarr2d_file(iarr).EQ.' ')).OR.
0113 & ((xx_genarr2d_weight(iarr).EQ.' ').AND.
698b6992ee Jean*0114 & (xx_genarr2d_file(iarr).NE.' '))) THEN
0115 WRITE(msgBuf,'(3A)') 'CTRL_CHECK: ',
954f010844 Gael*0116 & 'Cannot define xx_genarr2d_weight or xx_genarr2d_file ',
0117 & 'separately'
698b6992ee Jean*0118 CALL PRINT_ERROR( msgBuf, myThid )
0119 errCount = errCount + 1
0120 ENDIF
0121 ENDDO
0122 #endif /* ALLOW_GENARR2D_CONTROL */
954f010844 Gael*0123
0124 #ifdef ALLOW_GENARR3D_CONTROL
698b6992ee Jean*0125 DO iarr = 1, maxCtrlArr3D
0126 IF (((xx_genarr3d_weight(iarr).NE.' ').AND.
954f010844 Gael*0127 & (xx_genarr3d_file(iarr).EQ.' ')).OR.
0128 & ((xx_genarr3d_weight(iarr).EQ.' ').AND.
698b6992ee Jean*0129 & (xx_genarr3d_file(iarr).NE.' '))) THEN
0130 WRITE(msgBuf,'(3A)') 'CTRL_CHECK: ',
954f010844 Gael*0131 & 'Cannot define xx_genarr3d_weight or xx_genarr3d_file ',
0132 & 'separately'
698b6992ee Jean*0133 CALL PRINT_ERROR( msgBuf, myThid )
0134 errCount = errCount + 1
0135 ENDIF
0136 ENDDO
0137 # ifdef ALLOW_PTRACERS
0138
0139 IF ( usePTRACERS ) THEN
0140 DO iarr = 1, maxCtrlArr3D
0141 iLen = ILNBLNK(xx_genarr3d_file(iarr))
0142 IF ( iLen.EQ.7 .AND.
0143 & xx_genarr3d_file(iarr)(1:6).EQ.'xx_ptr' ) THEN
0144 ascii_1 = ICHAR( xx_genarr3d_file(iarr)(7:7) )
0145
0146 IF ( ascii_1.GE.49 .AND. ascii_1.LE.57 ) THEN
0147 READ(xx_genarr3d_file(iarr)(7:7),*) iPtr
0148 WRITE(msgBuf,'(2A,I4,A)') 'CTRL_CHECK: ',
0149 & 'pTracer #', iPtr, ' in Gen-CTRL'
0150 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0151 & SQUEEZE_RIGHT, myThid )
0152 ELSE
0153 WRITE(msgBuf,'(4A)') 'CTRL_CHECK: ',
0154 & 'Gen-CTRL file "', xx_genarr3d_file(iarr)(1:iLen), '"'
0155 CALL PRINT_ERROR( msgBuf, myThid )
0156 WRITE(msgBuf,'(2A,I3,A)') 'CTRL_CHECK: <-- ',
0157 & 'do not match any pTr number (ascii=', ascii_1, ')'
0158 CALL PRINT_ERROR( msgBuf, myThid )
0159 errCount = errCount + 1
0160 ENDIF
0161 ENDIF
0162 ENDDO
0163 ENDIF
0164 # endif /* ALLOW_PTRACERS */
0165 #endif /* ALLOW_GENARR3D_CONTROL */
954f010844 Gael*0166
0167 #ifdef ALLOW_GENTIM2D_CONTROL
698b6992ee Jean*0168 DO iarr = 1, maxCtrlTim2D
0169 IF (((xx_gentim2d_weight(iarr).NE.' ').AND.
954f010844 Gael*0170 & (xx_gentim2d_file(iarr).EQ.' ')).OR.
0171 & ((xx_gentim2d_weight(iarr).EQ.' ').AND.
698b6992ee Jean*0172 & (xx_gentim2d_file(iarr).NE.' '))) THEN
0173 WRITE(msgBuf,'(3A)') 'CTRL_CHECK: ',
954f010844 Gael*0174 & 'Cannot define xx_gentim2d_weight or xx_gentim2d_file ',
0175 & 'separately'
698b6992ee Jean*0176 CALL PRINT_ERROR( msgBuf, myThid )
0177 errCount = errCount + 1
0178 ENDIF
0179 ENDDO
0180 #endif /* ALLOW_GENTIM2D_CONTROL */
954f010844 Gael*0181
698b6992ee Jean*0182 #endif /* ndef ALLOW_OPENAD */
954f010844 Gael*0183
d592a6ea2a Jean*0184 #ifdef ALLOW_DIFFKR_CONTROL
0185
698b6992ee Jean*0186 # ifndef ALLOW_3D_DIFFKR
0187 WRITE(msgBuf,'(A)')
d592a6ea2a Jean*0188 & 'Needs to define ALLOW_3D_DIFFKR to use DIFFKR_CONTROL'
698b6992ee Jean*0189 CALL PRINT_ERROR( msgBuf, myThid )
0190 errCount = errCount + 1
0191 # endif
d592a6ea2a Jean*0192 #endif /* ALLOW_DIFFKR_CONTROL */
042be14492 Patr*0193
94a8024bbe Jean*0194 #ifdef ALLOW_KAPGM_CONTROL
0195
0196 # ifndef GM_READ_K3D_GM
0197 WRITE(msgBuf,'(A)')
0198 & 'Needs to define GM_READ_K3D_GM to use KAPGM_CONTROL'
0199 CALL PRINT_ERROR( msgBuf, myThid )
0200 errCount = errCount + 1
0201 # endif
0202 #endif /* ALLOW_KAPGM_CONTROL */
0203
0204 #ifdef ALLOW_KAPREDI_CONTROL
0205
0206 # ifndef GM_READ_K3D_REDI
0207 WRITE(msgBuf,'(A)')
0208 & 'Needs to define GM_READ_K3D_REDI to use KAPREDI_CONTROL'
0209 CALL PRINT_ERROR( msgBuf, myThid )
0210 errCount = errCount + 1
0211 # endif
0212 #endif /* ALLOW_KAPREDI_CONTROL */
0213
94069ed3c1 Gael*0214 #ifndef ALLOW_PACKUNPACK_METHOD2
0215 # ifndef EXCLUDE_CTRL_PACK
698b6992ee Jean*0216 IF ( useSingleCpuIO ) THEN
94069ed3c1 Gael*0217 WRITE(msgBuf,'(3A)') '** WARNING ** CTRL_CHECK: ',
0218 & 'relying on mdsio_gl.F to pack/unpack the control',
0219 & 'vector is unsafe when useSingleCpuIO is true.'
6b47d550f4 Mart*0220 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
94069ed3c1 Gael*0221 & SQUEEZE_RIGHT, myThid )
698b6992ee Jean*0222 ENDIF
94069ed3c1 Gael*0223 # endif
698b6992ee Jean*0224 #endif /* ndef ALLOW_PACKUNPACK_METHOD2 */
94069ed3c1 Gael*0225
0226 #ifdef ALLOW_PACKUNPACK_METHOD2
698b6992ee Jean*0227 # ifndef EXCLUDE_CTRL_PACK
cda1c18f72 Jean*0228 # ifdef ALLOW_OBCS_CONTROL
698b6992ee Jean*0229 WRITE(msgBuf,'(2A)')
94069ed3c1 Gael*0230 & 'ALLOW_PACKUNPACK_METHOD2 does not work with',
0231 & 'open boundary controls (see verif/obcs_ctrl).'
698b6992ee Jean*0232 CALL PRINT_ERROR( msgBuf, myThid )
0233 errCount = errCount + 1
0234 # endif
0235 # endif /* ndef EXCLUDE_CTRL_PACK */
0236 #endif /* ALLOW_PACKUNPACK_METHOD2 */
0237
11c3150c71 Mart*0238 #ifdef ALLOW_HFLUXM_CONTROL
0239 WRITE(msgBuf,'(2A)') 'CTRL_CHECK: ',
0240 & 'CPP-flag ALLOW_HFLUXM_CONTROL has been retired.'
0241 CALL PRINT_ERROR( msgBuf, myThid )
0242 WRITE(msgBuf,'(2A)') 'CTRL_CHECK: ',
0243 & 'tutorial_global_oce_optim, which was the only experiment'
0244 CALL PRINT_ERROR( msgBuf, myThid )
0245 WRITE(msgBuf,'(2A)') 'CTRL_CHECK: ',
0246 & 'that used this flag, now uses the generic control xx_qnet'
0247 CALL PRINT_ERROR( msgBuf, myThid )
0248 WRITE(msgBuf,'(2A)') 'CTRL_CHECK: ',
0249 & 'to achieve the same thing.'
0250 CALL PRINT_ERROR( msgBuf, myThid )
cf705a6c8e Mart*0251 errCount = errCount + 1
11c3150c71 Mart*0252 #endif /* ALLOW_HFLUXM_CONTROL */
0253
edcd27be69 Mart*0254 #ifdef ALLOW_HFACC_CONTROL
0255 WRITE(msgBuf,'(2A)') 'CTRL_CHECK: ',
0256 & 'CPP-flag ALLOW_HFACC_CONTROL has been retired.'
0257 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0258 errCount = errCount + 1
0259 #endif
0260 #ifdef ALLOW_HFACC3D_CONTROL
0261 WRITE(msgBuf,'(2A)') 'CTRL_CHECK: ',
0262 & 'CPP-flag ALLOW_HFACC3D_CONTROL has been retired.'
0263 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0264 errCount = errCount + 1
0265 #endif
0266
7b8b86ab99 Timo*0267 #ifdef ALLOW_GENARR2D_CONTROL
edcd27be69 Mart*0268
7b8b86ab99 Timo*0269 DO iarr = 1, maxCtrlArr2D
0270 DO k2 = 1, maxCtrlProc
0271 IF ( (xx_genarr2d_preproc(k2,iarr).EQ.'noscaling') .AND.
0272 & (xx_genarr2d_preproc_c(k2,iarr).EQ.'log10ctrl') ) THEN
0273 WRITE(msgBuf,'(A)')
0274 & 'CTRL_CHECK: conflicting preproc_c & preproc flags '
0275 CALL PRINT_ERROR( msgBuf, myThid )
0276 WRITE(msgBuf,'(A,I2,A)')
0277 & 'log10ctrl and noscaling set for xx_genarr2d(',iarr,').'
0278 CALL PRINT_ERROR( msgBuf, myThid )
cf705a6c8e Mart*0279 errCount = errCount + 1
7b8b86ab99 Timo*0280 ENDIF
0281 ENDDO
0282 ENDDO
0283 # ifdef ALLOW_SHELFICE
0284 # ifdef SHI_ALLOW_GAMMAFRICT
0285
0286 DO iarr = 1, maxCtrlArr2D
0287 IF ( (xx_genarr2d_file(iarr)(1:11).EQ.'xx_shicoeff')) THEN
0288 WRITE(msgBuf,'(2A,I2,A)')
0289 & 'shiTransCoeffT or S set as control variable for ',
0290 & 'xx_genarr2d(', iarr,'). '
0291 CALL PRINT_ERROR( msgBuf, myThid )
0292 WRITE(msgBuf,'(2A)')
0293 & 'Cannot use shiTransCoeffT/S when SHI_ALLOW_GAMMAFRICT ',
0294 & 'is defined'
0295 CALL PRINT_ERROR( msgBuf, myThid )
cf705a6c8e Mart*0296 errCount = errCount + 1
7b8b86ab99 Timo*0297 ENDIF
0298 ENDDO
0299 # else
0300
0301
0302
0303 DO iarr = 1, maxCtrlArr2D
0304 IF ( (xx_genarr2d_file(iarr)(1:11).EQ.'xx_shicdrag')) THEN
0305 WRITE(msgBuf,'(2A,I2,A)')
0306 & 'shiCDrag set as control variable for ',
0307 & 'xx_genarr2d(', iarr,'). '
0308 CALL PRINT_ERROR( msgBuf, myThid )
0309 WRITE(msgBuf,'(2A)')
0310 & 'Cannot use shiCDrag when SHI_ALLOW_GAMMAFRICT ',
0311 & 'is NOT defined'
0312 CALL PRINT_ERROR( msgBuf, myThid )
cf705a6c8e Mart*0313 errCount = errCount + 1
7b8b86ab99 Timo*0314 ENDIF
0315 ENDDO
0316 # endif /* SHI_ALLOW_GAMMAFRICT */
0317 # endif /* ALLOW_SHELFICE */
0318 #endif /* ALLOW_GENARR2D_CONTROL */
0319
0320 #ifdef ALLOW_GENARR3D_CONTROL
edcd27be69 Mart*0321
7b8b86ab99 Timo*0322 DO iarr = 1, maxCtrlArr3D
0323 DO k2 = 1, maxCtrlProc
0324 IF ( (xx_genarr3d_preproc(k2,iarr).EQ.'noscaling') .AND.
0325 & (xx_genarr3d_preproc_c(k2,iarr).EQ.'log10ctrl') ) THEN
0326 WRITE(msgBuf,'(A)')
0327 & 'CTRL_CHECK: conflicting preproc_c & preproc flags '
0328 CALL PRINT_ERROR( msgBuf, myThid )
0329 WRITE(msgBuf,'(A,I2,A)')
0330 & 'log10ctrl and noscaling set for xx_genarr2d(',iarr,'). '
0331 CALL PRINT_ERROR( msgBuf, myThid )
cf705a6c8e Mart*0332 errCount = errCount + 1
7b8b86ab99 Timo*0333 ENDIF
0334 ENDDO
0335 ENDDO
0336 #endif
0337
cf705a6c8e Mart*0338 #ifdef ECCO_CTRL_DEPRECATED
0339 WRITE(msgBuf,'(2A)') 'CTRL_CHECK: CPP-flag ECCO_CTRL_DEPRECATED',
0340 & ' is no longer available.'
0341 CALL PRINT_ERROR( msgBuf, myThid )
0342 ioUnit = errorMessageUnit
0343 w_sfx = '** WARNING ** : '
0344 WRITE(msgBuf,'(2A)') '** WARNING ** CTRL_CHECK: ',
0345 & 'Along with ECCO_CTRL_DEPRECATED a long list'
0346 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0347 WRITE(msgBuf,'(2A)') '** WARNING ** CTRL_CHECK: ',
0348 & ' of CPP-flags have no effect anymore:'
0349 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0350
0351 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_APRESSURE_CONTROL'
0352 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0353 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_APRESSURE_COST_CONTRIBUTION'
0354 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0355 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_AQH_CONTROL'
0356 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0357 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_ARGO_SALT_COST_CONTRIBUTION'
0358 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0359 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_ARGO_THETA_COST_CONTRIBUTION'
0360 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0361 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_ATEMP_CONTROL'
0362 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0363 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_ATM_MEAN_CONTROL'
0364 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0365 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_AUTODIFF_INIT_OLD'
0366 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0367 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_BOTTOMDRAG_CONTROL_NONGENERIC'
0368 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0369 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_BOTTOMDRAG_COST_CONTRIBUTION'
0370 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0371 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_BP_COST_CONTRIBUTION'
0372 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0373 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_CTDS_COST_CONTRIBUTION'
0374 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0375 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_CTDT_COST_CONTRIBUTION'
0376 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0377 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_CTRL_SMOOTH'
0378 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0379 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_DAILYSCAT_COST_CONTRIBUTION'
0380 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0381 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_DAILYSST_COST_CONTRIBUTION'
0382 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0383
0384 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_DIFFKR_COST_CONTRIBUTION'
0385 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0386 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_DRIFTER_COST_CONTRIBUTION'
0387 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0388 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_DRIFTW_COST_CONTRIBUTION'
0389 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0390
0391
0392 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_EDDYPSI_COST_CONTRIBUTION'
0393 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0394 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_EFLUXY0_CONTROL'
0395 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0396
0397 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_EGM96_ERROR_DIAG'
0398 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0399 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_ETAN0_COST_CONTRIBUTION'
0400 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0401 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_EVAP_CONTROL'
0402 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0403 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_EVAP_COST_CONTRIBUTION'
0404 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0405 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_GEN2D_CONTROL'
0406 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0407 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_GEN3D_CONTROL'
0408 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0409
0410 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_HFLUX_COST_CONTRIBUTION'
0411 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0412 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_IESTAU_COST_CONTRIBUTION'
0413 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0414 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_KAPGM_COST_CONTRIBUTION'
0415 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0416 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_KAPREDI_COST_CONTRIBUTION'
0417 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0418 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_LWDOWN_CONTROL'
0419 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0420 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_LWDOWN_COST_CONTRIBUTION'
0421 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0422 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_LWFLUX_CONTROL'
0423 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0424 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_LWFLUX_COST_CONTRIBUTION'
0425 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0426 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_MEAN_HFLUX_COST_CONTRIBUTION'
0427 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0428 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_NEW_SSH_COST'
0429 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0430
0431 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_PRECIP_CONTROL'
0432 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0433 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_PRECIP_COST_CONTRIBUTION'
0434 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0435
0436 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_RELAXSSS_CONTROL'
0437 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0438 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_RELAXSST_CONTROL'
0439 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0440 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_RUNOFF_CONTROL'
0441 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0442 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_RUNOFF_COST_CONTRIBUTION'
0443 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0444 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SALT0_COST_CONTRIBUTION'
0445 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0446 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SALT_COST_CONTRIBUTION'
0447 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0448 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SCAT_COST_CONTRIBUTION'
0449 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0450 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SFLUX_COST_CONTRIBUTION'
0451 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0452 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SMOOTH_BC_COST_CONTRIBUTION'
0453 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0454 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SMOOTH_CTRL3D'
0455 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0456 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SNOWPRECIP_CONTROL'
0457 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0458 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SNOWPRECIP_COST_CONTRIBUTION'
0459 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0460
0461 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SSH_COST_CONTRIBUTION'
0462 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0463 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SSH_ERSANOM_COST_CONTRIBUTION'
0464 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0465 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SSH_GFOANOM_COST_CONTRIBUTION'
0466 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0467 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SSH_MEAN_COST_CONTRIBUTION'
0468 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0469 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SSH_TOT'
0470 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0471 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SSH_TPANOM_COST_CONTRIBUTION'
0472 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0473 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SSHV4_COST'
0474 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0475 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SSS_CONTROL'
0476 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0477 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SSS_COST_CONTRIBUTION'
0478 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0479 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SST_CONTROL'
0480 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0481 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SST_COST_CONTRIBUTION'
0482 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0483
0484 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_STRESS_MEAN_COST_CONTRIBUTION'
0485 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0486 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SWDOWN_CONTROL'
0487 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0488 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SWDOWN_COST_CONTRIBUTION'
0489 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0490 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SWFLUX_CONTROL'
0491 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0492 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_SWFLUX_COST_CONTRIBUTION'
0493 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0494 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_THETA0_COST_CONTRIBUTION'
0495 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0496 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_THETA_COST_CONTRIBUTION'
0497 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0498 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_TMI_SST_COST_CONTRIBUTION'
0499 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0500 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_TRANSPORT_COST_CONTRIBUTION'
0501 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0502 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_USTRESS_COST_CONTRIBUTION'
0503 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0504 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_UVEL0_COST_CONTRIBUTION'
0505 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0506 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_UWIND_CONTROL'
0507 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0508 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_UWIND_COST_CONTRIBUTION'
0509 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0510 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_VSTRESS_COST_CONTRIBUTION'
0511 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0512 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_VVEL0_COST_CONTRIBUTION'
0513 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0514 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_VWIND_CONTROL'
0515 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0516 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_VWIND_COST_CONTRIBUTION'
0517 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0518 WRITE(msgBuf,'(2A)') w_sfx, 'ALLOW_XBT_COST_CONTRIBUTION'
0519 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0520
0521
0522
0523
0524
0525
0526
0527
0528
0529 WRITE(msgBuf,'(2A)') w_sfx, 'DISABLE_CTRL_THETA_LIMIT'
0530 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0531 WRITE(msgBuf,'(2A)') w_sfx, 'GENERIC_BAR_MONTH'
0532 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0533
0534 WRITE(msgBuf,'(2A)') '** WARNING ** CTRL_CHECK: ',
0535 & 'end of CPP-flag list that have no effect anymore.'
0536 CALL PRINT_MESSAGE( msgBuf, ioUnit, SQUEEZE_RIGHT, myThid )
0537 errCount = errCount + 1
0538 #endif /* ECCO_CTRL_DEPRECATED */
0539
0540 IF ( errCount.GE.1 ) THEN
0541 WRITE(msgBuf,'(A,I3,A)')
0542 & 'CTRL_CHECK: detected', errCount,' fatal error(s)'
0543 CALL PRINT_ERROR( msgBuf, myThid )
0544 CALL ALL_PROC_DIE( 0 )
0545 STOP 'ABNORMAL END: S/R CTRL_CHECK'
0546 ENDIF
0547
0548 WRITE(msgBuf,'(2A)') 'CTRL_CHECK: ',
0549 & ' <-- Ends Normally'
0550 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0551 & SQUEEZE_RIGHT, myThid )
0552 WRITE(msgBuf,'(2A)') ' '
0553 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0554 & SQUEEZE_RIGHT, myThid )
0555 _END_MASTER(myThid)
0556
99fb70dae5 Jean*0557 RETURN
0558 END