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/divgrad_p.F

    r630 r709  
    1       SUBROUTINE divgrad_p (klevel,h, lh, divgra )
     1      SUBROUTINE divgrad_p (klevel,h, lh, divgra_out )
    22      USE parallel
    33      USE times
     
    2626c
    2727      INTEGER klevel
    28       REAL h( ip1jmp1,klevel ), divgra( ip1jmp1,klevel )
     28      REAL h( ip1jmp1,klevel ), divgra_out( ip1jmp1,klevel )
     29      REAL,SAVE :: divgra( ip1jmp1,llm )
     30
    2931c
    3032      REAL ghy(ip1jm,llm), ghx(ip1jmp1,llm)
     
    3234      INTEGER  l,ij,iter,lh
    3335c
    34       EXTERNAL  filtreg
    35       EXTERNAL  SCOPY, grad, covcont, diverg
    3636      INTEGER ijb,ije,jjb,jje
    3737c
     
    4141      ijb=ij_begin
    4242      ije=ij_end
    43       divgra(ijb:ije,1:klevel)=h(ijb:ije,1:klevel)
    44 
     43c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
     44      DO l = 1, klevel     
     45      divgra(ijb:ije,l)=h(ijb:ije,l)
     46      ENDDO
     47c$OMP END DO NOWAIT
    4548c
    4649
     
    5356
    5457c      call exchange_Hallo(divgra,ip1jmp1,llm,0,1)
    55      
     58c$OMP BARRIER
     59c$OMP MASTER     
    5660      call suspend_timer(timer_dissip)
    5761      call exchange_Hallo(divgra,ip1jmp1,llm,1,1)
    5862      call resume_timer(timer_dissip)
    59        
     63c$OMP END MASTER
     64c$OMP BARRIER       
    6065      CALL    grad_p (klevel,divgra, ghx  , ghy          )
    6166
     67c$OMP BARRIER
     68c$OMP MASTER   
    6269      call suspend_timer(timer_dissip)
    6370      call exchange_Hallo(ghy,ip1jm,llm,1,0)
    6471      call resume_timer(timer_dissip)
    65      
     72c$OMP END MASTER
     73c$OMP BARRIER           
     74
    6675      CALL  diverg_p (klevel,  ghx , ghy  , divgra       )
    6776
     
    7079      CALL filtreg_p( divgra,jjb,jje,jjp1,klevel,2,1,.true.,1)
    7180
     81c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    7282      DO 5 l = 1,klevel
    7383      DO 4  ij = ijb, ije
    74       divgra( ij,l ) = - cdivh * divgra( ij,l )
     84      divgra_out( ij,l ) = - cdivh * divgra( ij,l )
    7585   4  CONTINUE
    7686   5  CONTINUE
     87c$OMP END DO NOWAIT
    7788c
    7889  10  CONTINUE
Note: See TracChangeset for help on using the changeset viewer.