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

Diff of /trunk/dyn3d/nxgrad.f

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

revision 265 by guez, Tue Mar 20 09:35:59 2018 UTC revision 266 by guez, Thu Apr 19 17:54:55 2018 UTC
# Line 1  Line 1 
1    module nxgrad_m
2    
3  ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/nxgrad.F,v 1.1.1.1 2004/05/19    IMPLICIT NONE
 ! 12:53:05 lmdzadmin Exp $  
4    
5  SUBROUTINE nxgrad(klevel, rot, x, y)  contains
6    
7    ! P. Le Van    SUBROUTINE nxgrad(klevel, rot, x, y)
8    
9    ! ********************************************************************      ! From LMDZ4/libf/dyn3d/nxgrad.F, version 1.1.1.1, 2004/05/19 12:53:05
10    ! calcul du gradient tourne de pi/2 du rotationnel du vect.v      ! P. Le Van
   ! ********************************************************************  
   ! rot          est un argument  d'entree pour le s-prog  
   ! x  et y    sont des arguments de sortie pour le s-prog  
   
   USE dimensions  
   USE paramet_m  
   USE comgeom  
   IMPLICIT NONE  
11    
12    INTEGER, INTENT (IN) :: klevel      ! calcul du gradient tourne de pi/2 du rotationnel du vect.v
   REAL rot(ip1jm, klevel), x(ip1jmp1, klevel), y(ip1jm, klevel)  
   INTEGER l, ij  
13    
14        ! rot est un argument d'entree pour le s-prog
15        ! x et y sont des arguments de sortie pour le s-prog
16    
17    DO l = 1, klevel      USE dimensions
18        USE paramet_m
19        USE comgeom
20    
21      DO ij = 2, ip1jm      INTEGER, INTENT (IN) :: klevel
22        y(ij, l) = (rot(ij,l)-rot(ij-1,l))*cvsurcuv(ij)      REAL rot(ip1jm, klevel), x(ip1jmp1, klevel), y(ip1jm, klevel)
23      END DO      INTEGER l, ij
24    
25      ! ..... correction pour  y ( 1,j,l )  ......      !---------------------------------------------------------------------
26    
27      ! ....    y(1,j,l)= y(iip1,j,l) ....      DO l = 1, klevel
28      ! DIR$ IVDEP  
29      DO ij = 1, ip1jm, iip1         DO ij = 2, ip1jm
30        y(ij, l) = y(ij+iim, l)            y(ij, l) = (rot(ij, l)-rot(ij-1, l))*cvsurcuv(ij)
31      END DO         END DO
32    
33           ! correction pour y (1, j, l)
34    
35           ! y(1, j, l)= y(iip1, j, l)
36           ! DIR$ IVDEP
37           DO ij = 1, ip1jm, iip1
38              y(ij, l) = y(ij+iim, l)
39           END DO
40    
41           DO ij = iip2, ip1jm
42              x(ij, l) = (rot(ij, l)-rot(ij-iip1, l))*cusurcvu(ij)
43           END DO
44           DO ij = 1, iip1
45              x(ij, l) = 0.
46              x(ij+ip1jm, l) = 0.
47           END DO
48    
     DO ij = iip2, ip1jm  
       x(ij, l) = (rot(ij,l)-rot(ij-iip1,l))*cusurcvu(ij)  
     END DO  
     DO ij = 1, iip1  
       x(ij, l) = 0.  
       x(ij+ip1jm, l) = 0.  
49      END DO      END DO
50        RETURN
51      END SUBROUTINE nxgrad
52    
53    END DO  end module nxgrad_m
   RETURN  
 END SUBROUTINE nxgrad  

Legend:
Removed from v.265  
changed lines
  Added in v.266

  ViewVC Help
Powered by ViewVC 1.1.21