1 | SUBROUTINE advection |
---|
2 | $ (ucov,vcov,h,pext,pks,pksf,phis,phi,conser,du,dv,dh,dp) |
---|
3 | IMPLICIT NONE |
---|
4 | |
---|
5 | c======================================================================= |
---|
6 | c |
---|
7 | c P. Le Van |
---|
8 | c |
---|
9 | c Objet: |
---|
10 | c ------ |
---|
11 | c |
---|
12 | c Calcul des tendances dynamiques. |
---|
13 | c |
---|
14 | c======================================================================= |
---|
15 | |
---|
16 | c----------------------------------------------------------------------- |
---|
17 | c 0. Declarations: |
---|
18 | c ---------------- |
---|
19 | |
---|
20 | #include "dimensions.h" |
---|
21 | #include "paramet.h" |
---|
22 | #include "comconst.h" |
---|
23 | #include "comvert.h" |
---|
24 | #include "comgeom.h" |
---|
25 | |
---|
26 | c Arguments: |
---|
27 | c ---------- |
---|
28 | |
---|
29 | LOGICAL conser |
---|
30 | |
---|
31 | REAL vcov(ip1jm,llm),ucov(ip1jmp1,llm),h(ip1jmp1,llm) |
---|
32 | REAL pext(ip1jmp1),pks(ip1jmp1),pksf(ip1jmp1),phis(ip1jmp1) |
---|
33 | REAL vcont(ip1jm,llm),ucont(ip1jmp1,llm) |
---|
34 | REAL phi(ip1jmp1,llm) |
---|
35 | REAL dv(ip1jm,llm),du(ip1jmp1,llm) |
---|
36 | REAL dh(ip1jmp1,llm),dp(ip1jmp1) |
---|
37 | |
---|
38 | c Local: |
---|
39 | c ------ |
---|
40 | |
---|
41 | REAL pbarx(ip1jmp1),pbary(ip1jm),pbarxy(ip1jm) |
---|
42 | REAL pbaru(ip1jmp1,llm),pbarv(ip1jm,llm),vorpot(ip1jm,llm) |
---|
43 | REAL w(ip1jmp1,llm),ecin(ip1jmp1,llm),convm(ip1jmp1,llm) |
---|
44 | REAL bern(ip1jmp1,llm) |
---|
45 | |
---|
46 | INTEGER ij |
---|
47 | EXTERNAL advect,bernoui,convmas,covcont,dhdq1,dudv1,dudv2, |
---|
48 | * enercin,flumass,pbar,tourpot,vitvert,sortvarc |
---|
49 | |
---|
50 | c----------------------------------------------------------------------- |
---|
51 | c calcul des tendances dynamiques: |
---|
52 | c -------------------------------- |
---|
53 | |
---|
54 | CALL covcont (llm,ucov , vcov , ucont, vcont ) |
---|
55 | CALL pbar ( pext ,pbarx , pbary, pbarxy ) |
---|
56 | CALL flumass ( pbarx, pbary, vcont, ucont ,pbaru, pbarv ) |
---|
57 | CALL dhdq1 ( h , pbaru, pbarv, dh ) |
---|
58 | CALL convmas ( pbaru, pbarv, convm ) |
---|
59 | |
---|
60 | DO 10 ij = 1, ip1jmp1 |
---|
61 | dp( ij ) = convm( ij,1 ) |
---|
62 | 10 CONTINUE |
---|
63 | |
---|
64 | CALL vitvert ( convm , w ) |
---|
65 | CALL tourpot ( vcov , ucov , pbarxy , vorpot ) |
---|
66 | CALL dudv1 ( vorpot, pbaru , pbarv , du , dv ) |
---|
67 | CALL enercin ( vcov , ucov , vcont , ucont , ecin ) |
---|
68 | CALL bernoui ( ip1jmp1,llm,phi , ecin , bern ) |
---|
69 | CALL dudv2 ( h , pksf , bern , du , dv ) |
---|
70 | |
---|
71 | CALL advect ( ucov,vcov,h,w,pbarx,pbary,du,dv,dh ) |
---|
72 | |
---|
73 | c----------------------------------------------------------------------- |
---|
74 | c sorties eventuelles des variables de controle: |
---|
75 | c ---------------------------------------------- |
---|
76 | |
---|
77 | IF (conser) CALL sortvarc |
---|
78 | $ (ucov,h,pext,pks,phis,pbarx,pbarxy,vorpot,phi,bern,dp) |
---|
79 | |
---|
80 | RETURN |
---|
81 | END |
---|