Back to home page

MITgcm

 
 

    


File indexing completed on 2026-07-18 05:08:28 UTC

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