Ignore:
Timestamp:
Jul 30, 2008, 5:50:03 PM (16 years ago)
Author:
Laurent Fairhead
Message:

Mise a jour de dyn3dpar par rapport a dyn3d, inclusion OpenMP et filtre FFT YM
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/dyn3dpar/gradiv2_p.F

    r764 r985  
    1616      USE times
    1717      USE Write_field_p
     18      USE mod_hallo
    1819      IMPLICIT NONE
    1920c
     
    3334c
    3435      REAL,SAVE :: div(ip1jmp1,llm)
     36      REAL      :: tmp_div2(ip1jmp1,llm)
    3537      REAL signe, nugrads
    3638      INTEGER l,ij,iter,ld
    3739      INTEGER :: ijb,ije,jjb,jje
     40      Type(Request)  :: request_dissip
    3841     
    3942c    ........................................................
     
    6366
    6467c$OMP BARRIER
    65 c$OMP MASTER     
    66       call suspend_timer(timer_dissip)
    67       call exchange_Hallo(gdy,ip1jm,llm,1,0)
    68       call resume_timer(timer_dissip)
    69 c$OMP END MASTER
     68       call Register_Hallo(gdy,ip1jm,llm,1,0,0,1,Request_dissip)
     69       call SendRequest(Request_dissip)
     70c$OMP BARRIER
     71       call WaitRequest(Request_dissip)
    7072c$OMP BARRIER
    7173c
     
    8183      IF( ld.GT.1 )   THEN
    8284c$OMP BARRIER
    83 c$OMP MASTER       
    84         call suspend_timer(timer_dissip)
    85         call exchange_Hallo(div,ip1jmp1,llm,1,1)
    86         call resume_timer(timer_dissip)
    87 c$OMP END MASTER       
     85       call Register_Hallo(div,ip1jmp1,llm,1,1,1,1,Request_dissip)
     86       call SendRequest(Request_dissip)
     87c$OMP BARRIER
     88       call WaitRequest(Request_dissip)
    8889c$OMP BARRIER
    8990        CALL laplacien_p ( klevel, div,  div     )
     
    9495        DO iter = 1, ld -2
    9596c$OMP BARRIER
    96 c$OMP MASTER
    97          call suspend_timer(timer_dissip)
    98          call exchange_Hallo(div,ip1jmp1,llm,1,1)
    99          call resume_timer(timer_dissip)
    100 c$OMP END MASTER
     97       call Register_Hallo(div,ip1jmp1,llm,1,1,1,1,Request_dissip)
     98       call SendRequest(Request_dissip)
    10199c$OMP BARRIER
     100       call WaitRequest(Request_dissip)
     101
     102c$OMP BARRIER
     103
    102104         CALL laplacien_gam ( klevel,cuvscvgam1,cvuscugam1,unsair_gam1,
    103105     *                       unsapolnga1, unsapolsga1,  div, div       )
     
    112114c       call exchange_Hallo(div,ip1jmp1,llm,0,1)
    113115c$OMP BARRIER
    114 c$OMP MASTER       
    115         call suspend_timer(timer_dissip)
    116         call exchange_Hallo(div,ip1jmp1,llm,1,1)
    117         call resume_timer(timer_dissip)
    118 c$OMP END MASTER
     116       call Register_Hallo(div,ip1jmp1,llm,1,1,1,1,Request_dissip)
     117       call SendRequest(Request_dissip)
    119118c$OMP BARRIER
    120 c       call write_field3d_p('div4',reshape(div,(/iip1,jjp1,llm/)))
     119       call WaitRequest(Request_dissip)
     120
     121c$OMP BARRIER
     122
     123
    121124       CALL  grad_p  ( klevel,  div,   gdx,  gdy             )
    122125
Note: See TracChangeset for help on using the changeset viewer.