Changeset 9361
- Timestamp:
- 2018-02-26T16:33:11+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90
r9226 r9361 29 29 USE sbc_oce ! Surface boundary condition: ocean fields 30 30 USE sbcrnf ! river runoffs 31 USE sbcisf ! ice shelf 31 32 USE phycst ! physical constants 32 33 USE dynadv ! dynamics: vector invariant versus flux form … … 221 222 ! => time filter + conservation correction (only at the first level) 222 223 zcoef = atfp * rdt * r1_rau0 223 IF ( .NOT. ln_isf ) THEN ! if no ice shelf melting 224 e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( emp_b(:,:) - emp(:,:) & 225 & - rnf_b(:,:) + rnf(:,:) ) * tmask(:,:,1) 226 ELSE ! if ice shelf melting 227 DO jj = 1, jpj 228 DO ji = 1, jpi 229 ikt = mikt(ji,jj) 230 e3t_b(ji,jj,ikt) = e3t_b(ji,jj,ikt) - zcoef * ( emp_b (ji,jj) - emp (ji,jj) & 231 & - rnf_b (ji,jj) + rnf (ji,jj) & 232 & + fwfisf_b(ji,jj) - fwfisf(ji,jj) ) * tmask(ji,jj,ikt) 224 225 e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( emp_b(:,:) - emp(:,:) ) * tmask(:,:,1) 226 227 IF ( ln_rnf ) THEN 228 IF( ln_rnf_depth ) THEN 229 DO jk = 1, jpkm1 ! Deal with Rivers separetely, as can be through depth too 230 DO jj = 1, jpj 231 DO ji = 1, jpi 232 IF( jk <= nk_rnf(ji,jj) ) THEN 233 e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef * ( - rnf_b(ji,jj) + rnf(ji,jj) ) & 234 & * ( e3t_n(ji,jj,jk) / h_rnf(ji,jj) ) * tmask(ji,jj,jk) 235 ENDIF 236 ENDDO 237 ENDDO 238 ENDDO 239 ELSE 240 e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( -rnf_b(:,:) + rnf(:,:))*tmask(:,:,1) 241 ENDIF 242 END IF 243 244 IF ( ln_isf ) THEN ! if ice shelf melting 245 DO jk = 1, jpkm1 ! Deal with isf separetely, as can be through depth too 246 DO jj = 1, jpj 247 DO ji = 1, jpi 248 IF( misfkt(ji,jj) <= jk .AND. jk <= misfkb(ji,jj) ) THEN 249 e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef * ( fwfisf_b(ji,jj) - fwfisf(ji,jj) ) & 250 & * ( e3t_n(ji,jj,jk) * r1_hisf_tbl(ji,jj) ) * tmask(ji,jj,jk) 251 ENDIF 252 END DO 233 253 END DO 234 254 END DO 235 ! Add volume filter correction: compatibility with tracer advection scheme236 ! => time filter + conservation correction (only at the first level)237 zcoef = atfp * rdt * r1_rau0238 IF ( .NOT. ln_isf ) THEN ! if no ice shelf melting239 e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( emp_b(:,:) - emp(:,:) &240 & ) * tmask(:,:,1)241 IF( ln_rnf_depth ) THEN242 DO jk = 1, jpkm1 ! Deal with Rivers separetely, as can be through depth too, not sure for ice shelf case yet243 DO jj = 1, jpj244 DO ji = 1, jpi245 IF( mikt(ji,jj) <= jk .and. jk <= nk_rnf(ji,jj) ) THEN246 e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef * ( - rnf_b(ji,jj) + rnf(ji,jj) ) &247 & * ( e3t_n(ji,jj,jk) / h_rnf(ji,jj) ) * tmask(ji,jj,jk)248 ENDIF249 ENDDO250 ENDDO251 ENDDO252 ELSE253 e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( -rnf_b(:,:) + rnf(:,:))*tmask(:,:,1)254 ENDIF255 ELSE ! if ice shelf melting256 DO jj = 1, jpj257 DO ji = 1, jpi258 ikt = mikt(ji,jj)259 e3t_b(ji,jj,ikt) = e3t_b(ji,jj,ikt) - zcoef * ( emp_b (ji,jj) - emp (ji,jj) &260 & - rnf_b (ji,jj) + rnf (ji,jj) &261 & + fwfisf_b(ji,jj) - fwfisf(ji,jj) ) * tmask(ji,jj,ikt)262 END DO263 END DO264 END IF265 255 END IF 266 256 !
Note: See TracChangeset
for help on using the changeset viewer.