- 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/TRA/traatf.F90
r12353 r12372 252 252 INTEGER :: ji, jj, jk, jn ! dummy loop indices 253 253 REAL(wp) :: zfact, zfact1, ztc_a , ztc_n , ztc_b , ztc_f , ztc_d ! local scalar 254 REAL(wp) :: zfact2, ze3t_b, ze3t_n, ze3t_a, ze3t_f, ze3t_d 254 REAL(wp) :: zfact2, ze3t_b, ze3t_n, ze3t_a, ze3t_f, ze3t_d, zscale ! - - 255 255 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: ztrd_atf 256 256 !!---------------------------------------------------------------------- … … 295 295 ztc_f = ztc_n + atfp * ztc_d 296 296 ! 297 ! Add asselin correction on scale factors: 298 zscale = tmask(ji,jj,jk) * e3t(ji,jj,jk,Kmm) / ( ht(ji,jj) + 1._wp - ssmask(ji,jj) ) 299 ze3t_f = ze3t_f - zfact2 * zscale * ( emp_b(ji,jj) - emp(ji,jj) ) 300 IF ( ll_rnf ) ze3t_f = ze3t_f + zfact2 * zscale * ( rnf_b(ji,jj) - rnf(ji,jj) ) 301 IF ( ll_isf ) THEN 302 IF ( ln_isfcav_mlt ) ze3t_f = ze3t_f - zfact2 * zscale * ( fwfisf_cav_b(ji,jj) - fwfisf_cav(ji,jj) ) 303 IF ( ln_isfpar_mlt ) ze3t_f = ze3t_f - zfact2 * zscale * ( fwfisf_par_b(ji,jj) - fwfisf_par(ji,jj) ) 304 ENDIF 305 ! 297 306 IF( jk == mikt(ji,jj) ) THEN ! first level 298 ze3t_f = ze3t_f - zfact2 * ( emp_b(ji,jj) - emp(ji,jj) )299 307 ztc_f = ztc_f - zfact1 * ( psbc_tc(ji,jj,jn) - psbc_tc_b(ji,jj,jn) ) 300 308 ENDIF 301 IF( ln_rnf_depth ) THEN302 ! Rivers are not just at the surface must go down to nk_rnf(ji,jj)303 IF( jk <= nk_rnf(ji,jj) ) THEN304 ze3t_f = ze3t_f - zfact2 * ( - (rnf_b(ji,jj) - rnf(ji,jj) ) ) &305 & * ( e3t(ji,jj,jk,Kmm) / h_rnf(ji,jj) )306 ENDIF307 ELSE308 IF( jk == 1 ) THEN ! first level309 ze3t_f = ze3t_f - zfact2 * ( - (rnf_b(ji,jj) - rnf(ji,jj) ) )310 ENDIF311 ENDIF312 !313 309 ! 314 310 ! solar penetration (temperature only) … … 331 327 ztc_f = ztc_f - zfact1 * ( risf_cav_tsc(ji,jj,jn) - risf_cav_tsc_b(ji,jj,jn) ) & 332 328 & * e3t(ji,jj,jk,Kmm) / rhisf_tbl_cav(ji,jj) 333 ze3t_f = ze3t_f - zfact2 * ( fwfisf_cav_b(ji,jj) - fwfisf_cav(ji,jj) ) &334 & * e3t(ji,jj,jk,Kmm) / rhisf_tbl_cav(ji,jj)335 329 END IF 336 330 ! level partially include in Losch_2008 ice shelf boundary layer … … 338 332 ztc_f = ztc_f - zfact1 * ( risf_cav_tsc(ji,jj,jn) - risf_cav_tsc_b(ji,jj,jn) ) & 339 333 & * e3t(ji,jj,jk,Kmm) / rhisf_tbl_cav(ji,jj) * rfrac_tbl_cav(ji,jj) 340 ze3t_f = ze3t_f - zfact2 * ( fwfisf_cav_b(ji,jj) - fwfisf_cav(ji,jj) ) &341 & * e3t(ji,jj,jk,Kmm) / rhisf_tbl_cav(ji,jj) * rfrac_tbl_cav(ji,jj)342 334 END IF 343 335 END IF … … 349 341 ztc_f = ztc_f - zfact1 * ( risf_par_tsc(ji,jj,jn) - risf_par_tsc_b(ji,jj,jn) ) & 350 342 & * e3t(ji,jj,jk,Kmm) / rhisf_tbl_par(ji,jj) 351 ze3t_f = ze3t_f - zfact2 * ( fwfisf_par_b(ji,jj) - fwfisf_par(ji,jj) ) &352 & * e3t(ji,jj,jk,Kmm) / rhisf_tbl_par(ji,jj)353 343 END IF 354 344 ! level partially include in Losch_2008 ice shelf boundary layer … … 356 346 ztc_f = ztc_f - zfact1 * ( risf_par_tsc(ji,jj,jn) - risf_par_tsc_b(ji,jj,jn) ) & 357 347 & * e3t(ji,jj,jk,Kmm) / rhisf_tbl_par(ji,jj) * rfrac_tbl_par(ji,jj) 358 ze3t_f = ze3t_f - zfact2 * ( fwfisf_par_b(ji,jj) - fwfisf_par(ji,jj) ) &359 & * e3t(ji,jj,jk,Kmm) / rhisf_tbl_par(ji,jj) * rfrac_tbl_par(ji,jj)360 348 END IF 361 349 END IF … … 367 355 IF ( ln_rstart .AND. kt == nit000+1 ) THEN 368 356 ztc_f = ztc_f + zfact1 * risfcpl_tsc(ji,jj,jk,jn) * r1_e1e2t(ji,jj) 357 ! Shouldn't volume increment be spread according thanks to zscale ? 369 358 ze3t_f = ze3t_f - zfact1 * risfcpl_vol(ji,jj,jk ) * r1_e1e2t(ji,jj) 370 359 END IF
Note: See TracChangeset
for help on using the changeset viewer.