source: trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/caldyn0.F @ 2322

Last change on this file since 2322 was 2167, checked in by emillour, 5 years ago

Mars GCM:
Big cleanup: remove obsolete compilation scripts (makgcm_*) and dynamical core
(since the one in LMDZ.COMMON should be used instead).
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.