/[lmdze]/trunk/dyn3d/Dissipation/gradiv2.f
ViewVC logotype

Diff of /trunk/dyn3d/Dissipation/gradiv2.f

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

revision 55 by guez, Mon Dec 12 13:25:01 2011 UTC revision 56 by guez, Tue Jan 10 19:02:02 2012 UTC
# Line 19  contains Line 19  contains
19      INTEGER, intent(in):: klevel      INTEGER, intent(in):: klevel
20    
21      ! composantes covariantes de v:      ! composantes covariantes de v:
22      REAL, intent(in):: xcov(ip1jmp1,klevel), ycov(ip1jm,klevel)      REAL, intent(in):: xcov(ip1jmp1, klevel), ycov(ip1jm, klevel)
23    
24      integer, intent(in):: ld      integer, intent(in):: ld
25      REAL, intent(out):: gdx(ip1jmp1,klevel), gdy(ip1jm,klevel)      REAL, intent(out):: gdx(ip1jmp1, klevel), gdy(ip1jm, klevel)
26      real, intent(in):: cdivu      real, intent(in):: cdivu
27    
28      ! Variables locales :      ! Variables locales :
29      REAL div(ip1jmp1,llm)      REAL div(ip1jmp1, llm)
30      REAL nugrads      REAL nugrads
31      INTEGER l,ij,iter      INTEGER iter
32    
33      !--------------------------------------------------------------      !--------------------------------------------------------------
34    
# Line 37  contains Line 37  contains
37    
38      CALL divergf(klevel, gdx, gdy, div)      CALL divergf(klevel, gdx, gdy, div)
39    
40      IF(ld.GT.1) THEN      IF (ld > 1) THEN
41         CALL laplacien (klevel, div, div)         CALL laplacien(klevel, div, div)
42    
43         ! Iteration de l'operateur laplacien_gam         ! ItĂ©ration de l'opĂ©rateur laplacien_gam
44         DO iter = 1, ld -2         DO iter = 1, ld -2
45            CALL laplacien_gam (klevel,cuvscvgam1,cvuscugam1,unsair_gam1, &            CALL laplacien_gam(klevel, cuvscvgam1, cvuscugam1, unsair_gam1, &
46                 unsapolnga1, unsapolsga1, div, div)                 unsapolnga1, unsapolsga1, div, div)
47         ENDDO         END DO
48      ENDIF      ENDIF
49    
50      CALL filtreg(div, jjp1, klevel, 2, 1, .TRUE., 1)      CALL filtreg(div, jjp1, klevel, 2, 1, .TRUE., 1)
51      CALL grad (klevel, div, gdx, gdy)      CALL grad(klevel, div, gdx, gdy)
52      nugrads = (-1.)**ld * cdivu      nugrads = (-1.)**ld * cdivu
53    
54      DO l = 1, klevel      gdx = gdx * nugrads
55         DO ij = 1, ip1jmp1      gdy = gdy * nugrads
           gdx(ij,l) = gdx(ij,l) * nugrads  
        ENDDO  
        DO ij = 1, ip1jm  
           gdy(ij,l) = gdy(ij,l) * nugrads  
        ENDDO  
     ENDDO  
56    
57    END SUBROUTINE gradiv2    END SUBROUTINE gradiv2
58    

Legend:
Removed from v.55  
changed lines
  Added in v.56

  ViewVC Help
Powered by ViewVC 1.1.21