- Timestamp:
- 2020-02-12T13:37:21+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/DYN/dynatf.F90
r12340 r12372 102 102 REAL(wp) :: zue3a, zue3n, zue3b, zcoef ! local scalars 103 103 REAL(wp) :: zve3a, zve3n, zve3b, z1_2dt ! - - 104 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zue, zve 104 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zue, zve, zwfld 105 105 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ze3t_f, ze3u_f, ze3v_f, zua, zva 106 106 !!---------------------------------------------------------------------- … … 191 191 ! Time-filtered scale factor at t-points 192 192 ! ---------------------------------------------------- 193 ALLOCATE( ze3t_f(jpi,jpj,jpk) )193 ALLOCATE( ze3t_f(jpi,jpj,jpk), zwfld(jpi,jpj) ) 194 194 DO jk = 1, jpkm1 195 195 ze3t_f(:,:,jk) = pe3t(:,:,jk,Kmm) + atfp * ( pe3t(:,:,jk,Kbb) - 2._wp * pe3t(:,:,jk,Kmm) + pe3t(:,:,jk,Kaa) ) 196 196 END DO 197 197 ! Add volume filter correction: compatibility with tracer advection scheme 198 ! => time filter + conservation correction (only at the first level)198 ! => time filter + conservation correction 199 199 zcoef = atfp * rdt * r1_rau0 200 201 ze3t_f(:,:,1) = ze3t_f(:,:,1) - zcoef * ( emp_b(:,:) - emp(:,:) ) * tmask(:,:,1) 202 203 IF ( ln_rnf ) THEN 204 IF( ln_rnf_depth ) THEN 205 DO_3D_11_11( 1, jpkm1 ) 206 IF( jk <= nk_rnf(ji,jj) ) THEN 207 ze3t_f(ji,jj,jk) = ze3t_f(ji,jj,jk) - zcoef * ( - rnf_b(ji,jj) + rnf(ji,jj) ) & 208 & * ( pe3t(ji,jj,jk,Kmm) / h_rnf(ji,jj) ) * tmask(ji,jj,jk) 209 ENDIF 210 END_3D 211 ELSE 212 ze3t_f(:,:,1) = ze3t_f(:,:,1) - zcoef * ( -rnf_b(:,:) + rnf(:,:))*tmask(:,:,1) 213 ENDIF 214 END IF 200 zwfld(:,:) = emp_b(:,:) - emp(:,:) 201 IF ( ln_rnf ) zwfld(:,:) = zwfld(:,:) - ( rnf_b(:,:) - rnf(:,:) ) 202 DO jk = 1, jpkm1 203 ze3t_f(:,:,jk) = ze3t_f(:,:,jk) - zcoef * zwfld(:,:) * tmask(:,:,jk) & 204 & * pe3t(:,:,jk,Kmm) / ( ht(:,:) + 1._wp - ssmask(:,:) ) 205 END DO 215 206 ! 216 207 ! ice shelf melting (deal separately as it can be in depth) … … 254 245 ENDIF 255 246 ! 256 DEALLOCATE( ze3t_f )247 DEALLOCATE( ze3t_f, zwfld ) 257 248 ENDIF 258 249 !
Note: See TracChangeset
for help on using the changeset viewer.