/[lmdze]/trunk/dyn3d/Vlsplt/vlsplt.f
ViewVC logotype

Annotation of /trunk/dyn3d/Vlsplt/vlsplt.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 31 - (hide annotations)
Thu Apr 1 14:59:19 2010 UTC (14 years, 2 months ago) by guez
Original Path: trunk/libf/dyn3d/Vlsplt/vlsplt.f90
File size: 2607 byte(s)
Split "vlsplt.f" in single-procedure files. Gathered the files in
directory "dyn3d/Vlsplt".

Defined "pbarum(:, 1, :)" and "pbarum(:, jjm + 1, :)" in procedure
"groupe".

1 guez 3 !
2 guez 31 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/vlsplt.F,v 1.2
3     ! 2005/02/24 12:16:57 fairhead Exp $
4 guez 3 !
5 guez 31 !
6     !
7 guez 3
8     SUBROUTINE vlsplt(q,pente_max,masse,w,pbaru,pbarv,pdt)
9 guez 31 !
10     ! Auteurs: P.Le Van, F.Hourdin, F.Forget
11     !
12     ! *************************************************************
13     ! Shema d'advection " pseudo amont " .
14     ! **************************************************************
15     ! q,pbaru,pbarv,w sont des arguments d'entree pour le s-pg ....
16     !
17     ! pente_max facteur de limitation des pentes: 2 en general
18     ! 0 pour un schema amont
19     ! pbaru,pbarv,w flux de masse en u ,v ,w
20     ! pdt pas de temps
21     !
22     ! ---------------------------------------------------------------
23 guez 3 use dimens_m
24     use paramet_m
25     use comconst
26     use comvert
27     use logic
28     IMPLICIT NONE
29 guez 31 !
30 guez 3
31 guez 31 !
32     ! Arguments:
33     ! ----------
34 guez 3 REAL masse(ip1jmp1,llm),pente_max
35 guez 31 ! REAL masse(iip1,jjp1,llm),pente_max
36     REAL, intent(in):: pbaru( ip1jmp1,llm ),pbarv( ip1jm,llm)
37 guez 3 REAL q(ip1jmp1,llm)
38 guez 31 ! REAL q(iip1,jjp1,llm)
39 guez 28 REAL w(ip1jmp1,llm)
40     real, intent(in):: pdt
41 guez 31 !
42     ! Local
43     ! ---------
44     !
45 guez 3 INTEGER i,ij,l,j,ii
46     INTEGER ijlqmin,iqmin,jqmin,lqmin
47 guez 31 !
48 guez 3 REAL zm(ip1jmp1,llm),newmasse
49     REAL mu(ip1jmp1,llm)
50     REAL mv(ip1jm,llm)
51     REAL mw(ip1jmp1,llm+1)
52     REAL zq(ip1jmp1,llm),zz
53     REAL dqx(ip1jmp1,llm),dqy(ip1jmp1,llm),dqz(ip1jmp1,llm)
54     REAL second,temps0,temps1,temps2,temps3
55     REAL ztemps1,ztemps2,ztemps3
56     REAL zzpbar, zzw
57     LOGICAL testcpu
58     SAVE testcpu
59     SAVE temps1,temps2,temps3
60     INTEGER iminn,imaxx
61    
62     REAL qmin,qmax
63     DATA qmin,qmax/0.,1.e33/
64     DATA testcpu/.false./
65     DATA temps1,temps2,temps3/0.,0.,0./
66    
67    
68     zzpbar = 0.5 * pdt
69     zzw = pdt
70     DO l=1,llm
71     DO ij = iip2,ip1jm
72     mu(ij,l)=pbaru(ij,l) * zzpbar
73     ENDDO
74     DO ij=1,ip1jm
75     mv(ij,l)=pbarv(ij,l) * zzpbar
76     ENDDO
77     DO ij=1,ip1jmp1
78     mw(ij,l)=w(ij,l) * zzw
79     ENDDO
80     ENDDO
81    
82     DO ij=1,ip1jmp1
83     mw(ij,llm+1)=0.
84     ENDDO
85 guez 31
86 guez 3 CALL SCOPY(ijp1llm,q,1,zq,1)
87     CALL SCOPY(ijp1llm,masse,1,zm,1)
88    
89     call vlx(zq,pente_max,zm,mu)
90    
91     call vly(zq,pente_max,zm,mv)
92     call vlz(zq,pente_max,zm,mw)
93    
94    
95     call vly(zq,pente_max,zm,mv)
96    
97    
98     call vlx(zq,pente_max,zm,mu)
99    
100 guez 31
101 guez 3 DO l=1,llm
102     DO ij=1,ip1jmp1
103     q(ij,l)=zq(ij,l)
104     ENDDO
105     DO ij=1,ip1jm+1,iip1
106     q(ij+iim,l)=q(ij,l)
107     ENDDO
108     ENDDO
109    
110     RETURN
111     END

  ViewVC Help
Powered by ViewVC 1.1.21