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

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

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

revision 196 by guez, Mon May 23 13:50:39 2016 UTC revision 198 by guez, Tue May 31 16:17:35 2016 UTC
# Line 4  module cv30_undilute2_m Line 4  module cv30_undilute2_m
4    
5  contains  contains
6    
7    SUBROUTINE cv30_undilute2(icb, icbs, nk, tnk, qnk, gznk, t, qs, gz, p, h, &    SUBROUTINE cv30_undilute2(icb, icbs, tnk, qnk, gznk, t, qs, gz, p, h, tv, &
8         tv, lv, pbase, buoybase, plcl, inb, tp, tvp, clw, hp, ep, buoy)         lv, pbase, buoybase, plcl, inb, tp, tvp, clw, hp, ep, buoy)
9    
10      ! Undilute (adiabatic) updraft, second part. Purpose: find the      ! Undilute (adiabatic) updraft, second part. Purpose: find the
11      ! rest of the lifted parcel temperatures; compute the      ! rest of the lifted parcel temperatures; compute the
# Line 16  contains Line 16  contains
16    
17      use conema3_m, only: epmax      use conema3_m, only: epmax
18      use cv30_param_m, only: minorig, nl      use cv30_param_m, only: minorig, nl
19      use cv_thermo_m, only: cl, clmcpv, cpd, cpv, eps, lv0, rrv      use cv_thermo_m, only: cl, clmcpv, cpd, cpv, eps, rrv
20      USE dimphy, ONLY: klon, klev      USE dimphy, ONLY: klon, klev
21        use SUPHEC_M, only: rlvtt
22    
23      integer, intent(in):: icb(:), icbs(:) ! (ncum)      integer, intent(in):: icb(:), icbs(:) ! (ncum)
24      ! icbs is the first level above LCL (may differ from icb)      ! icbs is the first level above LCL (may differ from icb)
25    
26      integer, intent(in):: nk(klon)      real, intent(in):: tnk(:), qnk(:), gznk(:) ! (klon)
     real, intent(in):: tnk(klon), qnk(klon), gznk(klon)  
27      real, intent(in):: t(klon, klev), qs(klon, klev), gz(klon, klev)      real, intent(in):: t(klon, klev), qs(klon, klev), gz(klon, klev)
28      real, intent(in):: p(klon, klev), h(klon, klev)      real, intent(in):: p(klon, klev), h(klon, klev)
29      real, intent(in):: tv(klon, klev), lv(klon, klev)      real, intent(in):: tv(klon, klev), lv(klon, klev)
# Line 79  contains Line 79  contains
79    
80      do i = 1, ncum      do i = 1, ncum
81         ah0(i) = (cpd * (1. - qnk(i)) + cl * qnk(i)) * tnk(i) &         ah0(i) = (cpd * (1. - qnk(i)) + cl * qnk(i)) * tnk(i) &
82              + qnk(i) * (lv0 - clmcpv * (tnk(i) - 273.15)) + gznk(i)              + qnk(i) * (rlvtt - clmcpv * (tnk(i) - 273.15)) + gznk(i)
83      end do      end do
84    
85      ! Find lifted parcel quantities above cloud base      ! Find lifted parcel quantities above cloud base
# Line 89  contains Line 89  contains
89            if (k >= (icbs(i) + 1)) then            if (k >= (icbs(i) + 1)) then
90               tg = t(i, k)               tg = t(i, k)
91               qg = qs(i, k)               qg = qs(i, k)
92               alv = lv0 - clmcpv * (t(i, k) - 273.15)               alv = rlvtt - clmcpv * (t(i, k) - 273.15)
93    
94               ! First iteration.               ! First iteration.
95    
# Line 121  contains Line 121  contains
121    
122               qg = eps * es / (p(i, k) - es * (1. - eps))               qg = eps * es / (p(i, k) - es * (1. - eps))
123    
124               alv = lv0 - clmcpv * (t(i, k) - 273.15)               alv = rlvtt - clmcpv * (t(i, k) - 273.15)
125    
126               ! no approximation:               ! no approximation:
127               tp(i, k) = (ah0(i) - gz(i, k) - alv * qg) &               tp(i, k) = (ah0(i) - gz(i, k) - alv * qg) &
# Line 197  contains Line 197  contains
197    
198      do k = minorig + 1, nl      do k = minorig + 1, nl
199         do i = 1, ncum         do i = 1, ncum
200            if (k >= icb(i) .and. k <= inb(i)) hp(i, k) = h(i, nk(i)) &            if (k >= icb(i) .and. k <= inb(i)) hp(i, k) = h(i, minorig) &
201                 + (lv(i, k) + (cpd - cpv) * t(i, k)) * ep(i, k) * clw(i, k)                 + (lv(i, k) + (cpd - cpv) * t(i, k)) * ep(i, k) * clw(i, k)
202         end do         end do
203      end do      end do

Legend:
Removed from v.196  
changed lines
  Added in v.198

  ViewVC Help
Powered by ViewVC 1.1.21