/[lmdze]/trunk/Sources/dyn3d/limz.f
ViewVC logotype

Annotation of /trunk/Sources/dyn3d/limz.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 155 - (hide annotations)
Wed Jul 8 17:03:45 2015 UTC (8 years, 10 months ago) by guez
File size: 1933 byte(s)
Do not write any longer to startphy.nc nor read from restartphy.nc the
NetCDF variable ALBLW: it was the same than ALBE. ALBE was for the
visible and ALBLW for the near infrared. In physiq, use only variables
falbe and albsol, removed falblw and albsollw. See revision 888 of
LMDZ.

Removed unused arguments pdp of SUBROUTINE lwbv, ptave of SUBROUTINE
lwv, kuaer of SUBROUTINE lwvd, nq of SUBROUTINE initphysto.

1 guez 3
2 guez 81 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/limz.F,v 1.1.1.1 2004/05/19
3     ! 12:53:07 lmdzadmin Exp $
4 guez 3
5 guez 81 SUBROUTINE limz(s0, sz, sm, pente_max)
6 guez 3
7 guez 81 ! Auteurs: P.Le Van, F.Hourdin, F.Forget
8 guez 3
9 guez 81 ! ********************************************************************
10     ! Shema d'advection " pseudo amont " .
11     ! ********************************************************************
12     ! nq,iq,q,pbaru,pbarv,w sont des arguments d'entree pour le s-pg ....
13 guez 3
14    
15 guez 81 ! --------------------------------------------------------------------
16     USE dimens_m
17     USE paramet_m
18     USE comconst
19     USE disvert_m
20     USE conf_gcm_m
21     USE comgeom
22     IMPLICIT NONE
23 guez 3
24    
25    
26 guez 81 ! Arguments:
27     ! ----------
28     REAL pente_max
29     REAL s0(ip1jmp1, llm), sm(ip1jmp1, llm)
30     REAL sz(ip1jmp1, llm)
31 guez 3
32 guez 81 ! Local
33     ! ---------
34 guez 3
35 guez 155 INTEGER ij, l
36 guez 3
37 guez 81 REAL q(ip1jmp1, llm)
38     REAL dzq(ip1jmp1, llm)
39 guez 3
40 guez 81 REAL dzqw(ip1jmp1)
41     REAL adzqw(ip1jmp1), dzqmax(ip1jmp1)
42 guez 3
43 guez 155 LOGICAL first
44 guez 81 SAVE first
45 guez 3
46 guez 155 REAL ssum
47 guez 81 INTEGER ismax, ismin
48     EXTERNAL ssum, convflu, ismin, ismax
49    
50     DATA first/.TRUE./
51    
52    
53     DO l = 1, llm
54     DO ij = 1, ip1jmp1
55     q(ij, l) = s0(ij, l)/sm(ij, l)
56     dzq(ij, l) = sz(ij, l)/sm(ij, l)
57     END DO
58     END DO
59    
60     ! calcul de la pente en haut et en bas de la maille
61     DO ij = 1, ip1jmp1
62     DO l = 1, llm - 1
63     dzqw(l) = q(ij, l+1) - q(ij, l)
64     END DO
65     dzqw(llm) = 0.
66    
67     DO l = 1, llm
68     adzqw(l) = abs(dzqw(l))
69     END DO
70    
71     ! calcul de la pente maximum dans la maille en valeur absolue
72    
73     DO l = 2, llm - 1
74     dzqmax(l) = pente_max*min(adzqw(l-1), adzqw(l))
75     END DO
76    
77     ! calcul de la pente avec limitation
78    
79     DO l = 2, llm - 1
80     IF (dzqw(l-1)*dzqw(l)>0. .AND. dzq(ij,l)*dzqw(l)>0.) THEN
81     dzq(ij, l) = sign(min(abs(dzq(ij,l)),dzqmax(l)), dzq(ij,l))
82     ELSE
83     ! extremum local
84     dzq(ij, l) = 0.
85     END IF
86     END DO
87    
88     DO l = 1, llm
89     sz(ij, l) = dzq(ij, l)*sm(ij, l)
90     END DO
91    
92     END DO
93    
94     RETURN
95     END SUBROUTINE limz

  ViewVC Help
Powered by ViewVC 1.1.21