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

Diff of /trunk/dyn3d/dudv1.f

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

revision 87 by guez, Wed Mar 5 14:57:53 2014 UTC revision 88 by guez, Tue Mar 11 15:09:02 2014 UTC
# Line 1  Line 1 
1    module dudv1_m
2    
 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/dudv1.F,v 1.1.1.1 2004/05/19  
 ! 12:53:06 lmdzadmin Exp $  
   
 SUBROUTINE dudv1(vorpot, pbaru, pbarv, du, dv)  
   USE dimens_m  
   USE paramet_m  
3    IMPLICIT NONE    IMPLICIT NONE
4    
5    ! -----------------------------------------------------------------------  contains
6    
7    ! Auteur:   P. Le Van    SUBROUTINE dudv1(vorpot, pbaru, pbarv, du, dv)
   ! -------  
8    
9    ! Objet:      ! From LMDZ4/libf/dyn3d/dudv1.F, version 1.1.1.1, 2004/05/19 12:53:06
   ! ------  
   ! calcul du terme de  rotation  
   ! ce terme est ajoute a  d(ucov)/dt et a d(vcov)/dt  ..  
   ! vorpot, pbaru et pbarv sont des arguments d'entree  pour le s-pg ..  
   ! du  et dv              sont des arguments de sortie pour le s-pg ..  
10    
11    ! -----------------------------------------------------------------------      ! Author: P. Le Van
12    
13        ! Objet: calcul du terme de rotation. Ce terme est ajouté à
14        ! d(ucov)/dt et à d(vcov)/dt.
15    
16    REAL vorpot(ip1jm, llm), pbaru(ip1jmp1, llm), pbarv(ip1jm, llm), &      USE dimens_m, ONLY: iim, llm
17      du(ip1jmp1, llm), dv(ip1jm, llm)      USE paramet_m, ONLY: iip1, iip2, ip1jm, ip1jmp1
   INTEGER l, ij  
18    
19        REAL, intent(in):: vorpot(ip1jm, llm)
20        REAL, intent(in):: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
21    
22    DO l = 1, llm      real du(ip1jmp1, llm), dv(ip1jm, llm)
23        ! du et dv sont des arguments de sortie pour le s-pg
24    
25      DO ij = iip2, ip1jm - 1      ! Local:
26        du(ij, l) = 0.125*(vorpot(ij-iip1,l)+vorpot(ij,l))* &      INTEGER l, ij
         (pbarv(ij-iip1,l)+pbarv(ij-iim,l)+pbarv(ij,l)+pbarv(ij+1,l))  
     END DO  
27    
28      DO ij = 1, ip1jm - 1      !----------------------------------------------------------------------
       dv(ij+1, l) = -0.125*(vorpot(ij,l)+vorpot(ij+1,l))*(pbaru(ij,l)+pbaru( &  
         ij+1,l)+pbaru(ij+iip1,l)+pbaru(ij+iip2,l))  
     END DO  
29    
30      ! .... correction  pour  dv( 1,j,l )  .....      DO l = 1, llm
31      ! ....   dv(1,j,l)= dv(iip1,j,l) ....         DO ij = iip2, ip1jm - 1
32              du(ij, l) = 0.125 * (vorpot(ij - iip1, l) + vorpot(ij, l)) &
33                   * (pbarv(ij - iip1, l) + pbarv(ij - iim, l) + pbarv(ij, l) &
34                   + pbarv(ij + 1, l))
35           END DO
36    
37      ! DIR$ IVDEP         DO ij = 1, ip1jm - 1
38      DO ij = 1, ip1jm, iip1            dv(ij + 1, l) = - 0.125 * (vorpot(ij, l) + vorpot(ij + 1, l)) &
39        dv(ij, l) = dv(ij+iim, l)                 * (pbaru(ij, l) + pbaru(ij + 1, l) + pbaru(ij + iip1, l) &
40                   + pbaru(ij + iip2, l))
41           END DO
42    
43           ! correction pour dv(1, j, l)
44           ! dv(1, j, l) = dv(iip1, j, l)
45           DO ij = 1, ip1jm, iip1
46              dv(ij, l) = dv(ij + iim, l)
47           END DO
48      END DO      END DO
49    
50    END DO    END SUBROUTINE dudv1
51    RETURN  
52  END SUBROUTINE dudv1  end module dudv1_m

Legend:
Removed from v.87  
changed lines
  Added in v.88

  ViewVC Help
Powered by ViewVC 1.1.21