Changeset 2600 for LMDZ5/trunk/libf/dynphy_lonlat/calfis_p.F
- Timestamp:
- Jul 23, 2016, 7:45:38 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dynphy_lonlat/calfis_p.F
r2597 r2600 47 47 USE callphysiq_mod, ONLY: call_physiq 48 48 #endif 49 USE comvert_mod, ONLY: preff, presnivs 49 50 USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, kappa, pi 50 51 … … 111 112 PARAMETER( ngridmx = 2+(jjm-1)*iim - 1/jjm ) 112 113 113 #include "comvert.h"114 114 #include "comgeom2.h" 115 115 #include "iniprint.h" … … 277 277 ALLOCATE(flxwfi(klon,llm)) 278 278 c$OMP END MASTER 279 c$OMP BARRIER 279 c$OMP BARRIER 280 280 ELSE 281 281 debut = .FALSE. … … 365 365 enddo 366 366 ENDDO 367 c$OMP END DO NOWAIT 367 c$OMP END DO NOWAIT 368 368 ENDDO 369 369 … … 380 380 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 381 381 DO l=1,llm 382 383 384 382 DO ig=1,klon 383 zphi(ig,l)=zphi(ig,l)-zphis(ig) 384 ENDDO 385 385 ENDDO 386 386 c$OMP END DO NOWAIT … … 510 510 DO i=2,iim 511 511 z1(i) =(rlonu(i)-rlonu(i-1))*pvcov(i,jjm,l)/cv(i,jjm) 512 512 ENDDO 513 513 514 514 DO i=1,iim 515 515 zcos(i) = COS(rlonv(i))*z1(i) 516 516 zsin(i) = SIN(rlonv(i))*z1(i) 517 517 ENDDO 518 518 519 519 zufi(klon,l) = SSUM(iim,zcos,1)/pi … … 556 556 allocate(zdpsrf_omp(klon)) 557 557 allocate(flxwfi_omp(klon,llm)) 558 558 first_omp=.false. 559 559 endif 560 560 561 561 562 562 klon=klon_omp 563 563 offset=klon_omp_begin-1 … … 566 566 do i=1,klon 567 567 zplev_omp(i,l)=zplev(offset+i,l) 568 569 enddo 570 568 enddo 569 enddo 570 571 571 do l=1,llm 572 572 do i=1,klon 573 574 575 enddo 576 577 do l=1,llm 578 do i=1,klon 579 580 581 enddo 582 573 zplay_omp(i,l)=zplay(offset+i,l) 574 enddo 575 enddo 576 577 do l=1,llm 578 do i=1,klon 579 zphi_omp(i,l)=zphi(offset+i,l) 580 enddo 581 enddo 582 583 583 do i=1,klon 584 584 zphis_omp(i)=zphis(offset+i) 585 585 enddo 586 586 587 587 588 588 do l=1,llm 589 589 presnivs_omp(l)=presnivs(l) 590 590 enddo 591 592 do l=1,llm 593 do i=1,klon 594 595 596 enddo 597 598 do l=1,llm 599 do i=1,klon 600 601 602 enddo 603 604 do l=1,llm 605 do i=1,klon 606 607 608 enddo 609 610 611 do l=1,llm 612 do i=1,klon 613 614 615 enddo 616 591 592 do l=1,llm 593 do i=1,klon 594 zufi_omp(i,l)=zufi(offset+i,l) 595 enddo 596 enddo 597 598 do l=1,llm 599 do i=1,klon 600 zvfi_omp(i,l)=zvfi(offset+i,l) 601 enddo 602 enddo 603 604 do l=1,llm 605 do i=1,klon 606 zrfi_omp(i,l)=zrfi(offset+i,l) 607 enddo 608 enddo 609 610 611 do l=1,llm 612 do i=1,klon 613 ztfi_omp(i,l)=ztfi(offset+i,l) 614 enddo 615 enddo 616 617 617 do iq=1,nqtot 618 618 do l=1,llm 619 619 do i=1,klon 620 620 zqfi_omp(i,l,iq)=zqfi(offset+i,l,iq) 621 622 623 enddo 624 625 do l=1,llm 626 do i=1,klon 627 628 629 enddo 630 631 do l=1,llm 632 do i=1,klon 633 634 635 enddo 636 621 enddo 622 enddo 623 enddo 624 625 do l=1,llm 626 do i=1,klon 627 zdufi_omp(i,l)=zdufi(offset+i,l) 628 enddo 629 enddo 630 631 do l=1,llm 632 do i=1,klon 633 zdvfi_omp(i,l)=zdvfi(offset+i,l) 634 enddo 635 enddo 636 637 637 do l=1,llm 638 638 do i=1,klon 639 639 zdtfi_omp(i,l)=zdtfi(offset+i,l) 640 641 enddo 642 640 enddo 641 enddo 642 643 643 do iq=1,nqtot 644 644 do l=1,llm 645 645 do i=1,klon 646 647 646 zdqfi_omp(i,l,iq)=zdqfi(offset+i,l,iq) 647 enddo 648 648 enddo 649 649 enddo 650 650 651 651 do i=1,klon 652 652 zdpsrf_omp(i)=zdpsrf(offset+i) 653 653 enddo 654 654 … … 656 656 do i=1,klon 657 657 flxwfi_omp(i,l)=flxwfi(offset+i,l) 658 658 enddo 659 659 enddo 660 660 … … 713 713 do i=1,klon 714 714 zplev(offset+i,l)=zplev_omp(i,l) 715 716 enddo 717 715 enddo 716 enddo 717 718 718 do l=1,llm 719 719 do i=1,klon 720 721 722 enddo 723 724 do l=1,llm 725 do i=1,klon 726 727 728 enddo 729 720 zplay(offset+i,l)=zplay_omp(i,l) 721 enddo 722 enddo 723 724 do l=1,llm 725 do i=1,klon 726 zphi(offset+i,l)=zphi_omp(i,l) 727 enddo 728 enddo 729 730 730 731 731 do i=1,klon 732 732 zphis(offset+i)=zphis_omp(i) 733 733 enddo 734 734 735 735 736 736 do l=1,llm 737 737 presnivs(l)=presnivs_omp(l) 738 738 enddo 739 740 do l=1,llm 741 do i=1,klon 742 743 744 enddo 745 746 do l=1,llm 747 do i=1,klon 748 749 750 enddo 751 752 do l=1,llm 753 do i=1,klon 754 755 756 enddo 757 739 740 do l=1,llm 741 do i=1,klon 742 zufi(offset+i,l)=zufi_omp(i,l) 743 enddo 744 enddo 745 746 do l=1,llm 747 do i=1,klon 748 zvfi(offset+i,l)=zvfi_omp(i,l) 749 enddo 750 enddo 751 752 do l=1,llm 753 do i=1,klon 754 ztfi(offset+i,l)=ztfi_omp(i,l) 755 enddo 756 enddo 757 758 758 do iq=1,nqtot 759 759 do l=1,llm 760 760 do i=1,klon 761 761 zqfi(offset+i,l,iq)=zqfi_omp(i,l,iq) 762 763 764 enddo 765 766 do l=1,llm 767 do i=1,klon 768 769 770 enddo 771 772 do l=1,llm 773 do i=1,klon 774 775 776 enddo 777 762 enddo 763 enddo 764 enddo 765 766 do l=1,llm 767 do i=1,klon 768 zdufi(offset+i,l)=zdufi_omp(i,l) 769 enddo 770 enddo 771 772 do l=1,llm 773 do i=1,klon 774 zdvfi(offset+i,l)=zdvfi_omp(i,l) 775 enddo 776 enddo 777 778 778 do l=1,llm 779 779 do i=1,klon 780 780 zdtfi(offset+i,l)=zdtfi_omp(i,l) 781 782 enddo 783 781 enddo 782 enddo 783 784 784 do iq=1,nqtot 785 785 do l=1,llm 786 786 do i=1,klon 787 788 787 zdqfi(offset+i,l,iq)=zdqfi_omp(i,l,iq) 788 enddo 789 789 enddo 790 790 enddo 791 791 792 792 do i=1,klon 793 793 zdpsrf(offset+i)=zdpsrf_omp(i) 794 794 enddo 795 795 … … 892 892 pdpsfi(:,jj_begin)=0 893 893 if (.not. is_south_pole_dyn) then 894 894 pdpsfi(:,jj_end)=0 895 895 endif 896 896 c$OMP END MASTER … … 976 976 pdqfi(:,:,l,:)=0. 977 977 ENDDO 978 c$OMP END DO NOWAIT 978 c$OMP END DO NOWAIT 979 979 980 980 C … … 987 987 !CDIR ON_ADB(index_j) 988 988 !cdir NODEP 989 989 DO ig0=kstart,kend 990 990 i=index_i(ig0) 991 991 j=index_j(ig0) … … 993 993 if (i==1) pdqfi(iip1,j,l,iiq) = zdqfi(ig0,l,iq) 994 994 ENDDO 995 996 997 995 996 IF (is_north_pole_dyn) then 997 DO i=1,iip1 998 998 pdqfi(i,1,l,iiq) = zdqfi(1,l,iq) 999 1000 1001 1002 1003 999 ENDDO 1000 ENDIF 1001 1002 IF (is_south_pole_dyn) then 1003 DO i=1,iip1 1004 1004 pdqfi(i,jjp1,l,iiq) = zdqfi(klon,l,iq) 1005 1006 1007 1005 ENDDO 1006 ENDIF 1007 1008 1008 ENDDO 1009 c$OMP END DO NOWAIT 1009 c$OMP END DO NOWAIT 1010 1010 ENDDO 1011 1011 … … 1067 1067 pdvfi(i,j,l)=0.5*(zdvfi2(ig0,l)+zdvfi2(ig0+iim,l))*cv(i,j) 1068 1068 if (i==1) pdvfi(iip1,j,l) = 0.5*(zdvfi2(ig0,l)+ 1069 $ 1070 $ 1069 $ zdvfi2(ig0+iim,l)) 1070 $ *cv(i,j) 1071 1071 enddo 1072 1072
Note: See TracChangeset
for help on using the changeset viewer.