1 |
SUBROUTINE caldyn(itau, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, & |
SUBROUTINE caldyn(itau, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, & |
2 |
conser, du, dv, dteta, dp, w, pbaru, pbarv, time) |
conser, du, dv, dteta, dp, w, pbaru, pbarv, time_0) |
3 |
|
|
4 |
! From dyn3d/caldyn.F, v 1.1.1.1 2004/05/19 12:53:06 |
! From dyn3d/caldyn.F, v 1.1.1.1 2004/05/19 12:53:06 |
5 |
! Auteur : P. Le Van |
! Auteur : P. Le Van |
6 |
! Objet: |
! Objet: |
7 |
! Calcul des tendances dynamiques. |
! Calcul des tendances dynamiques. |
8 |
|
|
9 |
USE dimens_m |
USE dimens_m, ONLY : iim, llm |
10 |
USE paramet_m |
USE paramet_m, ONLY : iip1, ip1jm, ip1jmp1, jjp1, llmp1 |
11 |
USE comconst |
USE comvert, ONLY : ap, bp |
12 |
USE comvert |
USE comgeom, ONLY : airesurg, constang |
13 |
USE comgeom |
use sortvarc_m, only: sortvarc |
|
USE pression_m, ONLY : pression |
|
14 |
|
|
15 |
IMPLICIT NONE |
IMPLICIT NONE |
16 |
|
|
27 |
REAL dv(ip1jm, llm), du(ip1jmp1, llm) |
REAL dv(ip1jm, llm), du(ip1jmp1, llm) |
28 |
REAL dteta(ip1jmp1, llm), dp(ip1jmp1) |
REAL dteta(ip1jmp1, llm), dp(ip1jmp1) |
29 |
REAL pbaru(ip1jmp1, llm), pbarv(ip1jm, llm) |
REAL pbaru(ip1jmp1, llm), pbarv(ip1jm, llm) |
30 |
REAL time |
REAL, intent(in):: time_0 |
31 |
|
|
32 |
! Local: |
! Local: |
33 |
|
|
44 |
! Calcul des tendances dynamiques: |
! Calcul des tendances dynamiques: |
45 |
|
|
46 |
CALL covcont(llm, ucov, vcov, ucont, vcont) |
CALL covcont(llm, ucov, vcov, ucont, vcont) |
47 |
CALL pression(ip1jmp1, ap, bp, ps, p) |
forall (l = 1: llm + 1) p(:, l) = ap(l) + bp(l) * ps |
48 |
CALL psextbar(ps, psexbarxy) |
CALL psextbar(ps, psexbarxy) |
49 |
CALL massdair(p, masse) |
CALL massdair(p, masse) |
50 |
CALL massbar(masse, massebx, masseby) |
CALL massbar(masse, massebx, masseby) |
85 |
END DO |
END DO |
86 |
|
|
87 |
! Sorties eventuelles des variables de controle: |
! Sorties eventuelles des variables de controle: |
88 |
IF (conser) THEN |
IF (conser) CALL sortvarc(itau, ucov, teta, ps, masse, pk, phis, vorpot, & |
89 |
CALL sortvarc(itau, ucov, teta, ps, masse, pk, phis, vorpot, phi, bern, & |
phi, bern, dp, time_0) |
|
dp, time) |
|
|
END IF |
|
90 |
|
|
91 |
END SUBROUTINE caldyn |
END SUBROUTINE caldyn |