- Timestamp:
- 2017-11-24T12:28:45+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8624_ENHANCE4_FREESURFACE/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90
r7753 r8805 209 209 ! (used as a now filtered scale factor until the swap) 210 210 ! ---------------------------------------------------- 211 IF( ln_dynspg_ts .AND. ln_bt_fw ) THEN ! No asselin filtering on thicknesses if forward time splitting 212 e3t_b(:,:,1:jpkm1) = e3t_n(:,:,1:jpkm1) 213 ELSE 214 DO jk = 1, jpkm1 215 e3t_b(:,:,jk) = e3t_n(:,:,jk) + atfp * ( e3t_b(:,:,jk) - 2._wp * e3t_n(:,:,jk) + e3t_a(:,:,jk) ) 211 DO jk = 1, jpkm1 212 e3t_b(:,:,jk) = e3t_n(:,:,jk) + atfp * ( e3t_b(:,:,jk) - 2._wp * e3t_n(:,:,jk) + e3t_a(:,:,jk) ) 213 END DO 214 ! Add volume filter correction: compatibility with tracer advection scheme 215 ! => time filter + conservation correction (only at the first level) 216 zcoef = atfp * rdt * r1_rau0 217 IF ( .NOT. ln_isf ) THEN ! if no ice shelf melting 218 e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( emp_b(:,:) - emp(:,:) & 219 & - rnf_b(:,:) + rnf(:,:) ) * tmask(:,:,1) 220 ELSE ! if ice shelf melting 221 DO jj = 1, jpj 222 DO ji = 1, jpi 223 ikt = mikt(ji,jj) 224 e3t_b(ji,jj,ikt) = e3t_b(ji,jj,ikt) - zcoef * ( emp_b (ji,jj) - emp (ji,jj) & 225 & - rnf_b (ji,jj) + rnf (ji,jj) & 226 & + fwfisf_b(ji,jj) - fwfisf(ji,jj) ) * tmask(ji,jj,ikt) 227 END DO 216 228 END DO 217 ! Add volume filter correction: compatibility with tracer advection scheme 218 ! => time filter + conservation correction (only at the first level) 219 zcoef = atfp * rdt * r1_rau0 220 IF ( .NOT. ln_isf ) THEN ! if no ice shelf melting 221 e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( emp_b(:,:) - emp(:,:) & 222 & - rnf_b(:,:) + rnf(:,:) ) * tmask(:,:,1) 223 ELSE ! if ice shelf melting 224 DO jj = 1, jpj 225 DO ji = 1, jpi 226 ikt = mikt(ji,jj) 227 e3t_b(ji,jj,ikt) = e3t_b(ji,jj,ikt) - zcoef * ( emp_b (ji,jj) - emp (ji,jj) & 228 & - rnf_b (ji,jj) + rnf (ji,jj) & 229 & + fwfisf_b(ji,jj) - fwfisf(ji,jj) ) * tmask(ji,jj,ikt) 230 END DO 231 END DO 232 END IF 233 ENDIF 229 END IF 234 230 ! 235 231 IF( ln_dynadv_vec ) THEN ! Asselin filter applied on velocity
Note: See TracChangeset
for help on using the changeset viewer.