6 |
|
|
7 |
SUBROUTINE advect(ucov, vcov, teta, w, massebx, masseby, du, dv, dteta) |
SUBROUTINE advect(ucov, 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és à du, dv, dteta. |
16 |
USE comconst, ONLY : daysec |
USE comconst, ONLY : daysec |
17 |
USE comgeom, ONLY : unsaire |
USE comgeom, ONLY : unsaire |
18 |
|
|
19 |
! Arguments: |
REAL, intent(in):: ucov(ip1jmp1, llm), vcov(ip1jm, llm) |
|
REAL, intent(in):: vcov(ip1jm, llm), ucov(ip1jmp1, llm) |
|
20 |
real, intent(in):: teta(ip1jmp1, llm) |
real, intent(in):: teta(ip1jmp1, llm) |
|
REAL, intent(in):: massebx(ip1jmp1, llm), masseby(ip1jm, llm) |
|
21 |
real, INTENT (IN):: w(ip1jmp1, llm) |
real, INTENT (IN):: w(ip1jmp1, llm) |
22 |
REAL, intent(inout):: dv(ip1jm, llm), du(ip1jmp1, llm), dteta(ip1jmp1, llm) |
REAL, intent(in):: massebx(ip1jmp1, llm), masseby(ip1jm, llm) |
23 |
|
REAL, intent(inout):: du(ip1jmp1, llm), dv(ip1jm, llm), dteta(ip1jmp1, llm) |
24 |
|
|
25 |
! Local: |
! Local: |
26 |
REAL uav(ip1jmp1, llm), vav(ip1jm, llm), wsur2(ip1jmp1) |
REAL uav(ip1jmp1, llm), vav(ip1jm, llm), wsur2(ip1jmp1) |
77 |
|
|
78 |
! correction pour du(iip1, j, l) |
! correction pour du(iip1, j, l) |
79 |
! du(iip1, j, l)= du(1, j, l) |
! du(iip1, j, l)= du(1, j, l) |
|
|
|
80 |
DO ij = iip1 + iip1, ip1jm, iip1 |
DO ij = iip1 + iip1, ip1jm, iip1 |
81 |
du(ij, l) = du(ij-iim, l) |
du(ij, l) = du(ij-iim, l) |
82 |
du(ij, l+1) = du(ij-iim, l+1) |
du(ij, l+1) = du(ij-iim, l+1) |