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

Contents of /trunk/dyn3d/caldyn0.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5 - (show annotations)
Mon Mar 3 16:32:04 2008 UTC (16 years, 2 months ago) by guez
Original Path: trunk/libf/dyn3d/caldyn0.f90
File size: 2000 byte(s)
Created module from included file parafilt.
Converted caldyn0 to free format.
Added a rule to create cross-references with NAG.
Added optional attribute in iniadvtrac.
Suppressed argument nq in dynredem0 and dynredem1, using nqmx instead.
Replaced some NetCDF calls by netcdf95 calls in dynredem0.
Added intent attribute in dynredem0 and dynredem1.
Annotated use statements with only clause, in dynredem1.
Suppressed variable nq and argument of iniadvtrac in etat0.
Added test on nqmx in etat0.
1 SUBROUTINE caldyn0(itau, ucov, vcov, teta, ps, masse, pk, phis, phi, w, &
2 pbaru, pbarv, time)
3
4 ! From dyn3d/caldyn0.F, v 1.1.1.1 2004/05/19 12:53:07
5
6 USE dimens_m, ONLY : llm
7 USE paramet_m, ONLY : iip1, ip1jm, ip1jmp1, jjp1, llmp1
8 USE comvert, ONLY : ap, bp
9 USE comgeom, ONLY : airesurg
10 USE pression_m, ONLY : pression
11
12 IMPLICIT NONE
13
14 ! Auteur : P. Le Van
15 ! Objet: calcul des tendances dynamiques
16 ! Modif 04/93 F.Forget
17
18 ! Arguments:
19 INTEGER, INTENT (IN) :: itau
20 REAL, INTENT (IN) :: vcov(ip1jm, llm), ucov(ip1jmp1, llm)
21 REAL :: teta(ip1jmp1, llm)
22 REAL, INTENT (IN) :: ps(ip1jmp1)
23 REAL, INTENT (IN) :: phis(ip1jmp1)
24 REAL, INTENT (IN) :: pk(iip1, jjp1, llm)
25 REAL :: vcont(ip1jm, llm), ucont(ip1jmp1, llm)
26 REAL :: phi(ip1jmp1, llm), masse(ip1jmp1, llm)
27 REAL :: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
28 REAL :: time
29
30 ! Local:
31
32 REAL :: p(ip1jmp1, llmp1)
33 REAL :: massebx(ip1jmp1, llm), masseby(ip1jm, llm), psexbarxy(ip1jm)
34 REAL :: vorpot(ip1jm, llm)
35 REAL :: w(ip1jmp1, llm), ecin(ip1jmp1, llm), convm(ip1jmp1, llm)
36 REAL :: bern(ip1jmp1, llm)
37 REAL :: massebxy(ip1jm, llm), dp(ip1jmp1)
38
39 INTEGER :: ij
40
41 !-----------------------------------------------------------------------
42
43 PRINT *, 'Call sequence information: caldyn0'
44
45 ! Calcul des tendances dynamiques:
46
47 CALL covcont(llm, ucov, vcov, ucont, vcont)
48 CALL pression(ip1jmp1, ap, bp, ps, p)
49 CALL psextbar(ps, psexbarxy)
50 CALL massdair(p, masse)
51 CALL massbar(masse, massebx, masseby)
52 CALL massbarxy(masse, massebxy)
53 CALL flumass(massebx, masseby, vcont, ucont, pbaru, pbarv)
54 CALL convmas(pbaru, pbarv, convm)
55
56 DO ij = 1, ip1jmp1
57 dp(ij) = convm(ij, 1)/airesurg(ij)
58 END DO
59
60 CALL vitvert(convm, w)
61 CALL tourpot(vcov, ucov, massebxy, vorpot)
62 CALL enercin(vcov, ucov, vcont, ucont, ecin)
63 CALL bernoui(ip1jmp1, llm, phi, ecin, bern)
64 CALL sortvarc0(itau, ucov, teta, ps, masse, pk, phis, vorpot, phi, bern, &
65 dp, time, vcov)
66
67 END SUBROUTINE caldyn0

  ViewVC Help
Powered by ViewVC 1.1.21