Changeset 15315
- Timestamp:
- 2021-10-01T14:07:41+02:00 (20 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.4_CO9_shelf_climate/src/OCE/TRA/tranxt.F90
r14075 r15315 47 47 USE agrif_oce_interp 48 48 #endif 49 !JT for ctrl warn 50 USE lib_mpp 51 !JT for ctrl warn 49 52 50 53 IMPLICIT NONE … … 54 57 PUBLIC tra_nxt_fix ! to be used in trcnxt 55 58 PUBLIC tra_nxt_vvl ! to be used in trcnxt 59 60 !JT 61 INTEGER :: warn_1, warn_2 ! indicators for warning statement 62 INTEGER , PUBLIC :: nn_tranxticing ! region mean calculation 63 !JT 56 64 57 65 !! * Substitutions … … 90 98 INTEGER :: ji, jj, jk, jn ! dummy loop indices 91 99 REAL(wp) :: zfact ! local scalars 100 ! JT 101 INTEGER :: ios ! dummy loop indices 102 REAL(wp) :: zfreeze ! local scalars 103 ! JT 92 104 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrdt, ztrds 93 105 !!---------------------------------------------------------------------- … … 99 111 IF(lwp) WRITE(numout,*) 'tra_nxt : achieve the time stepping by Asselin filter and array swap' 100 112 IF(lwp) WRITE(numout,*) '~~~~~~~' 113 114 115 116 117 NAMELIST/nam_tranxticing/ nn_tranxticing 118 119 REWIND ( numnam_ref ) ! Read Namelist nam_diatmb in referdiatmbence namelist : TMB diagnostics 120 READ ( numnam_ref, nam_tranxticing, IOSTAT=ios, ERR= 901 ) 121 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_tranxticing in reference namelist' ) 122 123 REWIND( numnam_cfg ) ! Namelist nam_diatmb in configuration namelist TMB diagnostics 124 READ ( numnam_cfg, nam_tranxticing, IOSTAT = ios, ERR = 902 ) 125 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nam_tranxticing in configuration namelist' ) 126 IF(lwm) WRITE ( numond, nam_tranxticing ) 127 128 IF(lwp) THEN ! Control print 129 WRITE(numout,*) 130 WRITE(numout,*) 'tra_nxt : Catching Icing' 131 WRITE(numout,*) '~~~~~~~~~~~~' 132 WRITE(numout,*) 'Namelist nam_tranxticing : catch freezing points ' 133 WRITE(numout,*) 'Int switch for icing catch (0=Off; 1=Error; 2 Warn (verbose); 3 Warn (Quiet); nn_tranxticing = ', nn_tranxticing 134 ENDIF 135 136 137 138 139 101 140 ENDIF 102 141 … … 168 207 ! 169 208 ENDIF 170 ! 209 !JT 210 ! 211 #if ( ! defined key_lim3 && ! defined key_lim2 && ! key_cice ) 212 213 IF (nn_tranxticing .GT. 0) THEN 214 IF ( kt == nit000 ) warn_1=0 215 warn_2=0 216 DO jk = 1, jpkm1 217 DO jj = 1, jpj 218 DO ji = 1, jpi 219 IF ( tsa(ji,jj,jk,jp_tem) .lt. 0.0 ) THEN 220 ! calculate the freezing point 221 zfreeze = ( -0.0575_wp + 1.710523E-3 * Sqrt (Abs(tsn(ji,jj,jk,jp_sal))) & 222 - 2.154996E-4 * tsn(ji,jj,jk,jp_sal) ) * tsn(ji,jj,jk,jp_sal) - 7.53E-4 * ( 10.0_wp + gdept_n(ji,jj,jk) ) 223 IF ( tsn(ji,jj,jk,jp_tem) .lt. zfreeze ) THEN 224 IF (nn_tranxticing .lt. 3) THEN 225 226 WRITE(numout,300) ' tranxticing: ', & 227 & kt,zfreeze,tsn(ji,jj,jk,jp_tem),ji,jj,jk,narea,ji-1+njmpp-1+jpjglo,jj-1+nimpp-1+jpiglo 228 !JT & kt,zfreeze,tsn(ji,jj,jk,jp_tem),ji,jj,jk,narea,ji-1+njmpp-1+jpjzoom,jj-1+nimpp-1+jpizoom 229 230 300 FORMAT(A14,1X,I7,1X,f9.2,1X,f9.2,1X,I4,1X,I4,1X,I4,1X,I4,1X,I4,1X,I4) 231 232 ENDIF 233 tsn(ji,jj,jk,jp_tem)=zfreeze 234 warn_2=1 235 ENDIF 236 ENDIF 237 END DO 238 END DO 239 END DO 240 241 242 !CALL mpp_max('warn_1') 243 !CALL mpp_max('warn_2') 244 ! IF ( (warn_1 == 0) .AND. (warn_2 /= 0) ) THEN 245 ! IF(lwp) THEN 246 ! 247 ! IF (nn_tranxticing .GT. 1) CALL ctl_warn( ' tranxticing: Temperatures dropping below freezing point, ', & 248 ! & ' being forced to freezing point, no longer conservative' ) 249 ! 250 ! IF (nn_tranxticing .EQ. 1) CALL ctl_stop( ' tranxticing: Temperatures dropping below freezing point, ', & 251 ! & ' being forced to freezing point, no longer conservative' ) 252 ! 253 ! ENDIF 254 ! warn_1=1 255 ! ENDIF 256 257 ENDIF 258 #endif 259 !JT 260 171 261 IF( l_trdtra .AND. ln_linssh ) THEN ! trend of the Asselin filter (tb filtered - tb)/dt 172 262 zfact = 1._wp / r2dt
Note: See TracChangeset
for help on using the changeset viewer.