/[lmdze]/trunk/dyn3d/caldyn0.f
ViewVC logotype

Annotation of /trunk/dyn3d/caldyn0.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 82 - (hide annotations)
Wed Mar 5 14:57:53 2014 UTC (10 years, 2 months ago) by guez
File size: 2250 byte(s)
Changed all ".f90" suffixes to ".f".
1 guez 23 module caldyn0_m
2 guez 3
3 guez 23 IMPLICIT NONE
4 guez 4
5 guez 23 contains
6 guez 3
7 guez 23 SUBROUTINE caldyn0(ucov, vcov, teta, ps, masse, pk, phis, phi, w, &
8     pbaru, pbarv)
9 guez 3
10 guez 78 ! From dyn3d/caldyn0.F, version 1.1.1.1 2004/05/19 12:53:07
11 guez 79 ! Authors: P. Le Van, F. Forget
12 guez 78 ! Objet : calcul des tendances dynamiques
13 guez 3
14 guez 78 USE comgeom, ONLY: airesurg
15 guez 79 USE dimens_m, ONLY: iim, jjm, llm
16 guez 78 USE disvert_m, ONLY: ap, bp
17     use flumass_m, only: flumass
18     use massbarxy_m, only: massbarxy
19 guez 67 use massdair_m, only: massdair
20 guez 79 USE paramet_m, ONLY: iip1, ip1jmp1, jjp1, llmp1
21 guez 78 use sortvarc0_m, only: sortvarc0
22     use tourpot_m, only: tourpot
23 guez 3
24 guez 78 ! Arguments:
25 guez 79 REAL, INTENT(IN):: ucov(:, :, :) ! (iim + 1, jjm + 1, llm) vent covariant
26     REAL, INTENT(IN):: vcov(:, :, :) ! (iim + 1, jjm, llm) ! vent covariant
27 guez 73 REAL, INTENT(IN):: teta(ip1jmp1, llm)
28 guez 78 REAL, INTENT (IN):: ps(ip1jmp1)
29     real, intent(out):: masse(ip1jmp1, llm)
30     REAL, INTENT (IN):: pk(iip1, jjp1, llm)
31     REAL, INTENT (IN):: phis(ip1jmp1)
32     REAL, INTENT (IN):: phi(ip1jmp1, llm)
33 guez 79 REAL, INTENT(out):: w(ip1jmp1, llm)
34     REAL, intent(out):: pbaru(ip1jmp1, llm), pbarv((iim + 1) * jjm, llm)
35 guez 3
36 guez 78 ! Local:
37 guez 79 REAL vcont((iim + 1) * jjm, llm), ucont(ip1jmp1, llm)
38 guez 78 REAL p(ip1jmp1, llmp1)
39 guez 79 REAL massebx(ip1jmp1, llm), masseby((iim + 1) * jjm, llm)
40     REAL vorpot(iim + 1, jjm, llm)
41 guez 78 real ecin(ip1jmp1, llm), convm(ip1jmp1, llm)
42     REAL bern(ip1jmp1, llm)
43 guez 79 REAL massebxy(iim + 1, jjm, llm), dp(ip1jmp1)
44     INTEGER l
45 guez 3
46 guez 23 !-----------------------------------------------------------------------
47 guez 3
48 guez 23 PRINT *, 'Call sequence information: caldyn0'
49 guez 3
50 guez 23 CALL covcont(llm, ucov, vcov, ucont, vcont)
51 guez 37 forall (l = 1: llm + 1) p(:, l) = ap(l) + bp(l) * ps
52 guez 23 CALL massdair(p, masse)
53     CALL massbar(masse, massebx, masseby)
54     CALL massbarxy(masse, massebxy)
55     CALL flumass(massebx, masseby, vcont, ucont, pbaru, pbarv)
56     CALL convmas(pbaru, pbarv, convm)
57 guez 78 dp = convm(:, 1) / airesurg
58 guez 23 CALL vitvert(convm, w)
59     CALL tourpot(vcov, ucov, massebxy, vorpot)
60     CALL enercin(vcov, ucov, vcont, ucont, ecin)
61     CALL bernoui(ip1jmp1, llm, phi, ecin, bern)
62     CALL sortvarc0(ucov, teta, ps, masse, pk, phis, vorpot, phi, bern, dp)
63    
64     END SUBROUTINE caldyn0
65    
66     end module caldyn0_m

  ViewVC Help
Powered by ViewVC 1.1.21