Changeset 12279
- Timestamp:
- 2019-12-20T14:36:15+01:00 (4 years ago)
- Location:
- NEMO/trunk/src/OCE
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/DYN/dynnxt.F90
r12026 r12279 225 225 zcoef = atfp * rdt * r1_rau0 226 226 227 e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( emp_b(:,:) - emp(:,:) ) * tmask(:,:,1) 227 DO jk = 1, jpkm1 228 e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( emp_b(:,:) - emp(:,:) ) * tmask(:,:,jk) & 229 & * e3t_n(:,:,jk) / ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 230 END DO 228 231 229 232 IF ( ln_rnf ) THEN 230 IF( ln_rnf_depth ) THEN 231 DO jk = 1, jpkm1 ! Deal with Rivers separetely, as can be through depth too 232 DO jj = 1, jpj 233 DO ji = 1, jpi 234 IF( jk <= nk_rnf(ji,jj) ) THEN 235 e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef * ( - rnf_b(ji,jj) + rnf(ji,jj) ) & 236 & * ( e3t_n(ji,jj,jk) / h_rnf(ji,jj) ) * tmask(ji,jj,jk) 237 ENDIF 238 ENDDO 239 ENDDO 240 ENDDO 241 ELSE 242 e3t_b(:,:,1) = e3t_b(:,:,1) - zcoef * ( -rnf_b(:,:) + rnf(:,:))*tmask(:,:,1) 243 ENDIF 244 END IF 245 246 IF ( ln_isf ) THEN ! if ice shelf melting 247 DO jk = 1, jpkm1 ! Deal with isf separetely, as can be through depth too 248 DO jj = 1, jpj 249 DO ji = 1, jpi 250 IF( misfkt(ji,jj) <=jk .and. jk < misfkb(ji,jj) ) THEN 251 e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef * ( fwfisf_b(ji,jj) - fwfisf(ji,jj) ) & 252 & * ( e3t_n(ji,jj,jk) * r1_hisf_tbl(ji,jj) ) * tmask(ji,jj,jk) 253 ELSEIF ( jk==misfkb(ji,jj) ) THEN 254 e3t_b(ji,jj,jk) = e3t_b(ji,jj,jk) - zcoef * ( fwfisf_b(ji,jj) - fwfisf(ji,jj) ) & 255 & * ( e3t_n(ji,jj,jk) * r1_hisf_tbl(ji,jj) ) * ralpha(ji,jj) * tmask(ji,jj,jk) 256 ENDIF 257 END DO 258 END DO 259 END DO 260 END IF 233 DO jk = 1, jpkm1 234 e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( rnf_b(:,:) - rnf(:,:) ) * tmask(:,:,jk) & 235 & * e3t_n(:,:,jk) / ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 236 END DO 237 ENDIF 238 239 IF ( ln_isf ) THEN 240 DO jk = 1, jpkm1 241 e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( fwfisf_b(:,:) - fwfisf(:,:) ) * tmask(:,:,jk) & 242 & * e3t_n(:,:,jk) / ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 243 END DO 244 ENDIF 261 245 ! 262 246 IF( ln_dynadv_vec ) THEN ! Asselin filter applied on velocity -
NEMO/trunk/src/OCE/TRA/tranxt.F90
r10425 r12279 267 267 INTEGER :: ji, jj, jk, jn ! dummy loop indices 268 268 REAL(wp) :: zfact, zfact1, ztc_a , ztc_n , ztc_b , ztc_f , ztc_d ! local scalar 269 REAL(wp) :: zfact2, ze3t_b, ze3t_n, ze3t_a, ze3t_f, ze3t_d 269 REAL(wp) :: zfact2, ze3t_b, ze3t_n, ze3t_a, ze3t_f, ze3t_d, zscale ! - - 270 270 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: ztrd_atf 271 271 !!---------------------------------------------------------------------- … … 312 312 ztc_f = ztc_n + atfp * ztc_d 313 313 ! 314 zscale = zfact2 * e3t_n(ji,jj,jk) / ( ht_n(ji,jj) + 1._wp - ssmask(ji,jj) ) 315 ze3t_f = ze3t_f - zscale * ( emp_b(ji,jj) - emp(ji,jj) ) 316 IF ( ll_rnf ) ze3t_f = ze3t_f - zscale * ( rnf_b(ji,jj) - rnf(ji,jj) ) 317 IF ( ll_isf ) ze3t_f = ze3t_f - zscale * ( fwfisf_b(ji,jj) - fwfisf(ji,jj) ) 318 314 319 IF( jk == mikt(ji,jj) ) THEN ! first level 315 ze3t_f = ze3t_f - zfact2 * ( (emp_b(ji,jj) - emp(ji,jj) ) &316 & + (fwfisf_b(ji,jj) - fwfisf(ji,jj)) )317 320 ztc_f = ztc_f - zfact1 * ( psbc_tc(ji,jj,jn) - psbc_tc_b(ji,jj,jn) ) 318 321 ENDIF 319 IF( ln_rnf_depth ) THEN320 ! Rivers are not just at the surface must go down to nk_rnf(ji,jj)321 IF( mikt(ji,jj) <=jk .and. jk <= nk_rnf(ji,jj) ) THEN322 ze3t_f = ze3t_f - zfact2 * ( - (rnf_b(ji,jj) - rnf(ji,jj) ) ) &323 & * ( e3t_n(ji,jj,jk) / h_rnf(ji,jj) )324 ENDIF325 ELSE326 IF( jk == mikt(ji,jj) ) THEN ! first level327 ze3t_f = ze3t_f - zfact2 * ( - (rnf_b(ji,jj) - rnf(ji,jj) ) )328 ENDIF329 ENDIF330 331 322 ! 332 323 ! solar penetration (temperature only)
Note: See TracChangeset
for help on using the changeset viewer.