- 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/DYN/dynvor.F90
r6748 r7037 322 322 323 323 IF( ln_sco ) THEN 324 !$OMP PARALLEL WORKSHARE 324 325 zwz(:,:) = zwz(:,:) / e3f_n(:,:,jk) 325 326 zwx(:,:) = e2u(:,:) * e3u_n(:,:,jk) * un(:,:,jk) 326 327 zwy(:,:) = e1v(:,:) * e3v_n(:,:,jk) * vn(:,:,jk) 328 !$OMP END PARALLEL WORKSHARE 327 329 ELSE 328 330 !$OMP PARALLEL WORKSHARE … … 521 523 SELECT CASE( nn_een_e3f ) ! == reciprocal of e3 at F-point 522 524 CASE ( 0 ) ! original formulation (masked averaging of e3t divided by 4) 525 !$OMP PARALLEL DO private(jj,ji,ze3) 523 526 DO jj = 1, jpjm1 524 527 DO ji = 1, fs_jpim1 ! vector opt. … … 531 534 END DO 532 535 CASE ( 1 ) ! new formulation (masked averaging of e3t divided by the sum of mask) 536 !$OMP PARALLEL DO private(jj,ji,ze3,zmsk) 533 537 DO jj = 1, jpjm1 534 538 DO ji = 1, fs_jpim1 ! vector opt. … … 546 550 SELECT CASE( kvor ) !== vorticity considered ==! 547 551 CASE ( np_COR ) !* Coriolis (planetary vorticity) 552 !$OMP PARALLEL DO private(jj,ji) 548 553 DO jj = 1, jpjm1 549 554 DO ji = 1, fs_jpim1 ! vector opt. … … 552 557 END DO 553 558 CASE ( np_RVO ) !* relative vorticity 559 !$OMP PARALLEL DO private(jj,ji) 554 560 DO jj = 1, jpjm1 555 561 DO ji = 1, fs_jpim1 ! vector opt. … … 560 566 END DO 561 567 CASE ( np_MET ) !* metric term 568 !$OMP PARALLEL DO private(jj,ji) 562 569 DO jj = 1, jpjm1 563 570 DO ji = 1, fs_jpim1 ! vector opt. … … 568 575 END DO 569 576 CASE ( np_CRV ) !* Coriolis + relative vorticity 577 !$OMP PARALLEL DO private(jj,ji) 570 578 DO jj = 1, jpjm1 571 579 DO ji = 1, fs_jpim1 ! vector opt. … … 576 584 END DO 577 585 CASE ( np_CME ) !* Coriolis + metric 586 !$OMP PARALLEL DO private(jj,ji) 578 587 DO jj = 1, jpjm1 579 588 DO ji = 1, fs_jpim1 ! vector opt. … … 589 598 ! 590 599 IF( ln_dynvor_msk ) THEN !== mask/unmask vorticity ==! 600 !$OMP PARALLEL DO private(jj,ji) 591 601 DO jj = 1, jpjm1 592 602 DO ji = 1, fs_jpim1 ! vector opt. … … 599 609 ! 600 610 ! !== horizontal fluxes ==! 601 zwx(:,:) = e2u(:,:) * e3u_n(:,:,jk) * un(:,:,jk) 602 zwy(:,:) = e1v(:,:) * e3v_n(:,:,jk) * vn(:,:,jk) 611 !$OMP PARALLEL DO private(jj,ji) 612 DO jj = 1, jpj 613 DO ji = 1, jpi 614 zwx(ji,jj) = e2u(ji,jj) * e3u_n(ji,jj,jk) * un(ji,jj,jk) 615 zwy(ji,jj) = e1v(ji,jj) * e3v_n(ji,jj,jk) * vn(ji,jj,jk) 616 END DO 617 END DO 603 618 604 619 ! !== compute and add the vorticity term trend =! … … 611 626 ztsw(ji,jj) = zwz(ji ,jj-1) + zwz(ji-1,jj-1) + zwz(ji-1,jj ) 612 627 END DO 628 !$OMP PARALLEL 629 !$OMP DO private(jj,ji) 613 630 DO jj = 3, jpj 614 631 DO ji = fs_2, jpi ! vector opt. ok because we start at jj = 3 … … 619 636 END DO 620 637 END DO 638 !$OMP DO private(jj,ji,zua,zva) 621 639 DO jj = 2, jpjm1 622 640 DO ji = fs_2, fs_jpim1 ! vector opt. … … 628 646 pva(ji,jj,jk) = pva(ji,jj,jk) + zva 629 647 END DO 630 END DO 648 END DO 649 !$OMP END DO NOWAIT 650 !$OMP END PARALLEL 631 651 ! ! =============== 632 652 END DO ! End of slab … … 683 703 IF(lwp) WRITE(numout,*) ' namlbc: change fmask value in the angles (T) ln_vorlat = ', ln_vorlat 684 704 IF( ln_vorlat .AND. ( ln_dynvor_ene .OR. ln_dynvor_ens .OR. ln_dynvor_mix ) ) THEN 705 !$OMP PARALLEL DO private(jk,jj,ji) 685 706 DO jk = 1, jpk 686 707 DO jj = 2, jpjm1
Note: See TracChangeset
for help on using the changeset viewer.