source: trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd/caldyn0.F @ 3100

Last change on this file since 3100 was 2354, checked in by emillour, 4 years ago

Generic GCM:
Major cleanup: remove obsolete compilation scripts (makegcm*) and old dynamical
core, as it is obsolete with respect to the one provide in LMDZ.COMMON.
EM

File size: 2.4 KB
Line 
1      SUBROUTINE caldyn0
2     $ (itau,ucov,vcov,teta,ps,masse,pk,phis ,
3     $  phi,w,pbaru,pbarv,time )
4
5      USE comvert_mod, ONLY: ap,bp
6
7      IMPLICIT NONE
8
9c=======================================================================
10c
11c  Auteur :  P. Le Van
12c
13c   Objet:
14c   ------
15c
16c   Calcul des tendances dynamiques.
17c
18c Modif 04/93 F.Forget
19c=======================================================================
20
21c-----------------------------------------------------------------------
22c   0. Declarations:
23c   ----------------
24
25#include "dimensions.h"
26#include "paramet.h"
27#include "comgeom.h"
28
29c   Arguments:
30c   ----------
31
32      INTEGER itau
33      REAL vcov(ip1jm,llm),ucov(ip1jmp1,llm),teta(ip1jmp1,llm)
34      REAL ps(ip1jmp1),phis(ip1jmp1)
35      REAL pk(iip1,jjp1,llm)
36      REAL vcont(ip1jm,llm),ucont(ip1jmp1,llm)
37      REAL phi(ip1jmp1,llm),masse(ip1jmp1,llm)
38      REAL pbaru(ip1jmp1,llm),pbarv(ip1jm,llm)
39      REAL time
40
41c   Local:
42c   ------
43
44      REAL ang(ip1jmp1,llm),p(ip1jmp1,llmp1)
45      REAL massebx(ip1jmp1,llm),masseby(ip1jm,llm),psexbarxy(ip1jm)
46      REAL vorpot(ip1jm,llm)
47      REAL w(ip1jmp1,llm),ecin(ip1jmp1,llm),convm(ip1jmp1,llm)
48      REAL bern(ip1jmp1,llm)
49      REAL massebxy(ip1jm,llm), dp(ip1jmp1)
50   
51
52      INTEGER   ij,l
53      EXTERNAL  advect,bernoui,convmas,covcont ,
54     *          enercin,flumass,tourpot,vitvert,sortvarc,traceur,
55     *          pression,psextbar,massdair
56
57c-----------------------------------------------------------------------
58c   Calcul des tendances dynamiques:
59c   --------------------------------
60      CALL covcont  (llm,ucov,vcov,ucont,vcont)
61      CALL pression (ip1jmp1,ap,bp,ps,p)
62      CALL psextbar (ps,psexbarxy)
63      CALL massdair (p,masse)
64      CALL massbar  (masse,massebx,masseby)
65      CALL massbarxy(masse,massebxy)
66      CALL flumass  (massebx,masseby,vcont,ucont,pbaru,pbarv)
67      CALL convmas  (pbaru,pbarv,convm)
68
69      DO ij =1, ip1jmp1
70         dp( ij ) = convm( ij,1 ) / airesurg( ij )
71      ENDDO
72
73      CALL vitvert (convm,w)
74      CALL tourpot (vcov,ucov,massebxy,vorpot)
75      CALL enercin (vcov,ucov,vcont,ucont,ecin)
76      CALL bernoui (ip1jmp1,llm,phi,ecin,bern)
77
78      DO l=1,llm
79         DO ij=1,ip1jmp1
80            ang(ij,l) = ucov(ij,l) + constang(ij)
81         ENDDO
82      ENDDO
83
84        CALL sortvarc0
85     $ (itau,ucov,teta,ps,masse,pk,phis,vorpot,phi,bern,dp,time,vcov)
86
87      RETURN
88      END
Note: See TracBrowser for help on using the repository browser.