- Timestamp:
- 2021-03-31T19:01:28+02:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/traadv.F90
r14631 r14663 123 123 ! TODO: [tiling] NOT TESTED- requires waves 124 124 IF( ln_wave .AND. ln_sdw ) THEN 125 DO_3D_OVR( nn_hls, nn_hls , nn_hls, nn_hls, 1, jpkm1 )125 DO_3D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpkm1 ) 126 126 zuu(ji,jj,jk) = e2u (ji,jj) * e3u(ji,jj,jk,Kmm) * ( uu(ji,jj,jk,Kmm) + usd(ji,jj,jk) ) 127 127 zvv(ji,jj,jk) = e1v (ji,jj) * e3v(ji,jj,jk,Kmm) * ( vv(ji,jj,jk,Kmm) + vsd(ji,jj,jk) ) … … 129 129 END_3D 130 130 ELSE 131 DO_3D_OVR( nn_hls, nn_hls , nn_hls, nn_hls, 1, jpkm1 )131 DO_3D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpkm1 ) 132 132 zuu(ji,jj,jk) = e2u (ji,jj) * e3u(ji,jj,jk,Kmm) * uu(ji,jj,jk,Kmm) ! eulerian transport only 133 133 zvv(ji,jj,jk) = e1v (ji,jj) * e3v(ji,jj,jk,Kmm) * vv(ji,jj,jk,Kmm) … … 138 138 ! TODO: [tiling] NOT TESTED- requires ztilde 139 139 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! add z-tilde and/or vvl corrections 140 DO_3D_OVR( nn_hls, nn_hls , nn_hls, nn_hls, 1, jpkm1 )140 DO_3D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpkm1 ) 141 141 zuu(ji,jj,jk) = zuu(ji,jj,jk) + un_td(ji,jj,jk) 142 142 zvv(ji,jj,jk) = zvv(ji,jj,jk) + vn_td(ji,jj,jk) … … 144 144 ENDIF 145 145 ! 146 DO_2D_OVR( nn_hls, nn_hls , nn_hls, nn_hls)146 DO_2D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1 ) 147 147 zuu(ji,jj,jpk) = 0._wp ! no transport trough the bottom 148 148 zvv(ji,jj,jpk) = 0._wp -
NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/trabbl.F90
r14636 r14663 140 140 ! lateral boundary conditions ; just need for outputs 141 141 ! [ comm_cleanup ] ! no need lbc_lnk for outputs 142 ! NOTE: [tiling] removal of this lbc_lnk causes results to change, as the sign was unchanged (bug in trunk) 142 143 ! CALL lbc_lnk( 'trabbl', utr_bbl, 'U', 1.0_wp , vtr_bbl, 'V', 1.0_wp ) 143 144 ENDIF … … 214 215 215 216 217 ! NOTE: [tiling] tiling changes the results, but only the order of floating point operations is different 216 218 SUBROUTINE tra_bbl_adv( pt, pt_rhs, kjpt, Kmm ) 217 219 !!---------------------------------------------------------------------- … … 358 360 IF( nn_bbl_ldf == 1 ) THEN ! diffusive bbl ! 359 361 ! !-------------------! 360 DO_2D ( 1, 0, 1, 0 ) ! (criteria for non zero flux: grad(rho).grad(h) < 0 )362 DO_2D_OVR( 1, 0, 1, 0 ) ! (criteria for non zero flux: grad(rho).grad(h) < 0 ) 361 363 ! ! i-direction 362 364 za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem) ! 2*(alpha,beta) at u-point … … 388 390 ! 389 391 CASE( 1 ) != use of upper velocity 390 DO_2D ( 1, 0, 1, 0 ) ! criteria: grad(rho).grad(h)<0 and grad(rho).grad(h)<0392 DO_2D_OVR( 1, 0, 1, 0 ) ! criteria: grad(rho).grad(h)<0 and grad(rho).grad(h)<0 391 393 ! ! i-direction 392 394 za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem) ! 2*(alpha,beta) at u-point … … 417 419 CASE( 2 ) != bbl velocity = F( delta rho ) 418 420 zgbbl = grav * rn_gambbl 419 DO_2D ( 1, 0, 1, 0 ) ! criteria: rho_up > rho_down421 DO_2D_OVR( 1, 0, 1, 0 ) ! criteria: rho_up > rho_down 420 422 ! ! i-direction 421 423 ! down-slope T-point i/k-index (deep) & up-slope T-point i/k-index (shelf) -
NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/traldf_lap_blp.F90
r14636 r14663 240 240 IF (nn_hls.EQ.1) CALL lbc_lnk( 'traldf_lap_blp', zlap(:,:,:,:) , 'T', 1.0_wp ) ! Lateral boundary conditions (unchanged sign) 241 241 ! ! Partial top/bottom cell: GRADh( zlap ) 242 IF( ln_zps ) THEN 243 ! [comm_cleanup] ! halo > 2 needed to delete this comm 244 IF (nn_hls.EQ.2) CALL lbc_lnk( 'traldf_lap_blp', zlap(:,:,:,:) , 'T', 1.0_wp ) ! Lateral boundary conditions (unchanged sign) 245 IF( ln_isfcav ) THEN ; CALL zps_hde_isf( kt, Kmm, kjpt, zlap, zglu, zglv, zgui, zgvi ) ! both top & bottom 246 ELSE ; CALL zps_hde ( kt, Kmm, kjpt, zlap, zglu, zglv ) ! only bottom 247 ENDIF 242 IF( ln_isfcav .AND. ln_zps ) THEN ; CALL zps_hde_isf( kt, Kmm, kjpt, zlap, zglu, zglv, zgui, zgvi ) ! both top & bottom 243 ELSEIF( ln_zps ) THEN ; CALL zps_hde ( kt, Kmm, kjpt, zlap, zglu, zglv ) ! only bottom 248 244 ENDIF 249 245 !
Note: See TracChangeset
for help on using the changeset viewer.