- Timestamp:
- 2021-03-15T13:32:16+01:00 (3 years ago)
- Location:
- NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/LDF/ldfslp.F90
r14538 r14609 558 558 CALL lbc_lnk( 'ldfslp', wslp2, 'W', 1.0_wp ) ! lateral boundary confition on wslp2 only ==>>> gm : necessary ? to be checked 559 559 ! 560 ! [comm_cleanup] - this comm have to be deleted !!!!!561 IF (nn_hls.eq.2) THEN562 CALL lbc_lnk( 'ldfslp', triadi(:,:,:,:,0), 'U', 1.0_wp, triadi(:,:,:,:,1), 'U', 1.0_wp )563 CALL lbc_lnk( 'ldfslp', triadj(:,:,:,:,0), 'V', 1.0_wp, triadj(:,:,:,:,1), 'V', 1.0_wp )564 CALL lbc_lnk( 'ldfslp', triadi_g(:,:,:,:,0), 'U', 1.0_wp, triadi_g(:,:,:,:,1), 'U', 1.0_wp )565 CALL lbc_lnk( 'ldfslp', triadj_g(:,:,:,:,0), 'V', 1.0_wp, triadj_g(:,:,:,:,1), 'V', 1.0_wp )566 END IF567 568 560 IF( ln_timing ) CALL timing_stop('ldf_slp_triad') 569 561 ! -
NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/TRA/traatf_qco.F90
r14511 r14609 146 146 ENDIF 147 147 ! 148 CALL lbc_lnk( 'traatfqco', pts(:,:,:,jp_tem,Kmm) , 'T', 1._wp, pts(:,:,:,jp_sal,Kmm) , 'T', 1._wp ) 148 ! [ comm_cleanup ] 149 IF (nn_hls.eq.1) CALL lbc_lnk( 'traatfqco', pts(:,:,:,jp_tem,Kmm) , 'T', 1._wp, pts(:,:,:,jp_sal,Kmm) , 'T', 1._wp ) 149 150 ! 150 151 ENDIF -
NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/TRA/trabbl.F90
r14511 r14609 141 141 IF( ntile == 0 .OR. ntile == nijtile ) THEN ! Do only on the last tile 142 142 ! lateral boundary conditions ; just need for outputs 143 CALL lbc_lnk( 'trabbl', utr_bbl, 'U', 1.0_wp , vtr_bbl, 'V', 1.0_wp ) 143 ! [ comm_cleanup ] ! no need lbc_lnk for outputs 144 ! CALL lbc_lnk( 'trabbl', utr_bbl, 'U', 1.0_wp , vtr_bbl, 'V', 1.0_wp ) 144 145 CALL iom_put( "uoce_bbl", utr_bbl ) ! bbl i-transport 145 146 CALL iom_put( "voce_bbl", vtr_bbl ) ! bbl j-transport -
NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/TRA/traldf_lap_blp.F90
r14538 r14609 238 238 IF (nn_hls.EQ.1) CALL lbc_lnk( 'traldf_lap_blp', zlap(:,:,:,:) , 'T', 1.0_wp ) ! Lateral boundary conditions (unchanged sign) 239 239 ! ! Partial top/bottom cell: GRADh( zlap ) 240 IF( ln_isfcav .AND. ln_zps ) THEN ; CALL zps_hde_isf( kt, Kmm, kjpt, zlap, zglu, zglv, zgui, zgvi ) ! both top & bottom 241 ELSEIF( ln_zps ) THEN ; CALL zps_hde ( kt, Kmm, kjpt, zlap, zglu, zglv ) ! only bottom 240 IF( ln_zps ) THEN 241 ! [comm_cleanup] ! halo > 2 needed to delete this comm 242 IF (nn_hls.EQ.2) CALL lbc_lnk( 'traldf_lap_blp', zlap(:,:,:,:) , 'T', 1.0_wp ) ! Lateral boundary conditions (unchanged sign) 243 IF( ln_isfcav ) THEN ; CALL zps_hde_isf( kt, Kmm, kjpt, zlap, zglu, zglv, zgui, zgvi ) ! both top & bottom 244 ELSE ; CALL zps_hde ( kt, Kmm, kjpt, zlap, zglu, zglv ) ! only bottom 245 ENDIF 242 246 ENDIF 243 247 ! -
NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/TRA/zpshde.F90
r14511 r14609 47 47 INTEGER , INTENT(in ) :: Kmm ! ocean time level index 48 48 INTEGER , INTENT(in ) :: kjpt ! number of tracers 49 REAL(wp), DIMENSION(:,:,:,:), INTENT(in out) :: pta ! 4D tracers fields49 REAL(wp), DIMENSION(:,:,:,:), INTENT(in ) :: pta ! 4D tracers fields 50 50 REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: pgtu, pgtv ! hor. grad. of ptra at u- & v-pts 51 REAL(wp), DIMENSION(:,:,:) , INTENT(in out), OPTIONAL :: prd ! 3D density anomaly fields51 REAL(wp), DIMENSION(:,:,:) , INTENT(in ), OPTIONAL :: prd ! 3D density anomaly fields 52 52 REAL(wp), DIMENSION(:,:) , INTENT( out), OPTIONAL :: pgru, pgrv ! hor. grad of prd at u- & v-pts (bottom) 53 53 ! … … 111 111 INTEGER , INTENT(in ) :: kjpt ! number of tracers 112 112 INTEGER , INTENT(in ) :: ktta, ktgt, ktrd, ktgr 113 REAL(wp), DIMENSION(A2D_T(ktta),JPK,KJPT), INTENT(in out) :: pta ! 4D tracers fields113 REAL(wp), DIMENSION(A2D_T(ktta),JPK,KJPT), INTENT(in ) :: pta ! 4D tracers fields 114 114 REAL(wp), DIMENSION(A2D_T(ktgt) ,KJPT), INTENT( out) :: pgtu, pgtv ! hor. grad. of ptra at u- & v-pts 115 REAL(wp), DIMENSION(A2D_T(ktrd),JPK ), INTENT(in out), OPTIONAL :: prd ! 3D density anomaly fields115 REAL(wp), DIMENSION(A2D_T(ktrd),JPK ), INTENT(in ), OPTIONAL :: prd ! 3D density anomaly fields 116 116 REAL(wp), DIMENSION(A2D_T(ktgr) ), INTENT( out), OPTIONAL :: pgru, pgrv ! hor. grad of prd at u- & v-pts (bottom) 117 117 ! … … 124 124 ! 125 125 IF( ln_timing ) CALL timing_start( 'zps_hde') 126 IF (nn_hls.EQ.2) THEN127 CALL lbc_lnk( 'zpshde', pta, 'T', 1.0_wp)128 IF(PRESENT(prd)) CALL lbc_lnk( 'zpshde', prd, 'T', 1.0_wp)129 END IF130 126 ! 131 127 pgtu(:,:,:) = 0._wp ; zti (:,:,:) = 0._wp ; zhi (:,:) = 0._wp … … 221 217 INTEGER , INTENT(in ) :: Kmm ! ocean time level index 222 218 INTEGER , INTENT(in ) :: kjpt ! number of tracers 223 REAL(wp), DIMENSION(:,:,:,:), INTENT(in out) :: pta ! 4D tracers fields219 REAL(wp), DIMENSION(:,:,:,:), INTENT(in ) :: pta ! 4D tracers fields 224 220 REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: pgtu, pgtv ! hor. grad. of ptra at u- & v-pts 225 221 REAL(wp), DIMENSION(:,:,:) , INTENT( out) :: pgtui, pgtvi ! hor. grad. of stra at u- & v-pts (ISF) 226 REAL(wp), DIMENSION(:,:,:) , INTENT(in out), OPTIONAL :: prd ! 3D density anomaly fields222 REAL(wp), DIMENSION(:,:,:) , INTENT(in ), OPTIONAL :: prd ! 3D density anomaly fields 227 223 REAL(wp), DIMENSION(:,:) , INTENT( out), OPTIONAL :: pgru, pgrv ! hor. grad of prd at u- & v-pts (bottom) 228 224 REAL(wp), DIMENSION(:,:) , INTENT( out), OPTIONAL :: pgrui, pgrvi ! hor. grad of prd at u- & v-pts (top) … … 291 287 INTEGER , INTENT(in ) :: kjpt ! number of tracers 292 288 INTEGER , INTENT(in ) :: ktta, ktgt, ktgti, ktrd, ktgr, ktgri 293 REAL(wp), DIMENSION(A2D_T(ktta),JPK,KJPT), INTENT(in out) :: pta ! 4D tracers fields289 REAL(wp), DIMENSION(A2D_T(ktta),JPK,KJPT), INTENT(in ) :: pta ! 4D tracers fields 294 290 REAL(wp), DIMENSION(A2D_T(ktgt) ,KJPT), INTENT( out) :: pgtu, pgtv ! hor. grad. of ptra at u- & v-pts 295 291 REAL(wp), DIMENSION(A2D_T(ktgti) ,KJPT), INTENT( out) :: pgtui, pgtvi ! hor. grad. of stra at u- & v-pts (ISF) 296 REAL(wp), DIMENSION(A2D_T(ktrd),JPK ), INTENT(in out), OPTIONAL :: prd ! 3D density anomaly fields292 REAL(wp), DIMENSION(A2D_T(ktrd),JPK ), INTENT(in ), OPTIONAL :: prd ! 3D density anomaly fields 297 293 REAL(wp), DIMENSION(A2D_T(ktgr) ), INTENT( out), OPTIONAL :: pgru, pgrv ! hor. grad of prd at u- & v-pts (bottom) 298 294 REAL(wp), DIMENSION(A2D_T(ktgri) ), INTENT( out), OPTIONAL :: pgrui, pgrvi ! hor. grad of prd at u- & v-pts (top) … … 307 303 IF( ln_timing ) CALL timing_start( 'zps_hde_isf') 308 304 ! 309 IF (nn_hls.EQ.2) THEN310 CALL lbc_lnk( 'zpshde', pta, 'T', 1.0_wp)311 IF (PRESENT(prd)) CALL lbc_lnk( 'zpshde', prd, 'T', 1.0_wp)312 END IF313 314 305 pgtu (:,:,:) = 0._wp ; pgtv (:,:,:) =0._wp 315 306 pgtui(:,:,:) = 0._wp ; pgtvi(:,:,:) =0._wp -
NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/stpmlf.F90
r14601 r14609 171 171 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 172 172 ! THERMODYNAMICS 173 ! [ comm_cleanup ] ! lbc_lnk for AMM12 with blp / triad & for atf_qco with ln_iceberg .true. 174 IF( nn_hls.eq.2) CALL lbc_lnk( 'stp_MLF', ts(:,:,:,:,Nbb), 'T', 1._wp) 173 175 CALL eos_rab( ts(:,:,:,:,Nbb), rab_b, Nnn ) ! before local thermal/haline expension ratio at T-points 174 176 CALL eos_rab( ts(:,:,:,:,Nnn), rab_n, Nnn ) ! now local thermal/haline expension ratio at T-points … … 177 179 178 180 ! VERTICAL PHYSICS 179 ! [comm_cleanup] 181 ! [comm_cleanup] ! lbc_lnk from ZDF 180 182 IF (nn_hls.eq.2) THEN 181 183 IF( l_zdfsh2 ) THEN … … 185 187 CALL lbc_lnk( 'stp_MLF', avm , 'W', 1.0_wp , avt , 'W', 1.0_wp , avs , 'W', 1.0_wp ) 186 188 ENDIF 189 ! CALL lbc_lnk( 'stp_MLF', uu(:,:,:,Nnn), 'U', -1.0_wp, vv(:,:,:,Nnn), 'V', -1.0_wp ) 190 ! IF(.NOT.lk_linssh) CALL lbc_lnk( 'stp_MLF', r3u(:,:,Nnn), 'U', 1.0_wp, r3v(:,:,Nnn), 'V', 1.0_wp, r3t(:,:,Nnn), 'T', 1.0_wp ) 187 191 ENDIF 188 192 CALL zdf_phy( kstp, Nbb, Nnn, Nrhs ) ! vertical physics update (top/bot drag, avt, avs, avm + MLD) … … 318 322 #endif 319 323 320 ! [comm_cleanup] 324 ! [comm_cleanup] ! lbc_lnk from tra_adv 321 325 IF (nn_hls.EQ.2) THEN 322 326 SELECT CASE ( nadv ) -
NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/TOP/TRP/trcldf.F90
r14086 r14609 83 83 zahv(:,:,:) = rldf * ahtv(:,:,:) 84 84 ! !* Enhanced zonal diffusivity coefficent in the equatorial domain 85 DO_3D( 1, 1, 1, 1, 1, jpk ) 85 ! [ comm_cleanup ] DO_3D( 1, 1, 1, 1, 1, jpk ) 86 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 86 87 IF( gdept(ji,jj,jk,Kmm) > 200. .AND. gphit(ji,jj) < 5. .AND. gphit(ji,jj) > -5. ) THEN 87 88 zdep = MAX( gdept(ji,jj,jk,Kmm) - 1000., 0. ) / 1000.
Note: See TracChangeset
for help on using the changeset viewer.