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

Diff of /trunk/dyn3d/rotatf.f

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

trunk/dyn3d/rotatf.f revision 76 by guez, Fri Nov 15 18:45:49 2013 UTC trunk/dyn3d/rotatf.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/rotatf.F,v 1.1.1.1 2004/05/19 12:53:05 lmdzadmin Exp $  ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/rotatf.F,v 1.1.1.1 2004/05/19
3  !  ! 12:53:05 lmdzadmin Exp $
4        SUBROUTINE rotatf (klevel, x, y, rot )  
5  c  SUBROUTINE rotatf(klevel, x, y, rot)
6  c     Auteur : P.Le Van  
7  c**************************************************************    ! Auteur : P.Le Van
8  c.  calcule le rotationnel    ! **************************************************************
9  c     a tous les niveaux d'1 vecteur de comp. x et y ..    ! .  calcule le rotationnel
10  c       x  et  y etant des composantes  covariantes  ...    ! a tous les niveaux d'1 vecteur de comp. x et y ..
11  c********************************************************************    ! x  et  y etant des composantes  covariantes  ...
12  c   klevel, x  et y   sont des arguments d'entree pour le s-prog    ! ********************************************************************
13  c        rot          est  un argument  de sortie pour le s-prog    ! klevel, x  et y   sont des arguments d'entree pour le s-prog
14  c    ! rot          est  un argument  de sortie pour le s-prog
15        use dimens_m  
16        use paramet_m    USE dimens_m
17        use comgeom    USE paramet_m
18        use filtreg_m, only: filtreg    USE comgeom
19        IMPLICIT NONE    USE filtreg_m, ONLY: filtreg
20  c    IMPLICIT NONE
21  c  
22  c   .....  variables en arguments  ......  
23  c    ! .....  variables en arguments  ......
24        INTEGER, intent(in):: klevel  
25        REAL rot( ip1jm,klevel )    INTEGER, INTENT (IN) :: klevel
26        REAL, intent(in):: x( ip1jmp1,klevel ), y( ip1jm,klevel )    REAL rot(ip1jm, klevel)
27  c    REAL, INTENT (IN) :: x(ip1jmp1, klevel), y(ip1jm, klevel)
28  c  ...   variables  locales  ...  
29  c    ! ...   variables  locales  ...
30        INTEGER  l, ij  
31  c    INTEGER l, ij
32  c  
33        DO  10 l = 1,klevel  
34  c    DO l = 1, klevel
35          DO   ij = 1, ip1jm - 1  
36           rot( ij,l )  =    y( ij+1 , l )  -  y( ij,l )   +      DO ij = 1, ip1jm - 1
37       *                   x(ij +iip1, l )  -  x( ij,l )          rot(ij, l) = y(ij+1, l) - y(ij, l) + x(ij+iip1, l) - x(ij, l)
38          ENDDO      END DO
39  c  
40  c    .... correction pour rot( iip1,j,l)  ....      ! .... correction pour rot( iip1,j,l)  ....
41  c    ....   rot(iip1,j,l)= rot(1,j,l) ...      ! ....   rot(iip1,j,l)= rot(1,j,l) ...
42  CDIR$ IVDEP      ! DIR$ IVDEP
43          DO  ij = iip1, ip1jm, iip1      DO ij = iip1, ip1jm, iip1
44           rot( ij,l ) = rot( ij -iim,l )        rot(ij, l) = rot(ij-iim, l)
45          ENDDO      END DO
46  c  
47    10  CONTINUE    END DO
48    
49          CALL filtreg( rot, jjm, klevel, 2, 2, .FALSE.)    CALL filtreg(rot, jjm, klevel, 2, 2, .FALSE.)
50          
51          DO l = 1, klevel    DO l = 1, klevel
52            DO ij = 1, ip1jm      DO ij = 1, ip1jm
53             rot(ij,l) = rot(ij,l) * unsairez(ij)        rot(ij, l) = rot(ij, l)*unsairez(ij)
54            ENDDO      END DO
55          ENDDO    END DO
56  c  
57  c  
58        RETURN    RETURN
59        END  END SUBROUTINE rotatf

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

  ViewVC Help
Powered by ViewVC 1.1.21