- Timestamp:
- 2021-04-19T17:31:10+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/stpmlf.F90
r14682 r14730 170 170 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 171 171 ! THERMODYNAMICS 172 ! [ comm_cleanup ] ! lbc_lnk for AMM12 with blp / triad & for atf_qco with ln_iceberg .true.173 IF( nn_hls.eq.2) CALL lbc_lnk( 'stp_MLF', ts(:,:,:,:,Nbb), 'T', 1._wp)174 172 CALL eos_rab( ts(:,:,:,:,Nbb), rab_b, Nnn ) ! before local thermal/haline expension ratio at T-points 175 173 CALL eos_rab( ts(:,:,:,:,Nnn), rab_n, Nnn ) ! now local thermal/haline expension ratio at T-points … … 178 176 179 177 ! VERTICAL PHYSICS 180 ! [comm_cleanup] ! lbc_lnk from ZDF181 IF (nn_hls.eq.2) THEN182 IF( l_zdfsh2 ) THEN183 CALL lbc_lnk( 'stp_MLF', avm_k, 'W', 1.0_wp , avt_k, 'W', 1.0_wp, &184 & avm , 'W', 1.0_wp , avt , 'W', 1.0_wp , avs , 'W', 1.0_wp )185 ELSE186 CALL lbc_lnk( 'stp_MLF', avm , 'W', 1.0_wp , avt , 'W', 1.0_wp , avs , 'W', 1.0_wp )187 ENDIF188 ENDIF189 178 CALL zdf_phy( kstp, Nbb, Nnn, Nrhs ) ! vertical physics update (top/bot drag, avt, avs, avm + MLD) 190 179 … … 240 229 & CALL Agrif_Sponge_dyn ! momentum sponge 241 230 #endif 242 ! [comm_cleanup] ! lbc_lnk from DYN243 IF (nn_hls.eq.2) THEN244 CALL lbc_lnk( 'stp_MLF', uu(:,:,:,Nnn), 'U', -1., vv(:,:,:,Nnn), 'V', -1., ww(:,:,:), 'W', 1., &245 & uu(:,:,:,Nbb), 'U', -1., vv(:,:,:,Nbb), 'V', -1.)246 IF(.NOT.lk_linssh) CALL lbc_lnk( 'stp_MLF', r3u(:,:,Nnn), 'U', 1.0_wp, r3v(:,:,Nnn), 'V', 1.0_wp, &247 & r3u(:,:,Nbb), 'U', 1.0_wp, r3v(:,:,Nbb), 'V', 1.0_wp, &248 & r3t(:,:,Nbb), 'T', 1.0_wp )249 ENDIF250 231 CALL dyn_adv( kstp, Nbb, Nnn , uu, vv, Nrhs ) ! advection (VF or FF) ==> RHS 251 232 CALL dyn_vor( kstp, Nnn , uu, vv, Nrhs ) ! vorticity ==> RHS … … 267 248 ENDIF 268 249 250 IF(nn_hls.eq.2.AND..NOT.lk_linssh) CALL lbc_lnk( 'stp_MLF', r3u(:,:,Naa), 'U', 1.0_wp, r3v(:,:,Naa), 'V', 1.0_wp) 269 251 270 252 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 292 274 CALL ssh_atf ( kstp, Nbb, Nnn, Naa, ssh ) ! time filtering of "now" sea surface height 293 275 IF(.NOT.lk_linssh) CALL dom_qco_r3c( ssh(:,:,Nnn), r3t_f, r3u_f, r3v_f ) ! "now" ssh/h_0 ratio from filtrered ssh 294 ! [comm_cleanup] this should not be needed295 IF(nn_hls.eq.2.AND..NOT.lk_linssh) CALL lbc_lnk( 'stp_MLF', r3u_f, 'U', 1.0_wp, r3v_f, 'V', 1.0_wp )276 ! 277 IF(nn_hls.eq.2.AND..NOT.lk_linssh) CALL lbc_lnk( 'stp_MLF', r3u_f, 'U', 1.0_wp, r3v_f, 'V', 1.0_wp, r3t_f, 'T', 1.0_wp ) 296 278 #if defined key_top 297 279 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 329 311 ENDIF 330 312 #endif 331 332 ! [comm_cleanup] ! lbc_lnk from tra_adv333 IF (nn_hls.EQ.2) THEN334 SELECT CASE ( nadv )335 CASE ( np_FCT ) ! FCT scheme : 2nd / 4th order336 CALL lbc_lnk( 'stp_MLF', ts(:,:,:,:,Nbb), 'T', 1., ts(:,:,:,:,Nnn), 'T', 1.)337 CALL lbc_lnk( 'stp_MLF', uu(:,:,:,Nnn), 'U', -1., vv(:,:,:,Nnn), 'V', -1., ww(:,:,:), 'W', 1.)338 CASE ( np_MUS ) ! MUSCL339 CALL lbc_lnk( 'stp_MLF', ts(:,:,:,:,Nbb), 'T', 1.)340 CASE ( np_UBS ) ! UBS341 CALL lbc_lnk( 'stp_MLF', ts(:,:,:,:,Nbb), 'T', 1.)342 CASE ( np_QCK ) ! QUICKEST343 CALL lbc_lnk( 'stp_MLF', uu(:,:,:,Nnn), 'U', -1., vv(:,:,:,Nnn), 'V', -1.)344 CALL lbc_lnk( 'stp_MLF', ts(:,:,:,:,Nbb), 'T', 1.)345 END SELECT346 ENDIF347 313 348 314 ! TEMP: [tiling] Separate loop over tile domains (due to tra_adv workarounds for tiling) … … 383 349 CALL tra_atf_qco ( kstp, Nbb, Nnn, Naa , ts ) ! time filtering of "now" tracer arrays 384 350 CALL dyn_atf_qco ( kstp, Nbb, Nnn, Naa, uu, vv ) ! time filtering of "now" velocities 351 352 IF( nn_hls.eq.2) CALL lbc_lnk( 'stp_MLF', ts(:,:,:,jp_tem,Nnn), 'T', 1._wp, ts(:,:,:,jp_sal,Nnn), 'T', 1._wp) 353 385 354 IF(.NOT.lk_linssh) THEN 386 355 r3t(:,:,Nnn) = r3t_f(:,:) ! update now ssh/h_0 with time filtered values … … 548 517 & , pts(:,:,:,jp_tem,Kaa), 'T', 1., pts(:,:,:,jp_sal,Kaa), 'T', 1. ) 549 518 ! 519 IF (nn_hls.eq.2) THEN 520 IF( l_zdfsh2 ) THEN 521 CALL lbc_lnk( 'stp_MLF', avm_k, 'W', 1.0_wp , avt_k, 'W', 1.0_wp, & 522 & avm , 'W', 1.0_wp , avt , 'W', 1.0_wp , avs , 'W', 1.0_wp ) 523 ELSE 524 CALL lbc_lnk( 'stp_MLF', avm , 'W', 1.0_wp , avt , 'W', 1.0_wp , avs , 'W', 1.0_wp ) 525 ENDIF 526 ENDIF 550 527 ! !* BDY open boundaries 551 528 IF( ln_bdy ) THEN
Note: See TracChangeset
for help on using the changeset viewer.