Ignore:
Timestamp:
Sep 20, 2006, 12:12:39 PM (18 years ago)
Author:
Laurent Fairhead
Message:

Nouvelles versions de la dynamique YM
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/V3_test/libf/dyn3dpar/groupe_p.F

    r630 r709  
    3030      real wm(iip1,jjp1,llm)
    3131
    32       real zconvm(iip1,jjp1,llm),zconvmm(iip1,jjp1,llm)
     32      real,save :: zconvm(iip1,jjp1,llm)
     33      real,save :: zconvmm(iip1,jjp1,llm)
    3334
    3435      real uu
     
    3839      logical firstcall
    3940      save firstcall
     41c$OMP THREADPRIVATE(firstcall)
    4042
    4143      data firstcall/.true./
     
    5759      jjb=jj_begin
    5860      jje=jj_end
    59       zconvmm(:,jjb:jje,:)=zconvm(:,jjb:jje,:)
     61
     62c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)     
     63      do l=1,llm
     64        zconvmm(:,jjb:jje,l)=zconvm(:,jjb:jje,l)
     65      enddo
     66c$OMP END DO NOWAIT
     67
    6068      call groupeun_p(jjp1,llm,jjb,jje,zconvmm)
    6169     
     
    6472      if (pole_nord) jjb=jj_begin
    6573      if (pole_sud)  jje=jj_end-1
    66       pbarvm(:,jjb:jje,:)=pbarv(:,jjb:jje,:)
     74c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)     
     75      do l=1,llm
     76        pbarvm(:,jjb:jje,l)=pbarv(:,jjb:jje,l)
     77      enddo
     78c$OMP END DO NOWAIT
     79
    6780      call groupeun_p(jjm,llm,jjb,jje,pbarvm)
    6881
     
    7487      if (pole_sud)  jje=jj_end-1
    7588     
     89c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)     
    7690      do l=1,llm
    7791         do j=jjb,jje
     
    86100         enddo
    87101      enddo
    88 
     102c$OMP END DO NOWAIT
    89103c    integration de la convergence de masse de haut  en bas ......
    90104   
    91105      jjb=jj_begin
    92106      jje=jj_end
    93      
    94       do l=1,llm
    95          do j=jjb,jje
    96             do i=1,iip1
    97                zconvmm(i,j,l)=zconvmm(i,j,l)
    98             enddo
    99          enddo
    100       enddo
    101      
     107
     108c$OMP BARRIER
     109c$OMP MASTER     
    102110      do  l = llm-1,1,-1
    103111          do j=jjb,jje
     
    107115          enddo
    108116      enddo
    109      
     117
    110118      if (.not. pole_sud) then
    111119        zconvmm(:,jj_end+1,:)=0
    112         wm(:,jj_end+1,:)=0
     120cym     wm(:,jj_end+1,:)=0
    113121      endif
     122     
     123c$OMP END MASTER
     124c$OMP BARRIER     
     125
    114126      CALL vitvert_p(zconvmm(1,1,1),wm(1,1,1))
    115127
Note: See TracChangeset for help on using the changeset viewer.