- Timestamp:
- 2016-06-28T11:53:56+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_r6519_HPC_4/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90
r6352 r6748 135 135 z1_slpmax = 1._wp / rn_slpmax 136 136 ! 137 138 !$OMP PARALLEL WORKSHARE 137 139 zww(:,:,:) = 0._wp 138 140 zwz(:,:,:) = 0._wp 139 ! 141 !$OMP END PARALLEL WORKSHARE 142 ! 143 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 140 144 DO jk = 1, jpk !== i- & j-gradient of density ==! 141 145 DO jj = 1, jpjm1 … … 147 151 END DO 148 152 IF( ln_zps ) THEN ! partial steps correction at the bottom ocean level 153 !$OMP PARALLEL DO schedule(static) private(jj, ji) 149 154 DO jj = 1, jpjm1 150 155 DO ji = 1, jpim1 … … 155 160 ENDIF 156 161 IF( ln_zps .AND. ln_isfcav ) THEN ! partial steps correction at the bottom ocean level 162 !$OMP PARALLEL DO schedule(static) private(jj, ji) 157 163 DO jj = 1, jpjm1 158 164 DO ji = 1, jpim1 … … 164 170 ! 165 171 zdzr(:,:,1) = 0._wp !== Local vertical density gradient at T-point == ! (evaluated from N^2) 172 !$OMP PARALLEL DO schedule(static) private(jk) 166 173 DO jk = 2, jpkm1 167 174 ! ! zdzr = d/dz(prd)= - ( prd ) / grav * mk(pn2) -- at t point … … 182 189 ! 183 190 IF ( ln_isfcav ) THEN 191 !$OMP PARALLEL DO schedule(static) private(jj,ji) 184 192 DO jj = 2, jpjm1 185 193 DO ji = fs_2, fs_jpim1 ! vector opt. … … 191 199 END DO 192 200 ELSE 201 !$OMP PARALLEL DO schedule(static) private(jj,ji) 193 202 DO jj = 2, jpjm1 194 203 DO ji = fs_2, fs_jpim1 ! vector opt. … … 198 207 END DO 199 208 END IF 200 209 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zau, zav, zbu, zbv, zfj, zfi, zdepu, zdepv) 201 210 DO jk = 2, jpkm1 !* Slopes at u and v points 202 211 DO jj = 2, jpjm1 … … 239 248 ! 240 249 ! !* horizontal Shapiro filter 250 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 241 251 DO jk = 2, jpkm1 242 252 DO jj = 2, jpjm1, MAX(1, jpj-3) ! rows jj=2 and =jpjm1 only … … 283 293 ! =========================== | wslpj = mij( d/dj( prd ) / d/dz( prd ) 284 294 ! 295 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zbw, zfk, zck, zbi, zbj, zai, zaj, zci, zcj) 285 296 DO jk = 2, jpkm1 286 297 DO jj = 2, jpjm1 … … 321 332 ! 322 333 ! !* horizontal Shapiro filter 334 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zcofw, zck) 323 335 DO jk = 2, jpkm1 324 336 DO jj = 2, jpjm1, MAX(1, jpj-3) ! rows jj=2 and =jpjm1 only … … 429 441 ! 430 442 ip = jl ; jp = jl ! guaranteed nonzero gradients ( absolute value larger than repsln) 443 !$OMP PARALLEL DO schedule(static) private(jk,jj,ji,zdit,zdis,zdjt,zdjs,zdxrho_raw,zdyrho_raw) 431 444 DO jk = 1, jpkm1 ! done each pair of triad 432 445 DO jj = 1, jpjm1 ! NB: not masked ==> a minimum value is set … … 445 458 ! 446 459 IF( ln_zps .AND. l_grad_zps ) THEN ! partial steps: correction of i- & j-grad on bottom 460 !$OMP PARALLEL DO schedule(static) private(jj,ji,iku,zdit,zdis,zdxrho_raw,zdyrho_raw) 447 461 DO jj = 1, jpjm1 448 462 DO ji = 1, jpim1 … … 676 690 ! 677 691 ! !== surface mixed layer mask ! 692 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, ik) 678 693 DO jk = 1, jpk ! =1 inside the mixed layer, =0 otherwise 679 694 DO jj = 1, jpj … … 698 713 !----------------------------------------------------------------------- 699 714 ! 715 !$OMP PARALLEL DO schedule(static) private(jj, ji, iku, ikv, zbu, zbv, zau, zav, ik, ikm1, zbw, zci, zcj, zai, zaj, zbi, zbj) 700 716 DO jj = 2, jpjm1 701 717 DO ji = 2, jpim1 … … 791 807 ! Direction of lateral diffusion (tracers and/or momentum) 792 808 ! ------------------------------ 793 uslp (:,:,:) = 0._wp ; uslpml (:,:) = 0._wp ! set the slope to zero (even in s-coordinates) 794 vslp (:,:,:) = 0._wp ; vslpml (:,:) = 0._wp 795 wslpi(:,:,:) = 0._wp ; wslpiml(:,:) = 0._wp 796 wslpj(:,:,:) = 0._wp ; wslpjml(:,:) = 0._wp 797 809 810 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 811 DO jk = 1, jpk 812 DO jj = 1, jpj 813 DO ji = 1, jpi 814 uslp (ji,jj,jk) = 0._wp 815 vslp (ji,jj,jk) = 0._wp 816 wslpi(ji,jj,jk) = 0._wp 817 wslpj(ji,jj,jk) = 0._wp 818 END DO 819 END DO 820 END DO 821 !$OMP PARALLEL DO schedule(static) private(jj, ji) 822 DO jj = 1, jpj 823 DO ji = 1, jpi 824 uslpml (ji,jj) = 0._wp 825 vslpml (ji,jj) = 0._wp 826 wslpiml(ji,jj) = 0._wp 827 wslpjml(ji,jj) = 0._wp 828 END DO 829 END DO 830 798 831 !!gm I no longer understand this..... 799 832 !!gm IF( (ln_traldf_hor .OR. ln_dynldf_hor) .AND. .NOT. (.NOT.ln_linssh .AND. ln_rstart) ) THEN
Note: See TracChangeset
for help on using the changeset viewer.