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

Annotation of /trunk/dyn3d/caldyn0.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5 - (hide 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 guez 5 SUBROUTINE caldyn0(itau, ucov, vcov, teta, ps, masse, pk, phis, phi, w, &
2     pbaru, pbarv, time)
3 guez 3
4 guez 5 ! From dyn3d/caldyn0.F, v 1.1.1.1 2004/05/19 12:53:07
5 guez 4
6 guez 5 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 guez 3
12 guez 5 IMPLICIT NONE
13 guez 3
14 guez 5 ! Auteur : P. Le Van
15     ! Objet: calcul des tendances dynamiques
16     ! Modif 04/93 F.Forget
17 guez 3
18 guez 5 ! 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 guez 3
30 guez 5 ! Local:
31 guez 3
32 guez 5 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 guez 3
39 guez 5 INTEGER :: ij
40 guez 3
41 guez 5 !-----------------------------------------------------------------------
42 guez 3
43 guez 5 PRINT *, 'Call sequence information: caldyn0'
44 guez 3
45 guez 5 ! Calcul des tendances dynamiques:
46 guez 3
47 guez 5 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 guez 3
56 guez 5 DO ij = 1, ip1jmp1
57     dp(ij) = convm(ij, 1)/airesurg(ij)
58     END DO
59 guez 3
60 guez 5 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 guez 3
67 guez 5 END SUBROUTINE caldyn0

  ViewVC Help
Powered by ViewVC 1.1.21