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. |
13 |
|
|
14 |
USE dimens_m, ONLY : iim, llm |
USE dimens_m, ONLY : iim, llm |
15 |
USE paramet_m, ONLY : iip1, iip2, ip1jm, ip1jmp1 |
USE paramet_m, ONLY : iip1, iip2, ip1jm, ip1jmp1 |
|
USE comconst, ONLY : daysec |
|
|
USE comgeom, ONLY : unsaire |
|
16 |
|
|
17 |
! Arguments: |
REAL, intent(in):: ucov(ip1jmp1, llm), vcov(ip1jm, llm) |
|
REAL, intent(in):: vcov(ip1jm, llm), ucov(ip1jmp1, llm) |
|
18 |
real, intent(in):: teta(ip1jmp1, llm) |
real, intent(in):: teta(ip1jmp1, llm) |
|
REAL, intent(in):: massebx(ip1jmp1, llm), masseby(ip1jm, llm) |
|
19 |
real, INTENT (IN):: w(ip1jmp1, llm) |
real, INTENT (IN):: w(ip1jmp1, llm) |
20 |
REAL, intent(inout):: dv(ip1jm, llm), du(ip1jmp1, llm), dteta(ip1jmp1, llm) |
REAL, intent(in):: massebx(ip1jmp1, llm), masseby(ip1jm, llm) |
21 |
|
REAL, intent(inout):: du(ip1jmp1, llm), dv(ip1jm, llm), dteta(ip1jmp1, llm) |
22 |
|
|
23 |
! Local: |
! Local: |
24 |
REAL uav(ip1jmp1, llm), vav(ip1jm, llm), wsur2(ip1jmp1) |
REAL uav(ip1jmp1, llm), vav(ip1jm, llm), wsur2(ip1jmp1) |
75 |
|
|
76 |
! correction pour du(iip1, j, l) |
! correction pour du(iip1, j, l) |
77 |
! du(iip1, j, l)= du(1, j, l) |
! du(iip1, j, l)= du(1, j, l) |
|
|
|
78 |
DO ij = iip1 + iip1, ip1jm, iip1 |
DO ij = iip1 + iip1, ip1jm, iip1 |
79 |
du(ij, l) = du(ij-iim, l) |
du(ij, l) = du(ij-iim, l) |
80 |
du(ij, l+1) = du(ij-iim, l+1) |
du(ij, l+1) = du(ij-iim, l+1) |