- Timestamp:
- 2021-04-07T19:16:18+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/DYN/dynadv_cen2.F90
r13497 r14680 72 72 zfu(:,:,jk) = 0.25_wp * e2u(:,:) * e3u(:,:,jk,Kmm) * puu(:,:,jk,Kmm) 73 73 zfv(:,:,jk) = 0.25_wp * e1v(:,:) * e3v(:,:,jk,Kmm) * pvv(:,:,jk,Kmm) 74 DO_2D( 1, 0, 1, 0 ) ! horizontal momentum fluxes (at T- and F-point) 74 ! [comm_cleanup] ! DO_2D( 1, 0, 1, 0 ) ! horizontal momentum fluxes (at T- and F-point) 75 DO_2D( nn_hls, nn_hls-1, nn_hls, nn_hls-1 ) ! horizontal momentum fluxes (at T- and F-point) 75 76 zfu_t(ji+1,jj ,jk) = ( zfu(ji,jj,jk) + zfu(ji+1,jj,jk) ) * ( puu(ji,jj,jk,Kmm) + puu(ji+1,jj ,jk,Kmm) ) 76 77 zfv_f(ji ,jj ,jk) = ( zfv(ji,jj,jk) + zfv(ji+1,jj,jk) ) * ( puu(ji,jj,jk,Kmm) + puu(ji ,jj+1,jk,Kmm) ) … … 78 79 zfv_t(ji ,jj+1,jk) = ( zfv(ji,jj,jk) + zfv(ji,jj+1,jk) ) * ( pvv(ji,jj,jk,Kmm) + pvv(ji ,jj+1,jk,Kmm) ) 79 80 END_2D 80 DO_2D( 0, 0, 0, 0 ) ! divergence of horizontal momentum fluxes 81 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) ! divergence of horizontal momentum fluxes 82 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! divergence of horizontal momentum fluxes 81 83 puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) - ( zfu_t(ji+1,jj,jk) - zfu_t(ji,jj ,jk) & 82 84 & + zfv_f(ji ,jj,jk) - zfv_f(ji,jj-1,jk) ) * r1_e1e2u(ji,jj) & … … 98 100 ! !== Vertical advection ==! 99 101 ! 100 DO_2D( 0, 0, 0, 0 ) ! surface/bottom advective fluxes set to zero 102 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) ! surface/bottom advective fluxes set to zero 103 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) ! surface/bottom advective fluxes set to zero 101 104 zfu_uw(ji,jj,jpk) = 0._wp ; zfv_vw(ji,jj,jpk) = 0._wp 102 105 zfu_uw(ji,jj, 1 ) = 0._wp ; zfv_vw(ji,jj, 1 ) = 0._wp 103 106 END_2D 104 107 IF( ln_linssh ) THEN ! linear free surface: advection through the surface 105 DO_2D( 0, 0, 0, 0 ) 108 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 109 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 106 110 zfu_uw(ji,jj,1) = 0.5_wp * ( e1e2t(ji,jj) * ww(ji,jj,1) + e1e2t(ji+1,jj) * ww(ji+1,jj,1) ) * puu(ji,jj,1,Kmm) 107 111 zfv_vw(ji,jj,1) = 0.5_wp * ( e1e2t(ji,jj) * ww(ji,jj,1) + e1e2t(ji,jj+1) * ww(ji,jj+1,1) ) * pvv(ji,jj,1,Kmm) … … 109 113 ENDIF 110 114 DO jk = 2, jpkm1 ! interior advective fluxes 111 DO_2D( 0, 1, 0, 1 ) ! 1/4 * Vertical transport 115 ! [comm_cleanup] ! DO_2D( 0, 1, 0, 1 ) ! 1/4 * Vertical transport 116 DO_2D( nn_hls-1, nn_hls, nn_hls-1, nn_hls ) ! 1/4 * Vertical transport 112 117 zfw(ji,jj,jk) = 0.25_wp * e1e2t(ji,jj) * ww(ji,jj,jk) 113 118 END_2D 114 DO_2D( 0, 0, 0, 0 ) 119 ! [comm_cleanup] ! DO_2D( 0, 0, 0, 0 ) 120 DO_2D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1 ) 115 121 zfu_uw(ji,jj,jk) = ( zfw(ji,jj,jk) + zfw(ji+1,jj ,jk) ) * ( puu(ji,jj,jk,Kmm) + puu(ji,jj,jk-1,Kmm) ) 116 122 zfv_vw(ji,jj,jk) = ( zfw(ji,jj,jk) + zfw(ji ,jj+1,jk) ) * ( pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk-1,Kmm) ) 117 123 END_2D 118 124 END DO 119 DO_3D( 0, 0, 0, 0, 1, jpkm1 ) ! divergence of vertical momentum flux divergence 125 ! [comm_cleanup] ! DO_3D( 0, 0, 0, 0, 1, jpkm1 ) ! divergence of vertical momentum flux divergence 126 DO_3D( nn_hls-1, nn_hls-1, nn_hls-1, nn_hls-1, 1, jpkm1 ) ! divergence of vertical momentum flux divergence 120 127 puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) - ( zfu_uw(ji,jj,jk) - zfu_uw(ji,jj,jk+1) ) * r1_e1e2u(ji,jj) & 121 128 & / e3u(ji,jj,jk,Kmm)
Note: See TracChangeset
for help on using the changeset viewer.