Ignore:
Timestamp:
Jun 4, 2007, 4:13:10 PM (17 years ago)
Author:
Laurent Fairhead
Message:

Merge entre la version V3_conv et le HEAD
YM, JG, LF

File:
1 edited

Legend:

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

    r630 r764  
    1       SUBROUTINE divgrad2_p ( klevel, h, deltapres, lh, divgra )
     1      SUBROUTINE divgrad2_p ( klevel, h, deltapres, lh, divgra_out )
    22c
    33c     P. Le Van
     
    2323      INTEGER klevel
    2424      REAL h( ip1jmp1,klevel ), deltapres( ip1jmp1,klevel )
    25       REAL divgra( ip1jmp1,klevel)
     25      REAL divgra_out( ip1jmp1,klevel)
     26      REAL,SAVE :: divgra( ip1jmp1,llm)
     27
    2628c
    2729c    .......    variables  locales    ..........
     
    3133c    ...................................................................
    3234
    33       EXTERNAL  filtreg
    34       EXTERNAL  SCOPY,  laplacien_gam
    3535      INTEGER ijb,ije
    3636c
     
    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
     49c$OMP BARRIER
     50c$OMP MASTER
    4651      call suspend_timer(timer_dissip)
    4752      call exchange_Hallo(divgra,ip1jmp1,llm,1,1)
    4853      call resume_timer(timer_dissip)
     54c$OMP END MASTER
     55c$OMP BARRIER
    4956      CALL laplacien_p( klevel, divgra, divgra )
    50      
     57
     58c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)     
    5159      DO l = 1, klevel
    5260       DO ij = ijb, ije
     
    5462       ENDDO
    5563      ENDDO
     64c$OMP END DO NOWAIT
     65
    5666c
     67c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)     
    5768      DO l = 1, klevel
    5869        DO ij = ijb, ije
     
    6071        ENDDO
    6172      ENDDO
     73c$OMP END DO NOWAIT
    6274   
    6375c    ........    Iteration de l'operateur  laplacien_gam    ........
    6476c
    6577      DO  iter = 1, lh - 2
     78c$OMP BARRIER
     79c$OMP MASTER
    6680       call suspend_timer(timer_dissip)
    6781       call exchange_Hallo(divgra,ip1jmp1,llm,1,1)
    6882       call resume_timer(timer_dissip)
     83c$OMP END MASTER
     84c$OMP BARRIER
    6985       CALL laplacien_gam_p ( klevel,cuvscvgam2,cvuscugam2,unsair_gam2,
    7086     *                     unsapolnga2, unsapolsga2,  divgra, divgra )
     
    7288c
    7389c    ...............................................................
    74  
     90
     91c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)     
    7592      DO l = 1, klevel
    7693        DO ij = ijb, ije
     
    7895        ENDDO
    7996      ENDDO
     97c$OMP END DO NOWAIT
    8098c
     99c$OMP BARRIER
     100c$OMP MASTER
    81101      call suspend_timer(timer_dissip)
    82102      call exchange_Hallo(divgra,ip1jmp1,llm,1,1)
    83103      call resume_timer(timer_dissip)
     104c$OMP END MASTER
     105c$OMP BARRIER
     106
    84107      CALL laplacien_p ( klevel, divgra, divgra )
    85108c
     109c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    86110      DO l  = 1,klevel
    87111      DO ij = ijb,ije
    88       divgra(ij,l) =  nudivgrs * divgra(ij,l) / deltapres(ij,l)
     112      divgra_out(ij,l) =  nudivgrs * divgra(ij,l) / deltapres(ij,l)
    89113      ENDDO
    90114      ENDDO
     115c$OMP END DO NOWAIT
    91116
    92117      RETURN
Note: See TracChangeset for help on using the changeset viewer.