/[lmdze]/trunk/phylmd/CV30_routines/cv30_compress.f
ViewVC logotype

Diff of /trunk/phylmd/CV30_routines/cv30_compress.f

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

trunk/Sources/phylmd/CV30_routines/cv30_compress.f revision 197 by guez, Tue May 24 12:25:29 2016 UTC trunk/phylmd/CV30_routines/cv30_compress.f revision 254 by guez, Mon Feb 5 10:39:38 2018 UTC
# Line 4  module cv30_compress_m Line 4  module cv30_compress_m
4    
5  contains  contains
6    
7    SUBROUTINE cv30_compress(iflag1, nk1, icb1, icbs1, plcl1, tnk1, qnk1, &    SUBROUTINE cv30_compress(idcum, iflag1, icb1, icbs1, plcl1, tnk1, qnk1, &
8         gznk1, pbase1, buoybase1, t1, q1, qs1, u1, v1, gz1, th1, h1, lv1, cpn1, &         gznk1, pbase1, buoybase1, t1, q1, qs1, u1, v1, gz1, th1, h1, lv1, &
9         p1, ph1, tv1, tp1, tvp1, clw1, sig1, w01, nk, icb, icbs, plcl, tnk, &         cpn1, p1, ph1, tv1, tp1, tvp1, clw1, sig1, w01, icb, icbs, plcl, tnk, &
10         qnk, gznk, pbase, buoybase, t, q, qs, u, v, gz, th, h, lv, cpn, p, ph, &         qnk, gznk, pbase, buoybase, t, q, qs, u, v, gz, th, h, lv, cpn, p, ph, &
11         tv, tp, tvp, clw, sig, w0)         tv, tp, tvp, clw, sig, w0)
12    
# Line 17  contains Line 17  contains
17      use nr_util, only: assert      use nr_util, only: assert
18    
19      ! inputs:      ! inputs:
20      integer, intent(in):: iflag1(:), nk1(:), icb1(:), icbs1(:) ! (klon)      integer, intent(in):: idcum(:) ! (ncum)
21        integer, intent(in):: iflag1(:), icb1(:), icbs1(:) ! (klon)
22      real, intent(in):: plcl1(klon), tnk1(klon), qnk1(klon), gznk1(klon)      real, intent(in):: plcl1(klon), tnk1(klon), qnk1(klon), gznk1(klon)
23      real pbase1(klon), buoybase1(klon)      real pbase1(klon), buoybase1(klon)
24      real, intent(in):: t1(klon, klev)      real, intent(in):: t1(klon, klev) ! temperature (K)
25      real, intent(in):: q1(klon, klev), qs1(klon, klev)      real, intent(in):: q1(klon, klev), qs1(klon, klev)
26      real, intent(in):: u1(klon, klev), v1(klon, klev)      real, intent(in):: u1(klon, klev), v1(klon, klev)
27      real gz1(klon, klev), h1(klon, klev), lv1(klon, klev), cpn1(klon, klev)      real gz1(klon, klev), h1(klon, klev)
28    
29        real, intent(in):: lv1(:, :) ! (klon, nl)
30        ! specific latent heat of vaporization of water, in J kg-1
31    
32        real, intent(in):: cpn1(:, :) ! (klon, nl)
33        ! specific heat capacity at constant pressure of humid air, in J K-1 kg-1
34    
35      real, intent(in):: p1(klon, klev), ph1(klon, klev + 1)      real, intent(in):: p1(klon, klev), ph1(klon, klev + 1)
36      real, intent(in):: tv1(klon, klev), tp1(klon, klev)      real, intent(in):: tv1(klon, klev), tp1(klon, klev)
37      real tvp1(klon, klev), clw1(klon, klev)      real tvp1(klon, klev), clw1(klon, klev)
38      real th1(klon, klev)      real, intent(in):: th1(:, :) ! (klon, nl) potential temperature, in K
39      real sig1(klon, klev), w01(klon, klev)      real sig1(klon, klev), w01(klon, klev)
40    
41      ! outputs:      ! outputs:
     integer nk(:) ! (klon)  
