/[lmdze]/trunk/dyn3d/vlspltqs.f
ViewVC logotype

Diff of /trunk/dyn3d/vlspltqs.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 31 by guez, Thu Apr 1 14:59:19 2010 UTC revision 32 by guez, Tue Apr 6 17:52:58 2010 UTC
# Line 97  c   pour eviter une exponentielle. Line 97  c   pour eviter une exponentielle.
97           ENDDO           ENDDO
98          ENDDO          ENDDO
99    
 c      PRINT*,'Debut vlsplt version debug sans vlyqs'  
   
100          zzpbar = 0.5 * pdt          zzpbar = 0.5 * pdt
101          zzw    = pdt          zzw    = pdt
102        DO l=1,llm        DO l=1,llm
# Line 369  c  calcul du nombre de maille sur lequel Line 367  c  calcul du nombre de maille sur lequel
367        ENDDO        ENDDO
368    
369        IF(n0.gt.0) THEN        IF(n0.gt.0) THEN
 ccc      PRINT*,'Nombre de points pour lesquels on advect plus que le'  
 ccc     &       ,'contenu de la maille : ',n0  
   
370           DO l=1,llm           DO l=1,llm
371              IF(nl(l).gt.0) THEN              IF(nl(l).gt.0) THEN
372                 iju=0                 iju=0
# Line 383  c   indicage des mailles concernees par Line 378  c   indicage des mailles concernees par
378                    ENDIF                    ENDIF
379                 ENDDO                 ENDDO
380                 niju=iju                 niju=iju
 c              PRINT*,'niju,nl',niju,nl(l)  
381    
382  c  traitement des mailles  c  traitement des mailles
383                 DO iju=1,niju                 DO iju=1,niju
# Line 607  c   calcul des pentes limites aux poles Line 601  c   calcul des pentes limites aux poles
601           dyq(ip1jm+ij,l)=fs*dyq(ip1jm+ij,l)           dyq(ip1jm+ij,l)=fs*dyq(ip1jm+ij,l)
602        ENDDO        ENDDO
603    
 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
 C  En memoire de dIFferents tests sur la  
 C  limitation des pentes aux poles.  
 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
 C     PRINT*,dyq(1)  
 C     PRINT*,dyqv(iip1+1)  
 C     apn=abs(dyq(1)/dyqv(iip1+1))  
 C     PRINT*,dyq(ip1jm+1)  
 C     PRINT*,dyqv(ip1jm-iip1+1)  
 C     aps=abs(dyq(ip1jm+1)/dyqv(ip1jm-iip1+1))  
 C     DO ij=2,iim  
 C        apn=amax1(abs(dyq(ij)/dyqv(ij)),apn)  
 C        aps=amax1(abs(dyq(ip1jm+ij)/dyqv(ip1jm-iip1+ij)),aps)  
 C     ENDDO  
 C     apn=min(pente_max/apn,1.)  
 C     aps=min(pente_max/aps,1.)  
 C  
 C  
 C   cas ou on a un extremum au pole  
 C  
 C     IF(dyqv(ismin(iim,dyqv,1))*dyqv(ismax(iim,dyqv,1)).le.0.)  
 C    &   apn=0.  
 C     IF(dyqv(ismax(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1)*  
 C    &   dyqv(ismin(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1).le.0.)  
 C    &   aps=0.  
 C  
 C   limitation des pentes aux poles  
 C     DO ij=1,iip1  
 C        dyq(ij)=apn*dyq(ij)  
 C        dyq(ip1jm+ij)=aps*dyq(ip1jm+ij)  
 C     ENDDO  
 C  
 C   test  
 C      DO ij=1,iip1  
 C         dyq(iip1+ij)=0.  
 C         dyq(ip1jm+ij-iip1)=0.  
 C      ENDDO  
 C      DO ij=1,ip1jmp1  
 C         dyq(ij)=dyq(ij)*cos(rlatu((ij-1)/iip1+1))  
 C      ENDDO  
 C  
 C changement 10 07 96  
 C     IF(dyqv(ismin(iim,dyqv,1))*dyqv(ismax(iim,dyqv,1)).le.0.)  
 C    &   THEN  
 C        DO ij=1,iip1  
 C           dyqmax(ij)=0.  
 C        ENDDO  
 C     ELSE  
 C        DO ij=1,iip1  
 C           dyqmax(ij)=pente_max*abs(dyqv(ij))  
 C        ENDDO  
 C     ENDIF  
 C  
 C     IF(dyqv(ismax(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1)*  
 C    & dyqv(ismin(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1).le.0.)  
 C    &THEN  
 C        DO ij=ip1jm+1,ip1jmp1  
 C           dyqmax(ij)=0.  
 C        ENDDO  
 C     ELSE  
 C        DO ij=ip1jm+1,ip1jmp1  
 C           dyqmax(ij)=pente_max*abs(dyqv(ij-iip1))  
 C        ENDDO  
 C     ENDIF  
 C   fin changement 10 07 96  
 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  
   
604  c   calcul des pentes limitees  c   calcul des pentes limitees
605    
606        DO ij=iip2,ip1jm        DO ij=iip2,ip1jm

Legend:
Removed from v.31  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.21