/[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

trunk/libf/dyn3d/Dissipation/gradiv2.f90 revision 60 by guez, Mon Jan 30 14:37:26 2012 UTC trunk/dyn3d/Dissipation/gradiv2.f revision 103 by guez, Fri Aug 29 13:00:05 2014 UTC
# Line 10  contains Line 10  contains
10      ! P. Le Van      ! P. Le Van
11      ! Calcul du gradient de la divergence du vecteur v.      ! Calcul du gradient de la divergence du vecteur v.
12    
13      USE dimens_m, ONLY : iim, jjm, llm      USE comgeom, ONLY: cuvscvgam1, cvuscugam1, unsair_gam1, unsapolnga1, &
     use divergf_m, only: divergf  
     USE comgeom, ONLY : cuvscvgam1, cvuscugam1, unsair_gam1, unsapolnga1, &  
14           unsapolsga1           unsapolsga1
15      USE filtreg_m, ONLY : filtreg      USE dimens_m, ONLY: iim, jjm
16        use divergf_m, only: divergf
17        USE filtreg_m, ONLY: filtreg
18      use grad_m, only: grad      use grad_m, only: grad
19        use laplacien_m, only: laplacien
20      use nr_util, only: assert_eq, assert      use nr_util, only: assert_eq, assert
21    
22      ! Composantes covariantes de v :      ! Composantes covariantes de v :
# Line 28  contains Line 29  contains
29      real, intent(in):: cdivu      real, intent(in):: cdivu
30    
31      ! Variables locales :      ! Variables locales :
32      REAL nugrads, div(iim + 1, jjm + 1, llm)      REAL nugrads, div(iim + 1, jjm + 1, size(xcov, 3))
33      INTEGER iter, klevel      INTEGER iter, klevel
34    
35      !--------------------------------------------------------------      !--------------------------------------------------------------
# Line 43  contains Line 44  contains
44      CALL divergf(klevel, xcov, ycov, div)      CALL divergf(klevel, xcov, ycov, div)
45    
46      IF (ld > 1) THEN      IF (ld > 1) THEN
47         CALL laplacien(klevel, div, div)         CALL laplacien(klevel, div)
48    
49         ! Itération de l'opérateur laplacien_gam         ! Itération de l'opérateur laplacien_gam
50         DO iter = 1, ld -2         DO iter = 1, ld - 2
51            CALL laplacien_gam(klevel, cuvscvgam1, cvuscugam1, unsair_gam1, &            CALL laplacien_gam(klevel, cuvscvgam1, cvuscugam1, unsair_gam1, &
52                 unsapolnga1, unsapolsga1, div, div)                 unsapolnga1, unsapolsga1, div, div)
53         END DO         END DO
54      ENDIF      ENDIF
55    
56      CALL filtreg(div, jjm + 1, klevel, 2, 1, .TRUE., 1)      CALL filtreg(div, jjm + 1, klevel, 2, 1, .TRUE.)
57      CALL grad(klevel, div, gdx, gdy)      CALL grad(klevel, div, gdx, gdy)
58      nugrads = (-1.)**ld * cdivu      nugrads = (-1.)**ld * cdivu
59    

Legend:
Removed from v.60  
changed lines
  Added in v.103

  ViewVC Help
Powered by ViewVC 1.1.21