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

Diff of /trunk/dyn3d/grad.f

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

trunk/libf/dyn3d/grad.f90 revision 60 by guez, Mon Jan 30 14:37:26 2012 UTC trunk/dyn3d/grad.f revision 254 by guez, Mon Feb 5 10:39:38 2018 UTC
# Line 4  module grad_m Line 4  module grad_m
4    
5  contains  contains
6    
7    SUBROUTINE grad(klevel, pg, pgx, pgy)    SUBROUTINE grad(klevel, g, gx, gy)
8    
9      ! From LMDZ4/libf/dyn3d/grad.F, version 1.1.1.1 2004/05/19 12:53:05      ! From LMDZ4/libf/dyn3d/grad.F, version 1.1.1.1 2004/05/19 12:53:05
10      ! P. Le Van      ! P. Le Van
11    
12      ! Calcul des composantes covariantes en x et y du gradient de g.      ! Calcul des composantes covariantes en x et y du gradient de g.
13    
14      USE dimens_m, ONLY : iim      USE dimens_m, ONLY: iim, jjm
     USE paramet_m, ONLY : iip1, ip1jm, ip1jmp1  
15    
16      INTEGER, intent(in):: klevel      INTEGER, intent(in):: klevel
17      REAL, intent(in):: pg(ip1jmp1, klevel)      REAL, intent(in):: g(iim + 1, jjm + 1, klevel)
18      REAL, intent(out):: pgx(ip1jmp1, klevel) , pgy(ip1jm, klevel)      REAL, intent(out):: gx(iim + 1, jjm + 1, klevel) , gy(iim + 1, jjm, klevel)
19    
20      ! Local:      ! Local:
21      INTEGER l, ij      INTEGER i, j
22    
23      !----------------------------------------------------------------      !----------------------------------------------------------------
24    
25      DO l = 1, klevel      forall (i = 1:iim) gx(i, :, :) = g(i + 1, :, :) - g(i, :, :)
26         DO ij = 1, ip1jmp1 - 1      gx(iim + 1, :, :)= gx(1, :, :)
27            pgx(ij, l) = pg(ij +1, l) - pg(ij, l)  
28         end DO      forall (j = 1:jjm) gy(:, j, :) = g(:, j, :) - g(:, j + 1, :)
   
        ! correction pour pgx(ip1, j, l)  
        ! pgx(iip1, j, l)= pgx(1, j, l)  
        DO ij = iip1, ip1jmp1, iip1  
           pgx(ij, l) = pgx(ij -iim, l)  
        end DO  
   
        DO ij = 1, ip1jm  
           pgy(ij, l) = pg(ij, l) - pg(ij +iip1, l)  
        end DO  
     end DO  
29    
30    END SUBROUTINE grad    END SUBROUTINE grad
31    

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

  ViewVC Help
Powered by ViewVC 1.1.21