- Timestamp:
- 2016-10-18T15:32:04+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
r6748 r7037 135 135 z1_slpmax = 1._wp / rn_slpmax 136 136 ! 137 138 !$OMP PARALLEL WORKSHARE 137 !$OMP PARALLEL 138 !$OMP WORKSHARE 139 139 140 zww(:,:,:) = 0._wp 140 141 zwz(:,:,:) = 0._wp 141 !$OMP END PARALLEL WORKSHARE142 ! 143 !$OMP PARALLELDO schedule(static) private(jk, jj, ji)142 !$OMP END WORKSHARE NOWAIT 143 ! 144 !$OMP DO schedule(static) private(jk, jj, ji) 144 145 DO jk = 1, jpk !== i- & j-gradient of density ==! 145 146 DO jj = 1, jpjm1 … … 150 151 END DO 151 152 END DO 153 !$OMP END DO NOWAIT 154 !$OMP END PARALLEL 152 155 IF( ln_zps ) THEN ! partial steps correction at the bottom ocean level 153 156 !$OMP PARALLEL DO schedule(static) private(jj, ji) … … 169 172 ENDIF 170 173 ! 174 !$OMP PARALLEL 175 !$OMP WORKSHARE 171 176 zdzr(:,:,1) = 0._wp !== Local vertical density gradient at T-point == ! (evaluated from N^2) 172 !$OMP PARALLEL DO schedule(static) private(jk) 177 !$OMP END WORKSHARE 178 !$OMP DO schedule(static) private(jk) 173 179 DO jk = 2, jpkm1 174 180 ! ! zdzr = d/dz(prd)= - ( prd ) / grav * mk(pn2) -- at t point … … 180 186 & * ( pn2(:,:,jk) + pn2(:,:,jk+1) ) * ( 1._wp - 0.5_wp * tmask(:,:,jk+1) ) 181 187 END DO 188 !$OMP END DO NOWAIT 189 !$OMP END PARALLEL 182 190 ! 183 191 ! !== Slopes just below the mixed layer ==! … … 248 256 ! 249 257 ! !* horizontal Shapiro filter 250 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 258 !$OMP PARALLEL 259 !$OMP DO schedule(static) private(jk, jj, ji) 251 260 DO jk = 2, jpkm1 252 261 DO jj = 2, jpjm1, MAX(1, jpj-3) ! rows jj=2 and =jpjm1 only … … 288 297 END DO 289 298 END DO 299 !$OMP END DO 290 300 291 301 … … 293 303 ! =========================== | wslpj = mij( d/dj( prd ) / d/dz( prd ) 294 304 ! 295 !$OMP PARALLELDO schedule(static) private(jk, jj, ji, zbw, zfk, zck, zbi, zbj, zai, zaj, zci, zcj)305 !$OMP DO schedule(static) private(jk, jj, ji, zbw, zfk, zck, zbi, zbj, zai, zaj, zci, zcj) 296 306 DO jk = 2, jpkm1 297 307 DO jj = 2, jpjm1 … … 329 339 END DO 330 340 END DO 341 !$OMP END DO NOWAIT 342 !$OMP END PARALLEL 331 343 CALL lbc_lnk( zwz, 'T', -1. ) ; CALL lbc_lnk( zww, 'T', -1. ) ! lateral boundary conditions 332 344 ! … … 441 453 ! 442 454 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)444 455 DO jk = 1, jpkm1 ! done each pair of triad 445 456 DO jj = 1, jpjm1 ! NB: not masked ==> a minimum value is set … … 458 469 ! 459 470 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)461 471 DO jj = 1, jpjm1 462 472 DO ji = 1, jpim1 … … 690 700 ! 691 701 ! !== surface mixed layer mask ! 692 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, ik) 702 !$OMP PARALLEL 703 !$OMP DO schedule(static) private(jk, jj, ji, ik) 693 704 DO jk = 1, jpk ! =1 inside the mixed layer, =0 otherwise 694 705 DO jj = 1, jpj … … 701 712 END DO 702 713 END DO 714 !$OMP END DO NOWAIT 703 715 704 716 … … 713 725 !----------------------------------------------------------------------- 714 726 ! 715 !$OMP PARALLELDO schedule(static) private(jj, ji, iku, ikv, zbu, zbv, zau, zav, ik, ikm1, zbw, zci, zcj, zai, zaj, zbi, zbj)727 !$OMP DO schedule(static) private(jj, ji, iku, ikv, zbu, zbv, zau, zav, ik, ikm1, zbw, zci, zcj, zai, zaj, zbi, zbj) 716 728 DO jj = 2, jpjm1 717 729 DO ji = 2, jpim1 … … 758 770 END DO 759 771 END DO 772 !$OMP END DO NOWAIT 773 !$OMP END PARALLEL 760 774 !!gm this lbc_lnk should be useless.... 761 775 CALL lbc_lnk( uslpml , 'U', -1. ) ; CALL lbc_lnk( vslpml , 'V', -1. ) ! lateral boundary cond. (sign change) … … 808 822 ! ------------------------------ 809 823 810 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 824 !$OMP PARALLEL 825 !$OMP DO schedule(static) private(jk, jj, ji) 811 826 DO jk = 1, jpk 812 827 DO jj = 1, jpj … … 819 834 END DO 820 835 END DO 821 !$OMP PARALLEL DO schedule(static) private(jj, ji) 836 !$OMP END DO NOWAIT 837 !$OMP DO schedule(static) private(jj, ji) 822 838 DO jj = 1, jpj 823 839 DO ji = 1, jpi … … 828 844 END DO 829 845 END DO 846 !$OMP END DO NOWAIT 847 !$OMP END PARALLEL 830 848 831 849 !!gm I no longer understand this.....
Note: See TracChangeset
for help on using the changeset viewer.