Ignore:
Timestamp:
Jul 23, 2016, 7:45:38 AM (8 years ago)
Author:
Ehouarn Millour
Message:

Cleanup in the dynamics: turn comvert.h into module comvert_mod.F90
EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dynphy_lonlat/calfis_loc.F

    r2597 r2600  
    5050      USE callphysiq_mod, ONLY: call_physiq
    5151#endif
     52      USE comvert_mod, ONLY: preff, presnivs
    5253      USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, kappa, pi
    5354
     
    115116      PARAMETER( ngridmx = 2+(jjm-1)*iim - 1/jjm   )
    116117
    117       include "comvert.h"
    118118      include "comgeom2.h"
    119119      include "iniprint.h"
     
    277277      ALLOCATE(flxwfi(klon,llm))
    278278c$OMP END MASTER
    279 c$OMP BARRIER    
     279c$OMP BARRIER         
    280280      ELSE
    281281          debut = .FALSE.
     
    365365           enddo
    366366         ENDDO
    367 c$OMP END DO NOWAIT     
     367c$OMP END DO NOWAIT       
    368368      ENDDO
    369369
     
    382382           enddo
    383383         ENDDO
    384 c$OMP END DO NOWAIT     
     384c$OMP END DO NOWAIT       
    385385
    386386c      CALL gr_dyn_fi_p(llm,iip1,jjp1,klon,pphi,zphi)
     
    403403c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    404404      DO l=1,llm
    405         DO ig=1,klon
    406            zphi(ig,l)=zphi(ig,l)-zphis(ig)
    407         ENDDO
     405        DO ig=1,klon
     406           zphi(ig,l)=zphi(ig,l)-zphis(ig)
     407        ENDDO
    408408      ENDDO
    409409c$OMP END DO NOWAIT
     
    532532           DO i=2,iim
    533533             z1(i)   =(rlonu(i)-rlonu(i-1))*pvcov(i,jjm,l)/cv(i,jjm)
    534            ENDDO
     534           ENDDO
    535535 
    536536           DO i=1,iim
    537537              zcos(i)    = COS(rlonv(i))*z1(i)
    538538              zsin(i)    = SIN(rlonv(i))*z1(i)
    539            ENDDO
     539           ENDDO
    540540 
    541541           zufi(klon,l)  = SSUM(iim,zcos,1)/pi
     
    590590        allocate(zdpsrf_omp(klon))
    591591        allocate(flxwfi_omp(klon,llm))
    592         first_omp=.false.
     592        first_omp=.false.
    593593      endif
    594594       
    595            
     595           
    596596      klon=klon_omp
    597597      offset=klon_omp_begin-1
     
    600600        do i=1,klon
    601601          zplev_omp(i,l)=zplev(offset+i,l)
    602         enddo
    603       enddo
    604          
     602        enddo
     603      enddo
     604         
    605605       do l=1,llm
    606606        do i=1,klon 
    607           zplay_omp(i,l)=zplay(offset+i,l)
    608         enddo
    609       enddo
    610        
    611       do l=1,llm
    612         do i=1,klon
    613           zphi_omp(i,l)=zphi(offset+i,l)
    614         enddo
    615       enddo
    616        
     607          zplay_omp(i,l)=zplay(offset+i,l)
     608        enddo
     609      enddo
     610       
     611      do l=1,llm
     612        do i=1,klon
     613          zphi_omp(i,l)=zphi(offset+i,l)
     614        enddo
     615      enddo
     616       
    617617      do i=1,klon
    618         zphis_omp(i)=zphis(offset+i)
     618        zphis_omp(i)=zphis(offset+i)
    619619      enddo
    620620     
    621        
     621       
    622622      do l=1,llm
    623623        presnivs_omp(l)=presnivs(l)
    624624      enddo
    625        
    626       do l=1,llm
    627         do i=1,klon
    628           zufi_omp(i,l)=zufi(offset+i,l)
    629         enddo
    630       enddo
    631        
    632       do l=1,llm
    633         do i=1,klon
    634           zvfi_omp(i,l)=zvfi(offset+i,l)
    635         enddo
    636       enddo
    637        
    638       do l=1,llm
    639         do i=1,klon
    640           zrfi_omp(i,l)=zrfi(offset+i,l)
    641         enddo
    642       enddo
    643        
    644       do l=1,llm
    645         do i=1,klon
    646           ztfi_omp(i,l)=ztfi(offset+i,l)
    647         enddo
    648       enddo
    649        
     625       
     626      do l=1,llm
     627        do i=1,klon
     628          zufi_omp(i,l)=zufi(offset+i,l)
     629        enddo
     630      enddo
     631       
     632      do l=1,llm
     633        do i=1,klon
     634          zvfi_omp(i,l)=zvfi(offset+i,l)
     635        enddo
     636      enddo
     637       
     638      do l=1,llm
     639        do i=1,klon
     640          zrfi_omp(i,l)=zrfi(offset+i,l)
     641        enddo
     642      enddo
     643       
     644      do l=1,llm
     645        do i=1,klon
     646          ztfi_omp(i,l)=ztfi(offset+i,l)
     647        enddo
     648      enddo
     649       
    650650      do iq=1,nqtot
    651651        do l=1,llm
    652652          do i=1,klon
    653653            zqfi_omp(i,l,iq)=zqfi(offset+i,l,iq)
    654           enddo
    655         enddo
    656       enddo
    657        
    658       do l=1,llm
    659         do i=1,klon
    660           zdufi_omp(i,l)=zdufi(offset+i,l)
    661         enddo
    662       enddo
    663        
    664       do l=1,llm
    665         do i=1,klon
    666           zdvfi_omp(i,l)=zdvfi(offset+i,l)
    667         enddo
    668       enddo
    669        
     654          enddo
     655        enddo
     656      enddo
     657       
     658      do l=1,llm
     659        do i=1,klon
     660          zdufi_omp(i,l)=zdufi(offset+i,l)
     661        enddo
     662      enddo
     663       
     664      do l=1,llm
     665        do i=1,klon
     666          zdvfi_omp(i,l)=zdvfi(offset+i,l)
     667        enddo
     668      enddo
     669       
    670670      do l=1,llm
    671671        do i=1,klon
    672672          zdtfi_omp(i,l)=zdtfi(offset+i,l)
    673         enddo
    674       enddo
    675        
     673        enddo
     674      enddo
     675       
    676676      do iq=1,nqtot
    677677        do l=1,llm
    678678          do i=1,klon
    679             zdqfi_omp(i,l,iq)=zdqfi(offset+i,l,iq)
    680           enddo
     679            zdqfi_omp(i,l,iq)=zdqfi(offset+i,l,iq)
     680          enddo
    681681        enddo
    682682      enddo
    683        
     683             
    684684      do i=1,klon
    685         zdpsrf_omp(i)=zdpsrf(offset+i)
     685        zdpsrf_omp(i)=zdpsrf(offset+i)
    686686      enddo
    687687
     
    689689        do i=1,klon
    690690          flxwfi_omp(i,l)=flxwfi(offset+i,l)
    691         enddo
     691        enddo
    692692      enddo
    693693     
     
    749749        do i=1,klon
    750750          zplev(offset+i,l)=zplev_omp(i,l)
    751         enddo
    752       enddo
    753          
     751        enddo
     752      enddo
     753         
    754754       do l=1,llm
    755755        do i=1,klon 
    756           zplay(offset+i,l)=zplay_omp(i,l)
    757         enddo
    758       enddo
    759        
    760       do l=1,llm
    761         do i=1,klon
    762           zphi(offset+i,l)=zphi_omp(i,l)
    763         enddo
    764       enddo
    765        
     756          zplay(offset+i,l)=zplay_omp(i,l)
     757        enddo
     758      enddo
     759       
     760      do l=1,llm
     761        do i=1,klon
     762          zphi(offset+i,l)=zphi_omp(i,l)
     763        enddo
     764      enddo
     765       
    766766
    767767      do i=1,klon
    768         zphis(offset+i)=zphis_omp(i)
     768        zphis(offset+i)=zphis_omp(i)
    769769      enddo
    770770     
    771        
     771       
    772772      do l=1,llm
    773773        presnivs(l)=presnivs_omp(l)
    774774      enddo
    775        
    776       do l=1,llm
    777         do i=1,klon
    778           zufi(offset+i,l)=zufi_omp(i,l)
    779         enddo
    780       enddo
    781        
    782       do l=1,llm
    783         do i=1,klon
    784           zvfi(offset+i,l)=zvfi_omp(i,l)
    785         enddo
    786       enddo
    787        
    788       do l=1,llm
    789         do i=1,klon
    790           ztfi(offset+i,l)=ztfi_omp(i,l)
    791         enddo
    792       enddo
    793        
     775       
     776      do l=1,llm
     777        do i=1,klon
     778          zufi(offset+i,l)=zufi_omp(i,l)
     779        enddo
     780      enddo
     781       
     782      do l=1,llm
     783        do i=1,klon
     784          zvfi(offset+i,l)=zvfi_omp(i,l)
     785        enddo
     786      enddo
     787       
     788      do l=1,llm
     789        do i=1,klon
     790          ztfi(offset+i,l)=ztfi_omp(i,l)
     791        enddo
     792      enddo
     793       
    794794      do iq=1,nqtot
    795795        do l=1,llm
    796796          do i=1,klon
    797797            zqfi(offset+i,l,iq)=zqfi_omp(i,l,iq)
    798           enddo
    799         enddo
    800       enddo
    801        
    802       do l=1,llm
    803         do i=1,klon
    804           zdufi(offset+i,l)=zdufi_omp(i,l)
    805         enddo
    806       enddo
    807        
    808       do l=1,llm
    809         do i=1,klon
    810           zdvfi(offset+i,l)=zdvfi_omp(i,l)
    811         enddo
    812       enddo
    813        
     798          enddo
     799        enddo
     800      enddo
     801       
     802      do l=1,llm
     803        do i=1,klon
     804          zdufi(offset+i,l)=zdufi_omp(i,l)
     805        enddo
     806      enddo
     807       
     808      do l=1,llm
     809        do i=1,klon
     810          zdvfi(offset+i,l)=zdvfi_omp(i,l)
     811        enddo
     812      enddo
     813       
    814814      do l=1,llm
    815815        do i=1,klon
    816816          zdtfi(offset+i,l)=zdtfi_omp(i,l)
    817         enddo
    818       enddo
    819        
     817        enddo
     818      enddo
     819       
    820820      do iq=1,nqtot
    821821        do l=1,llm
    822822          do i=1,klon
    823             zdqfi(offset+i,l,iq)=zdqfi_omp(i,l,iq)
    824           enddo
     823            zdqfi(offset+i,l,iq)=zdqfi_omp(i,l,iq)
     824          enddo
    825825        enddo
    826826      enddo
    827        
     827             
    828828      do i=1,klon
    829         zdpsrf(offset+i)=zdpsrf_omp(i)
     829        zdpsrf(offset+i)=zdpsrf_omp(i)
    830830      enddo
    831831     
     
    929929       
    930930       if (.not. is_south_pole_dyn) then
    931         pdpsfi(:,jj_end:jj_end+1)=0
     931        pdpsfi(:,jj_end:jj_end+1)=0
    932932       endif
    933933c$OMP END MASTER
     
    10451045        pdqfi(:,jj_begin:jj_end,l,:)=0.
    10461046      ENDDO
    1047 c$OMP END DO NOWAIT     
     1047c$OMP END DO NOWAIT       
    10481048
    10491049C
     
    10561056!CDIR ON_ADB(index_j)
    10571057!cdir NODEP           
    1058              DO ig0=kstart,kend
     1058             DO ig0=kstart,kend
    10591059              i=index_i(ig0)
    10601060              j=index_j(ig0)
     
    10621062              if (i==1) pdqfi(iip1,j,l,iiq) = zdqfi(ig0,l,iq)
    10631063            ENDDO
    1064            
    1065             IF (is_north_pole_dyn) then
    1066               DO i=1,iip1
     1064           
     1065            IF (is_north_pole_dyn) then
     1066              DO i=1,iip1
    10671067                pdqfi(i,1,l,iiq)    = zdqfi(1,l,iq)
    1068               ENDDO
    1069             ENDIF
    1070            
    1071             IF (is_south_pole_dyn) then
    1072               DO i=1,iip1
     1068              ENDDO
     1069            ENDIF
     1070           
     1071            IF (is_south_pole_dyn) then
     1072              DO i=1,iip1
    10731073                pdqfi(i,jjp1,l,iiq) = zdqfi(klon,l,iq)
    1074               ENDDO
    1075             ENDIF
    1076            
     1074              ENDDO
     1075            ENDIF
     1076           
    10771077         ENDDO
    1078 c$OMP END DO NOWAIT     
     1078c$OMP END DO NOWAIT       
    10791079      ENDDO
    10801080     
     
    11361136           pdvfi(i,j,l)=0.5*(zdvfi2(ig0,l)+zdvfi2(ig0+iim,l))*cv(i,j)
    11371137           if (i==1) pdvfi(iip1,j,l) = 0.5*(zdvfi2(ig0,l)+
    1138      $                                      zdvfi2(ig0+iim,l))
    1139      $                                    *cv(i,j)
     1138     $                                            zdvfi2(ig0+iim,l))
     1139     $                                          *cv(i,j)
    11401140        enddo
    11411141         
Note: See TracChangeset for help on using the changeset viewer.