- Timestamp:
- 2017-01-04T17:47:47+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r7508 r7525 105 105 DO jk = 1, jpkm1 ! Horizontal divergence of barotropic transports 106 106 !$OMP DO schedule(static) private(jj, ji) 107 108 109 110 111 107 DO jj = 1, jpj 108 DO ji = 1, jpi ! vector opt. 109 zhdiv(ji,jj) = zhdiv(ji,jj) + e3t_n(ji,jj,jk) * hdivn(ji,jj,jk) 110 END DO 111 END DO 112 112 END DO 113 113 !$OMP END PARALLEL … … 120 120 IF(ln_wd) CALL wad_lmt(sshb, zcoef * (emp_b(:,:) + emp(:,:)), z2dt) 121 121 !$OMP PARALLEL DO schedule(static) private(jj, ji) 122 DO jj = 1, jpj123 DO ji = 1, jpi124 ssha(ji,jj) = ( sshb(ji,jj) - z2dt * ( zcoef * ( emp_b(ji,jj) + emp(ji,jj) ) + zhdiv(ji,jj) ) ) * ssmask(ji,jj)125 END DO126 END DO122 DO jj = 1, jpj 123 DO ji = 1, jpi 124 ssha(ji,jj) = ( sshb(ji,jj) - z2dt * ( zcoef * ( emp_b(ji,jj) + emp(ji,jj) ) + zhdiv(ji,jj) ) ) * ssmask(ji,jj) 125 END DO 126 END DO 127 127 IF ( .NOT.ln_dynspg_ts ) THEN 128 128 ! These lines are not necessary with time splitting since … … 143 143 CALL ssh_asm_inc( kt ) 144 144 !$OMP PARALLEL DO schedule(static) private(jj, ji) 145 DO jj = 1, jpj146 DO ji = 1, jpi147 ssha(ji,jj) = ssha(ji,jj) + z2dt * ssh_iau(ji,jj)148 END DO149 END DO145 DO jj = 1, jpj 146 DO ji = 1, jpi 147 ssha(ji,jj) = ssha(ji,jj) + z2dt * ssh_iau(ji,jj) 148 END DO 149 END DO 150 150 ENDIF 151 151 #endif … … 193 193 IF(lwp) WRITE(numout,*) '~~~~~ ' 194 194 ! 195 wn(ji,jj,jpk) = 0._wp ! bottom boundary condition: w=0 (set once for all) 195 !$OMP PARALLEL DO schedule(static) private(jj, ji) 196 DO jj = 1, jpj 197 DO ji = 1, jpi 198 wn(ji,jj,jpk) = 0._wp ! bottom boundary condition: w=0 (set once for all) 199 END DO 200 END DO 196 201 ENDIF 197 202 ! !------------------------------! … … 221 226 DO jj = 1, jpj 222 227 DO ji = 1, jpi ! vector opt. 223 wn(ji,jj,jk) = wn(ji,jj,jk+1) - ( e3t_n(ji,jj,jk) * hdivn(ji,jj,jk) + zhdiv(ji,jj,jk) &224 & + z1_2dt * ( e3t_a(ji,jj,jk) - e3t_b(ji,jj,jk) ) ) * tmask(ji,jj,jk)228 wn(ji,jj,jk) = wn(ji,jj,jk+1) - ( e3t_n(ji,jj,jk) * hdivn(ji,jj,jk) + zhdiv(ji,jj,jk) & 229 & + z1_2dt * ( e3t_a(ji,jj,jk) - e3t_b(ji,jj,jk) ) ) * tmask(ji,jj,jk) 225 230 END DO 226 231 END DO … … 233 238 DO jj = 1, jpj 234 239 DO ji = 1, jpi ! vector opt. 235 ! computation of w236 wn(ji,jj,jk) = wn(ji,jj,jk+1) - ( e3t_n(ji,jj,jk) * hdivn(ji,jj,jk) &237 & + z1_2dt * ( e3t_a(ji,jj,jk) - e3t_b(ji,jj,jk) ) ) * tmask(ji,jj,jk)240 ! computation of w 241 wn(ji,jj,jk) = wn(ji,jj,jk+1) - ( e3t_n(ji,jj,jk) * hdivn(ji,jj,jk) & 242 & + z1_2dt * ( e3t_a(ji,jj,jk) - e3t_b(ji,jj,jk) ) ) * tmask(ji,jj,jk) 238 243 END DO 239 244 END DO … … 291 296 & ( ln_bt_fw .AND. ln_dynspg_ts ) ) THEN 292 297 !$OMP PARALLEL DO schedule(static) private(jj, ji) 293 DO jj = 1, jpj294 DO ji = 1, jpi295 sshb(ji,jj) = sshn(ji,jj) ! before <-- now296 sshn(ji,jj) = ssha(ji,jj) ! now <-- after (before already = now)297 END DO298 END DO298 DO jj = 1, jpj 299 DO ji = 1, jpi 300 sshb(ji,jj) = sshn(ji,jj) ! before <-- now 301 sshn(ji,jj) = ssha(ji,jj) ! now <-- after (before already = now) 302 END DO 303 END DO 299 304 ! 300 305 ELSE !== Leap-Frog time-stepping: Asselin filter + swap ==!
Note: See TracChangeset
for help on using the changeset viewer.