42      integer, intent(out):: icb(:) ! (ncum) {2 <= icb <= nl - 3}      integer, intent(out):: icb(:) ! (ncum) {2 <= icb <= nl - 3}
43      integer icbs(klon)      integer icbs(klon)
44      real, intent(out):: plcl(:) ! (ncum)      real, intent(out):: plcl(:) ! (ncum)
45      real tnk(:), qnk(:), gznk(:) ! (klon)      real tnk(:), qnk(:), gznk(:) ! (klon)
46      real pbase(klon), buoybase(klon)      real pbase(klon), buoybase(klon)
47      real t(klon, klev), q(klon, klev), qs(klon, klev)      real t(klon, klev) ! temperature (K)
48        real q(klon, klev), qs(klon, klev)
49      real u(klon, klev), v(klon, klev)      real u(klon, klev), v(klon, klev)
50      real gz(klon, klev), h(klon, klev), lv(klon, klev), cpn(klon, klev)      real gz(klon, klev), h(klon, klev)
51    
52        real, intent(out):: lv(:, :) ! (ncum, nl)
53        ! specific latent heat of vaporization of water, in J kg-1
54    
55        real cpn(:, :) ! (ncum, nl)
56        ! specific heat capacity at constant pressure of humid air, in J K-1 kg-1
57    
58      real p(klon, klev)      real p(klon, klev)
59      real ph(:, :) ! (klon, klev + 1)      real ph(:, :) ! (klon, klev + 1)
60      real tv(klon, klev), tp(klon, klev)      real tv(klon, klev), tp(klon, klev)
61      real tvp(klon, klev), clw(klon, klev)      real tvp(klon, klev), clw(klon, klev)
62      real th(klon, klev)      real, intent(out):: th(:, :) ! (ncum, nl) potential temperature, in K
63      real sig(klon, klev), w0(klon, klev)      real sig(klon, klev), w0(klon, klev)
64    
65      ! Local:      ! Local:
# Line 68  contains Line 83  contains
83               v(nn, k) = v1(i, k)               v(nn, k) = v1(i, k)
84               gz(nn, k) = gz1(i, k)               gz(nn, k) = gz1(i, k)
85               h(nn, k) = h1(i, k)               h(nn, k) = h1(i, k)
              lv(nn, k) = lv1(i, k)  
              cpn(nn, k) = cpn1(i, k)  
86               p(nn, k) = p1(i, k)               p(nn, k) = p1(i, k)
87               ph(nn, k) = ph1(i, k)               ph(nn, k) = ph1(i, k)
88               tv(nn, k) = tv1(i, k)               tv(nn, k) = tv1(i, k)
89               tp(nn, k) = tp1(i, k)               tp(nn, k) = tp1(i, k)
90               tvp(nn, k) = tvp1(i, k)               tvp(nn, k) = tvp1(i, k)
91               clw(nn, k) = clw1(i, k)               clw(nn, k) = clw1(i, k)
              th(nn, k) = th1(i, k)  
92            endif            endif
93         end do         end do
94      end do      end do
95    
96        th = th1(idcum, :)
97        lv = lv1(idcum, :)
98        cpn = cpn1(idcum, :)
99    
100      nn = 0      nn = 0
101    
102      do i = 1, klon      do i = 1, klon
# Line 92  contains Line 108  contains
108            tnk(nn) = tnk1(i)            tnk(nn) = tnk1(i)
109            qnk(nn) = qnk1(i)            qnk(nn) = qnk1(i)
110            gznk(nn) = gznk1(i)            gznk(nn) = gznk1(i)
           nk(nn) = nk1(i)  
111            icb(nn) = icb1(i)            icb(nn) = icb1(i)
112            icbs(nn) = icbs1(i)            icbs(nn) = icbs1(i)
113         endif         endif

Legend:
Removed from v.197  
changed lines
  Added in v.254

  ViewVC Help
Powered by ViewVC 1.1.21