/[lmdze]/trunk/Sources/phylmd/CV30_routines/cv30_undilute1.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/CV30_routines/cv30_undilute1.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 200 by guez, Tue May 31 16:17:35 2016 UTC revision 201 by guez, Mon Jun 6 17:42:15 2016 UTC
# Line 22  contains Line 22  contains
22      ! - if icbs1=icb1, compute also tp1(icb1+1), tvp1(icb1+1) & clw1(icb1+1)      ! - if icbs1=icb1, compute also tp1(icb1+1), tvp1(icb1+1) & clw1(icb1+1)
23    
24      use cv30_param_m, only: minorig, nl      use cv30_param_m, only: minorig, nl
25      use cv_thermo_m, only: cl, clmcpv, cpd, cpv, eps, rrv      use cv_thermo_m, only: clmcpv, eps
26      USE dimphy, ONLY: klev, klon      USE dimphy, ONLY: klev, klon
27      use SUPHEC_M, only: rlvtt      use SUPHEC_M, only: rcw, rlvtt, rcpd, rcpv, rv
28    
29      ! inputs:      ! inputs:
30      integer, intent(in):: icb1(klon)      integer, intent(in):: icb1(klon)
# Line 61  contains Line 61  contains
61      ! *** Calculate certain parcel quantities, including static energy ***      ! *** Calculate certain parcel quantities, including static energy ***
62    
63      do i=1, klon      do i=1, klon
64         ah0(i)=(cpd*(1.-qnk(i))+cl*qnk(i))*tnk(i) &         ah0(i)=(rcpd*(1.-qnk(i))+rcw*qnk(i))*tnk(i) &
65              +qnk(i)*(rlvtt-clmcpv*(tnk(i)-273.15))+gznk(i)              +qnk(i)*(rlvtt-clmcpv*(tnk(i)-273.15))+gznk(i)
66         cpp(i)=cpd*(1.-qnk(i))+qnk(i)*cpv         cpp(i)=rcpd*(1.-qnk(i))+qnk(i)*rcpv
67         cpinv(i)=1./cpp(i)         cpinv(i)=1./cpp(i)
68      end do      end do
69    
# Line 119  contains Line 119  contains
119    
120         ! First iteration.         ! First iteration.
121    
122         s=cpd*(1.-qnk(i))+cl*qnk(i) &         s=rcpd*(1.-qnk(i))+rcw*qnk(i) &
123              +alv*alv*qg/(rrv*ticb(i)*ticb(i))              +alv*alv*qg/(rv*ticb(i)*ticb(i))
124         s=1./s         s=1./s
125    
126         ahg=cpd*tg+(cl-cpd)*qnk(i)*tg+alv*qg+gzicb(i)         ahg=rcpd*tg+(rcw-rcpd)*qnk(i)*tg+alv*qg+gzicb(i)
127         tg=tg+s*(ah0(i)-ahg)         tg=tg+s*(ah0(i)-ahg)
128    
129         !debug tc=tg-t0         !debug tc=tg-t0
# Line 136  contains Line 136  contains
136    
137         ! Second iteration.         ! Second iteration.
138    
139         ahg=cpd*tg+(cl-cpd)*qnk(i)*tg+alv*qg+gzicb(i)         ahg=rcpd*tg+(rcw-rcpd)*qnk(i)*tg+alv*qg+gzicb(i)
140         tg=tg+s*(ah0(i)-ahg)         tg=tg+s*(ah0(i)-ahg)
141    
142         !debug tc=tg-t0         !debug tc=tg-t0
# Line 152  contains Line 152  contains
152    
153         ! no approximation:         ! no approximation:
154         tp1(i, icbs1(i))=(ah0(i)-gz1(i, icbs1(i))-alv*qg) &         tp1(i, icbs1(i))=(ah0(i)-gz1(i, icbs1(i))-alv*qg) &
155              /(cpd+(cl-cpd)*qnk(i))              /(rcpd+(rcw-rcpd)*qnk(i))
156    
157         clw1(i, icbs1(i))=qnk(i)-qg         clw1(i, icbs1(i))=qnk(i)-qg
158         clw1(i, icbs1(i))=max(0.0, clw1(i, icbs1(i)))         clw1(i, icbs1(i))=max(0.0, clw1(i, icbs1(i)))
# Line 189  contains Line 189  contains
189    
190         ! First iteration.         ! First iteration.
191    
192         s=cpd*(1.-qnk(i))+cl*qnk(i) &         s=rcpd*(1.-qnk(i))+rcw*qnk(i) &
193              +alv*alv*qg/(rrv*ticb(i)*ticb(i))              +alv*alv*qg/(rv*ticb(i)*ticb(i))
194         s=1./s         s=1./s
195    
196         ahg=cpd*tg+(cl-cpd)*qnk(i)*tg+alv*qg+gzicb(i)         ahg=rcpd*tg+(rcw-rcpd)*qnk(i)*tg+alv*qg+gzicb(i)
197         tg=tg+s*(ah0(i)-ahg)         tg=tg+s*(ah0(i)-ahg)
198    
199         !debug tc=tg-t0         !debug tc=tg-t0
# Line 207  contains Line 207  contains
207    
208         ! Second iteration.         ! Second iteration.
209    
210         ahg=cpd*tg+(cl-cpd)*qnk(i)*tg+alv*qg+gzicb(i)         ahg=rcpd*tg+(rcw-rcpd)*qnk(i)*tg+alv*qg+gzicb(i)
211         tg=tg+s*(ah0(i)-ahg)         tg=tg+s*(ah0(i)-ahg)
212    
213         !debug tc=tg-t0         !debug tc=tg-t0
# Line 223  contains Line 223  contains
223    
224         ! no approximation:         ! no approximation:
225         tp1(i, icb1(i)+1)=(ah0(i)-gz1(i, icb1(i)+1)-alv*qg) &         tp1(i, icb1(i)+1)=(ah0(i)-gz1(i, icb1(i)+1)-alv*qg) &
226              /(cpd+(cl-cpd)*qnk(i))              /(rcpd+(rcw-rcpd)*qnk(i))
227    
228         clw1(i, icb1(i)+1)=qnk(i)-qg         clw1(i, icb1(i)+1)=qnk(i)-qg
229         clw1(i, icb1(i)+1)=max(0.0, clw1(i, icb1(i)+1))         clw1(i, icb1(i)+1)=max(0.0, clw1(i, icb1(i)+1))

Legend:
Removed from v.200  
changed lines
  Added in v.201

  ViewVC Help
Powered by ViewVC 1.1.21