Changeset 12721 for NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo/src/OCE/TRA/tranxt.F90
- Timestamp:
- 2020-04-08T20:42:57+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo/src/OCE/TRA/tranxt.F90
r12658 r12721 28 28 USE sbc_oce ! surface boundary condition: ocean 29 29 USE sbcrnf ! river runoffs 30 USE sbcisf! ice shelf melting30 USE isf_oce ! ice shelf melting 31 31 USE zdf_oce ! ocean vertical mixing 32 32 USE domvvl ! variable volume … … 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 319 IF( jk == mikt(ji,jj) ) THEN ! first level 314 IF( jk == 1 ) THEN ! first level 315 ze3t_f = ze3t_f - zfact2 * ( emp_b(ji,jj) - emp(ji,jj) ) 320 316 ztc_f = ztc_f - zfact1 * ( psbc_tc(ji,jj,jn) - psbc_tc_b(ji,jj,jn) ) 317 ENDIF 318 ! 319 ! river runoff 320 IF( ln_rnf_depth ) THEN 321 ! Rivers are not just at the surface must go down to nk_rnf(ji,jj) 322 IF( jk <= nk_rnf(ji,jj) ) THEN 323 ze3t_f = ze3t_f - zfact2 * ( - (rnf_b(ji,jj) - rnf(ji,jj) ) ) & 324 & * ( e3t_n(ji,jj,jk) / h_rnf(ji,jj) ) 325 ENDIF 326 ELSE 327 IF( jk == 1 ) THEN ! first level 328 ze3t_f = ze3t_f - zfact2 * ( - (rnf_b(ji,jj) - rnf(ji,jj) ) ) 329 ENDIF 321 330 ENDIF 322 331 ! … … 324 333 IF( ll_traqsr .AND. jn == jp_tem .AND. jk <= nksr ) & 325 334 & ztc_f = ztc_f - zfact1 * ( qsr_hc(ji,jj,jk) - qsr_hc_b(ji,jj,jk) ) 326 ! 327 ! river runoff 335 ! 328 336 IF( ll_rnf .AND. jk <= nk_rnf(ji,jj) ) & 329 337 & ztc_f = ztc_f - zfact1 * ( rnf_tsc(ji,jj,jn) - rnf_tsc_b(ji,jj,jn) ) & 330 338 & * e3t_n(ji,jj,jk) / h_rnf(ji,jj) 331 339 ! 332 340 ! ice shelf 333 341 IF( ll_isf ) THEN 334 ! level fully include in the Losch_2008 ice shelf boundary layer 335 IF ( jk >= misfkt(ji,jj) .AND. jk < misfkb(ji,jj) ) & 336 ztc_f = ztc_f - zfact1 * ( risf_tsc(ji,jj,jn) - risf_tsc_b(ji,jj,jn) ) & 337 & * e3t_n(ji,jj,jk) * r1_hisf_tbl (ji,jj) 338 ! level partially include in Losch_2008 ice shelf boundary layer 339 IF ( jk == misfkb(ji,jj) ) & 340 ztc_f = ztc_f - zfact1 * ( risf_tsc(ji,jj,jn) - risf_tsc_b(ji,jj,jn) ) & 341 & * e3t_n(ji,jj,jk) * r1_hisf_tbl (ji,jj) * ralpha(ji,jj) 342 ! 343 ! melt in the cavity 344 IF ( ln_isfcav_mlt ) THEN 345 ! level fully include in the Losch_2008 ice shelf boundary layer 346 IF ( jk >= misfkt_cav(ji,jj) .AND. jk < misfkb_cav(ji,jj) ) THEN 347 ztc_f = ztc_f - zfact1 * ( risf_cav_tsc(ji,jj,jn) - risf_cav_tsc_b(ji,jj,jn) ) & 348 & * e3t_n(ji,jj,jk) / rhisf_tbl_cav(ji,jj) 349 ze3t_f = ze3t_f - zfact2 * ( fwfisf_cav_b(ji,jj) - fwfisf_cav(ji,jj) ) & 350 & * e3t_n(ji,jj,jk) / rhisf_tbl_cav(ji,jj) 351 END IF 352 ! level partially include in Losch_2008 ice shelf boundary layer 353 IF ( jk == misfkb_cav(ji,jj) ) THEN 354 ztc_f = ztc_f - zfact1 * ( risf_cav_tsc(ji,jj,jn) - risf_cav_tsc_b(ji,jj,jn) ) & 355 & * e3t_n(ji,jj,jk) / rhisf_tbl_cav(ji,jj) * rfrac_tbl_cav(ji,jj) 356 ze3t_f = ze3t_f - zfact2 * ( fwfisf_cav_b(ji,jj) - fwfisf_cav(ji,jj) ) & 357 & * e3t_n(ji,jj,jk) / rhisf_tbl_cav(ji,jj) * rfrac_tbl_cav(ji,jj) 358 END IF 359 END IF 360 ! 361 ! parametrised melt (cavity closed) 362 IF ( ln_isfpar_mlt ) THEN 363 ! level fully include in the Losch_2008 ice shelf boundary layer 364 IF ( jk >= misfkt_par(ji,jj) .AND. jk < misfkb_par(ji,jj) ) THEN 365 ztc_f = ztc_f - zfact1 * ( risf_par_tsc(ji,jj,jn) - risf_par_tsc_b(ji,jj,jn) ) & 366 & * e3t_n(ji,jj,jk) / rhisf_tbl_par(ji,jj) 367 ze3t_f = ze3t_f - zfact2 * ( fwfisf_par_b(ji,jj) - fwfisf_par(ji,jj) ) & 368 & * e3t_n(ji,jj,jk) / rhisf_tbl_par(ji,jj) 369 END IF 370 ! level partially include in Losch_2008 ice shelf boundary layer 371 IF ( jk == misfkb_par(ji,jj) ) THEN 372 ztc_f = ztc_f - zfact1 * ( risf_par_tsc(ji,jj,jn) - risf_par_tsc_b(ji,jj,jn) ) & 373 & * e3t_n(ji,jj,jk) / rhisf_tbl_par(ji,jj) * rfrac_tbl_par(ji,jj) 374 ze3t_f = ze3t_f - zfact2 * ( fwfisf_par_b(ji,jj) - fwfisf_par(ji,jj) ) & 375 & * e3t_n(ji,jj,jk) / rhisf_tbl_par(ji,jj) * rfrac_tbl_par(ji,jj) 376 END IF 377 END IF 378 ! 379 ! ice sheet coupling correction 380 IF ( ln_isfcpl ) THEN 381 ! 382 ! at kt = nit000, risfcpl_vol_n = 0 and risfcpl_vol_b = risfcpl_vol so contribution nul 383 IF ( ln_rstart .AND. kt == nit000+1 ) THEN 384 ztc_f = ztc_f + zfact1 * risfcpl_tsc(ji,jj,jk,jn) * r1_e1e2t(ji,jj) 385 ze3t_f = ze3t_f - zfact1 * risfcpl_vol(ji,jj,jk ) * r1_e1e2t(ji,jj) 386 END IF 387 ! 388 END IF 389 ! 342 390 END IF 343 391 !
Note: See TracChangeset
for help on using the changeset viewer.