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

Diff of /trunk/dyn3d/nxgrad_gam.f

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

trunk/dyn3d/nxgrad_gam.f revision 76 by guez, Fri Nov 15 18:45:49 2013 UTC trunk/dyn3d/nxgrad_gam.f90 revision 81 by guez, Wed Mar 5 14:38:41 2014 UTC
# Line 1  Line 1 
1  !  
2  ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/nxgrad_gam.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $  ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/nxgrad_gam.F,v 1.1.1.1 2004/05/19
3  !  ! 12:53:06 lmdzadmin Exp $
4        SUBROUTINE nxgrad_gam( klevel, rot, x, y )  
5  c  SUBROUTINE nxgrad_gam(klevel, rot, x, y)
6  c  P. Le Van  
7  c    ! P. Le Van
8  c   ********************************************************************  
9  c      calcul du gradient tourne de pi/2 du rotationnel du vect.v    ! ********************************************************************
10  c   ********************************************************************    ! calcul du gradient tourne de pi/2 du rotationnel du vect.v
11  c       rot          est un argument  d'entree pour le s-prog    ! ********************************************************************
12  c       x  et y    sont des arguments de sortie pour le s-prog    ! rot          est un argument  d'entree pour le s-prog
13  c    ! x  et y    sont des arguments de sortie pour le s-prog
14        use dimens_m  
15        use paramet_m    USE dimens_m
16        use comgeom    USE paramet_m
17        IMPLICIT NONE    USE comgeom
18  c    IMPLICIT NONE
19        INTEGER, intent(in):: klevel  
20        REAL rot( ip1jm,klevel ),x( ip1jmp1,klevel ),y(ip1jm,klevel )    INTEGER, INTENT (IN) :: klevel
21        INTEGER   l,ij    REAL rot(ip1jm, klevel), x(ip1jmp1, klevel), y(ip1jm, klevel)
22  c    INTEGER l, ij
23        DO 10 l = 1,klevel  
24  c    DO l = 1, klevel
25        DO 1  ij = 2, ip1jm  
26        y( ij,l ) = (rot( ij,l ) - rot( ij-1,l )) * cvscuvgam( ij )      DO ij = 2, ip1jm
27     1  CONTINUE        y(ij, l) = (rot(ij,l)-rot(ij-1,l))*cvscuvgam(ij)
28  c      END DO
29  c    ..... correction pour  y ( 1,j,l )  ......  
30  c      ! ..... correction pour  y ( 1,j,l )  ......
31  c    ....    y(1,j,l)= y(iip1,j,l) ....  
32  CDIR$ IVDEP      ! ....    y(1,j,l)= y(iip1,j,l) ....
33        DO 2  ij = 1, ip1jm, iip1      ! DIR$ IVDEP
34        y( ij,l ) = y( ij +iim,l )      DO ij = 1, ip1jm, iip1
35     2  CONTINUE        y(ij, l) = y(ij+iim, l)
36  c      END DO
37        DO 4  ij = iip2,ip1jm  
38        x( ij,l ) = (rot( ij,l ) - rot( ij -iip1,l )) * cuscvugam( ij )      DO ij = iip2, ip1jm
39     4  CONTINUE        x(ij, l) = (rot(ij,l)-rot(ij-iip1,l))*cuscvugam(ij)
40        DO 6 ij = 1,iip1      END DO
41        x(    ij    ,l ) = 0.      DO ij = 1, iip1
42        x( ij +ip1jm,l ) = 0.        x(ij, l) = 0.
43     6  CONTINUE        x(ij+ip1jm, l) = 0.
44  c      END DO
45    10  CONTINUE  
46        RETURN    END DO
47        END    RETURN
48    END SUBROUTINE nxgrad_gam

Legend:
Removed from v.76  
changed lines
  Added in v.81

  ViewVC Help
Powered by ViewVC 1.1.21