/[lmdze]/trunk/dyn3d/advect.f90
ViewVC logotype

Diff of /trunk/dyn3d/advect.f90

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

revision 338 by guez, Thu Jun 13 14:40:06 2019 UTC revision 339 by guez, Thu Sep 26 17:08:42 2019 UTC
# Line 4  module advect_m Line 4  module advect_m
4    
5  contains  contains
6    
7    SUBROUTINE advect(ucov, vcov, teta, w, massebx, masseby, du, dv, dteta)    SUBROUTINE advect(ang_3d, vcov, teta, w, massebx, masseby, du, dv, dteta)
8    
9      ! From dyn3d/advect.F, version 1.1.1.1, 2004/05/19 12:53:06      ! From dyn3d/advect.F, version 1.1.1.1, 2004/05/19 12:53:06
10      ! Authors: P. Le Van , F. Hourdin      ! Authors: P. Le Van , F. Hourdin
11      ! Objet : calcul des termes d'advection verticale pour u, v, teta.      ! Objet : calcul des termes d'advection verticale pour u, v, teta.
12      ! Ces termes sont ajoutés à du, dv, dteta.      ! Ces termes sont ajout\'es \`a du, dv, dteta.
13    
14      USE dimensions, ONLY : iim, llm      USE dimensions, ONLY: iim, llm
15      USE paramet_m, ONLY : iip1, iip2, ip1jm, ip1jmp1      USE paramet_m, ONLY: iip1, iip2, ip1jm, ip1jmp1
16    
17      REAL, intent(in):: ucov(ip1jmp1, llm), vcov(ip1jm, llm)      REAL, intent(in):: ang_3d(ip1jmp1, llm), vcov(ip1jm, llm)
18      real, intent(in):: teta(ip1jmp1, llm)      real, intent(in):: teta(ip1jmp1, llm)
19      real, INTENT (IN):: w(ip1jmp1, llm)      real, INTENT (IN):: w(ip1jmp1, llm)
20      REAL, intent(in):: massebx(ip1jmp1, llm), masseby(ip1jm, llm)      REAL, intent(in):: massebx(ip1jmp1, llm), masseby(ip1jm, llm)
# Line 27  contains Line 27  contains
27    
28      !-----------------------------------------------------------------------      !-----------------------------------------------------------------------
29    
30      ! 2. Calculs preliminaires :      ! Calculs preliminaires :
31    
32      ! Calcul de \bar{u}^{yy}      ! Calcul de \bar{u}^{yy}
33      DO l = 1, llm      DO l = 1, llm
34         DO ij = iip2, ip1jmp1         DO ij = iip2, ip1jmp1
35            uav(ij, l) = 0.25*(ucov(ij, l)+ucov(ij-iip1, l))            uav(ij, l) = 0.25*(ang_3d(ij, l)+ang_3d(ij-iip1, l))
36         END DO         END DO
37         DO ij = iip2, ip1jm         DO ij = iip2, ip1jm
38            uav(ij, l) = uav(ij, l) + uav(ij+iip1, l)            uav(ij, l) = uav(ij, l) + uav(ij+iip1, l)
# Line 68  contains Line 68  contains
68         ! calcul pour "du"         ! calcul pour "du"
69         DO ij = iip2, ip1jm - 1         DO ij = iip2, ip1jm - 1
70            ww = wsur2(ij) + wsur2(ij+1)            ww = wsur2(ij) + wsur2(ij+1)
71            uu = 0.5*(ucov(ij, l)+ucov(ij, l+1))            uu = 0.5*(ang_3d(ij, l)+ang_3d(ij, l+1))
72            du(ij, l) = du(ij, l) - ww*(uu-uav(ij, l))/massebx(ij, l)            du(ij, l) = du(ij, l) - ww*(uu-uav(ij, l))/massebx(ij, l)
73            du(ij, l+1) = du(ij, l+1) + ww*(uu-uav(ij, l+1))/massebx(ij, l+1)            du(ij, l+1) = du(ij, l+1) + ww*(uu-uav(ij, l+1))/massebx(ij, l+1)
74         END DO         END DO

Legend:
Removed from v.338  
changed lines
  Added in v.339

  ViewVC Help
Powered by ViewVC 1.1.21