Changeset 14189 for NEMO/trunk/src
- Timestamp:
- 2020-12-16T12:14:34+01:00 (3 years ago)
- Location:
- NEMO/trunk/src/OCE
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/DOM/dtatsd.F90
r14186 r14189 212 212 ENDIF 213 213 ! 214 ! NOTE: [tiling-comms-merge] This fix was necessary to take out tra_adv lbc_lnk statements in the zps case, but did not work in the zco case215 214 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! vertical interpolation of T & S 216 215 DO jk = 1, jpk ! determines the intepolated T-S profiles at each (i,j) points … … 248 247 ! 249 248 IF( ln_zps ) THEN ! zps-coordinate (partial steps) interpolation at the last ocean level 250 ! NOTE: [tiling-comms-merge] This fix was necessary to take out tra_adv lbc_lnk statements in the zps case251 249 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 252 250 ik = mbkt(ji,jj) -
NEMO/trunk/src/OCE/LDF/ldfc1d_c2d.F90
r14072 r14189 140 140 END_2D 141 141 CASE( 'TRA' ) ! U- and V-points 142 ! NOTE: [tiling-comms-merge] Change needed to preserve results with respect to the trunk143 142 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 144 143 pah1(ji,jj,1) = pUfac * MAX( e1u(ji,jj), e2u(ji,jj) )**knn -
NEMO/trunk/src/OCE/LDF/ldftra.F90
r14072 r14189 427 427 zaht_min = 0.2_wp * aht0 ! minimum value for aht 428 428 zDaht = aht0 - zaht_min 429 ! NOTE: [tiling-comms-merge] Change needed to preserve results with respect to the trunk430 429 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 431 430 !!gm CAUTION : here we assume lat/lon grid in 20deg N/S band (like all ORCA cfg) -
NEMO/trunk/src/OCE/TRA/traadv.F90
r14090 r14189 175 175 ENDIF 176 176 ! 177 ! NOTE: [tiling-comms-merge] These lbc_lnk calls are still needed (pts in the zco case because zps_hde is not called in step, zuu/zvv/zww in all cases, I think because DO loop bounds need to be updated in DYN as done in TRA)178 177 SELECT CASE ( nadv ) !== compute advection trend and add it to general trend ==! 179 178 ! … … 194 193 END IF 195 194 CASE ( np_MUS ) ! MUSCL 196 ! NOTE: [tiling-comms-merge] I added this lbc_lnk as it did not validate against the trunk when using ln_zco197 195 IF (nn_hls.EQ.2) THEN 198 196 CALL lbc_lnk( 'traadv', pts(:,:,:,:,Kbb), 'T', 1.) -
NEMO/trunk/src/OCE/TRA/traadv_fct.F90
r14072 r14189 82 82 REAL(wp) , INTENT(in ) :: p2dt ! tracer time-step 83 83 ! TEMP: [tiling] This can be A2D(nn_hls) if using XIOS (subdomain support) 84 ! NOTE: [tiling-comms-merge] These were changed to INTENT(inout) but they are not modified, so it is reverted85 84 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pU, pV, pW ! 3 ocean volume flux components 86 85 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) :: pt ! tracers and RHS of tracer equation … … 102 101 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 103 102 ENDIF 104 ! NOTE: [tiling-comms-merge] Bug fix- move array zeroing out of this IF block105 103 ! 106 104 l_trd = .FALSE. ! set local switches … … 353 351 END_3D 354 352 END IF 355 ! NOTE: [tiling-comms-merge] I tested this356 ! NOT TESTED - NEED l_trd OR l_hst TRUE357 353 IF( l_trd .OR. l_hst ) THEN ! trend diagnostics // heat/salt transport 358 354 ztrdx(:,:,:) = ztrdx(:,:,:) + zwx(:,:,:) ! <<< add anti-diffusive fluxes … … 369 365 ! 370 366 ENDIF 371 ! NOTE: [tiling-comms-merge] I tested this372 ! NOT TESTED - NEED l_ptr TRUE373 367 IF( l_ptr ) THEN ! "Poleward" transports 374 368 zptry(:,:,:) = zptry(:,:,:) + zwy(:,:,:) ! <<< add anti-diffusive fluxes -
NEMO/trunk/src/OCE/TRA/traadv_qck.F90
r14072 r14189 92 92 REAL(wp) , INTENT(in ) :: p2dt ! tracer time-step 93 93 ! TEMP: [tiling] This can be A2D(nn_hls) if using XIOS (subdomain support) 94 ! NOTE: [tiling-comms-merge] These were changed to INTENT(inout) but they are not modified, so it is reverted95 94 REAL(wp), DIMENSION(jpi,jpj,jpk ), INTENT(in ) :: pU, pV, pW ! 3 ocean volume transport components 96 95 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt,jpt), INTENT(inout) :: pt ! tracers and RHS of tracer equation -
NEMO/trunk/src/OCE/TRA/trabbl.F90
r14072 r14189 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 ! NOTE: [tiling-comms-merge] The diagnostic results change along the north fold if this is removed144 143 CALL lbc_lnk_multi( 'trabbl', utr_bbl, 'U', 1.0_wp , vtr_bbl, 'V', 1.0_wp ) 145 144 CALL iom_put( "uoce_bbl", utr_bbl ) ! bbl i-transport … … 249 248 DO jn = 1, kjpt ! tracer loop 250 249 ! ! =========== 251 ! NOTE: [tiling-comms-merge] Bug fix- correct order of indices252 250 DO_2D( isj, 0, isi, 0 ) ! CAUTION start from i=1 to update i=2 when cyclic east-west 253 251 IF( utr_bbl(ji,jj) /= 0.e0 ) THEN ! non-zero i-direction bbl advection -
NEMO/trunk/src/OCE/TRA/traldf.F90
r14090 r14189 92 92 CALL tra_ldf_triad( kt, Kmm, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, pts(:,:,:,:,Kbb), pts(:,:,:,:,Kbb), pts(:,:,:,:,Krhs), jpts, 1 ) 93 93 CASE ( np_blp , np_blp_i , np_blp_it ) ! bilaplacian: iso-level & iso-neutral operators 94 ! NOTE: [tiling-comms-merge] This lbc_lnk is still needed in the zco case, because zps_hde is not called in step95 94 IF(nn_hls.EQ.2) CALL lbc_lnk( 'tra_ldf', pts(:,:,:,:,Kbb), 'T',1.) 96 95 CALL tra_ldf_blp ( kt, Kmm, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, pts(:,:,:,:,Kbb), pts(:,:,:,:,Krhs), jpts, nldf_tra ) -
NEMO/trunk/src/OCE/TRA/traldf_lap_blp.F90
r14072 r14189 158 158 ENDIF 159 159 ! 160 ! NOTE: [tiling-comms-merge] Bounds changed to avoid repeating this calculation for overlapping rows when using tiling161 160 DO_3D( isj, iej, isi, iei, 1, jpkm1 ) !== Second derivative (divergence) added to the general tracer trends ==! 162 161 pt_rhs(ji,jj,jk,jn) = pt_rhs(ji,jj,jk,jn) + ( ztu(ji,jj,jk) - ztu(ji-1,jj,jk) & … … 236 235 END SELECT 237 236 ! 238 ! NOTE: [tiling-comms-merge] Needed for both nn_hls as tra_ldf_iso and tra_ldf_triad have not yet been adjusted to work with nn_hls = 2. In the zps case the lbc_lnk in zps_hde handles this, but in the zco case zlap always needs this lbc_lnk. I did try adjusting the bounds in tra_ldf_iso and tra_ldf_triad so this lbc_lnk was only needed for nn_hls = 1, but this was not correct and I did not have time to figure out why239 237 CALL lbc_lnk( 'traldf_lap_blp', zlap(:,:,:,:) , 'T', 1.0_wp ) ! Lateral boundary conditions (unchanged sign) 240 238 ! ! Partial top/bottom cell: GRADh( zlap ) -
NEMO/trunk/src/OCE/TRA/tranpc.F90
r14090 r14189 112 112 IF( ntej == Nje0 ) THEN ; iej = nn_hls ; ELSE ; iej = 0 ; ENDIF 113 113 ! 114 ! NOTE: [tiling-comms-merge] Bounds changed to avoid repeating this calculation for overlapping rows when using tiling115 114 DO_2D( isj, iej, isi, iei ) ! interior column only 116 115 ! -
NEMO/trunk/src/OCE/TRA/traqsr.F90
r14090 r14189 137 137 ! ! before qsr induced heat content ! 138 138 ! !-----------------------------------! 139 ! NOTE: [tiling-comms-merge] Many DO loop bounds changed (probably more than necessary) to avoid changing results when using tiling. Some bounds were also adjusted to account for those changed in tra_atf140 139 IF( ntsi == Nis0 ) THEN ; isi = nn_hls ; ELSE ; isi = 0 ; ENDIF ! Avoid double-counting when using tiling 141 140 IF( ntsj == Njs0 ) THEN ; isj = nn_hls ; ELSE ; isj = 0 ; ENDIF -
NEMO/trunk/src/OCE/TRA/trasbc.F90
r14072 r14189 98 98 ENDIF 99 99 ! 100 ! NOTE: [tiling-comms-merge] Many DO loop bounds changed to avoid changing results when using tiling. Some bounds were also adjusted to account for those changed in tra_atf101 100 IF( ntsi == Nis0 ) THEN ; isi = nn_hls ; ELSE ; isi = 0 ; ENDIF ! Avoid double-counting when using tiling 102 101 IF( ntsj == Njs0 ) THEN ; isj = nn_hls ; ELSE ; isj = 0 ; ENDIF … … 155 154 ! 156 155 DO jn = 1, jpts !== update tracer trend ==! 157 ! NOTE: [tiling-comms-merge] This looped over nn_hls, which changes the results when using tiling158 156 DO_2D( 0, 0, 0, 0 ) 159 157 pts(ji,jj,1,jn,Krhs) = pts(ji,jj,1,jn,Krhs) + zfact * ( sbc_tsc_b(ji,jj,jn) + sbc_tsc(ji,jj,jn) ) & -
NEMO/trunk/src/OCE/TRA/trazdf.F90
r14131 r14189 101 101 & - ztrds(:,:,jk) 102 102 END DO 103 ! NOTE: [tiling-comms-merge] The diagnostic results change along the north fold if this is removed104 103 !!gm this should be moved in trdtra.F90 and done on all trends 105 104 CALL lbc_lnk_multi( 'trazdf', ztrdt, 'T', 1.0_wp , ztrds, 'T', 1.0_wp ) -
NEMO/trunk/src/OCE/TRA/zpshde.F90
r14072 r14189 124 124 ! 125 125 IF( ln_timing ) CALL timing_start( 'zps_hde') 126 ! NOTE: [tiling-comms-merge] Some lbc_lnks in tra_adv and tra_ldf can be taken out in the zps case, because this lbc_lnk is called when zps_hde is called in the stp routine. In the zco case they are still needed.127 126 IF (nn_hls.EQ.2) THEN 128 127 CALL lbc_lnk( 'zpshde', pta, 'T', 1.0_wp)
Note: See TracChangeset
for help on using the changeset viewer.