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

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

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

revision 185 by guez, Wed Mar 16 15:04:46 2016 UTC revision 205 by guez, Tue Jun 21 15:16:03 2016 UTC
# Line 5  module cv30_uncompress_m Line 5  module cv30_uncompress_m
5  contains  contains
6    
7    SUBROUTINE cv30_uncompress(idcum, iflag, precip, VPrecip, sig, w0, ft, fq, &    SUBROUTINE cv30_uncompress(idcum, iflag, precip, VPrecip, sig, w0, ft, fq, &
8         fu, fv, inb, Ma, upwd, dnwd, dnwd0, qcondc, wd, cape, da, phi, mp, &         fu, fv, inb, Ma, upwd, dnwd, qcondc, cape, da, phi, mp, iflag1, &
9         iflag1, precip1, VPrecip1, sig1, w01, ft1, fq1, fu1, fv1, inb1, Ma1, &         precip1, VPrecip1, sig1, w01, ft1, fq1, fu1, fv1, inb1, Ma1, upwd1, &
10         upwd1, dnwd1, dnwd01, qcondc1, wd1, cape1, da1, phi1, mp1)         dnwd1, qcondc1, cape1, da1, phi1, mp1)
11    
12        ! UNCOMPRESS THE FIELDS
13    
14      USE cv30_param_m, ONLY: nl      USE cv30_param_m, ONLY: nl
15      use dimphy, only: klon, klev      use dimphy, only: klon, klev
16    
17      integer, intent(in):: idcum(:) ! (ncum)      integer, intent(in):: idcum(:) ! (ncum)
18      integer, intent(in):: iflag(klon)      integer, intent(in):: iflag(:) ! (ncum)
19      real, intent(in):: precip(klon)      real, intent(in):: precip(klon)
20      real, intent(in):: VPrecip(klon, klev+1)      real, intent(in):: VPrecip(klon, klev+1)
21      real, intent(in):: sig(klon, klev), w0(klon, klev)      real, intent(in):: sig(klon, klev), w0(klon, klev)
22      real, intent(in), dimension(klon, klev):: ft, fq, fu, fv      real, intent(in), dimension(klon, klev):: ft, fq, fu, fv
23      integer, intent(in):: inb(klon)      integer, intent(in):: inb(:) ! (ncum)
24      real, intent(in):: Ma(klon, klev)      real, intent(in):: Ma(klon, klev)
25      real, intent(in):: upwd(klon, klev), dnwd(klon, klev), dnwd0(klon, klev)      real, intent(in):: upwd(klon, klev), dnwd(klon, klev)
26      real, intent(in):: qcondc(klon, klev)      real, intent(in):: qcondc(klon, klev)
27      real, intent(in):: wd(klon), cape(klon)      real, intent(in):: cape(klon)
28      real, intent(in):: da(klon, klev), phi(klon, klev, klev), mp(klon, klev)      real, intent(in):: da(:, :) ! (klon, klev)
29        real, intent(in):: phi(:, :, :) ! (klon, klev, klev)
30        real, intent(in):: mp(:, :) ! (ncum, nl)
31    
32      ! outputs:      ! outputs:
33      integer iflag1(klon)      integer, intent(out):: iflag1(:) ! (klon)
34      real precip1(klon)      real precip1(klon)
35      real VPrecip1(klon, klev+1)      real VPrecip1(klon, klev+1)
36      real sig1(klon, klev), w01(klon, klev)      real sig1(klon, klev), w01(klon, klev)
37      real ft1(klon, klev), fq1(klon, klev), fu1(klon, klev), fv1(klon, klev)      real ft1(klon, klev), fq1(klon, klev), fu1(klon, klev), fv1(klon, klev)
38      integer, intent(inout):: inb1(klon)      integer, intent(inout):: inb1(klon)
39      real Ma1(klon, klev)      real Ma1(klon, klev)
40      real upwd1(klon, klev), dnwd1(klon, klev), dnwd01(klon, klev)      real upwd1(klon, klev), dnwd1(klon, klev)
41      real qcondc1(klon, klev)      real qcondc1(klon, klev)
42      real wd1(klon), cape1(klon)      real cape1(klon)
43      real, intent(inout):: da1(klon, klev), phi1(klon, klev, klev)      real, intent(inout):: da1(klon, klev), phi1(klon, klev, klev)
44      real, intent(inout):: mp1(klon, klev)      real, intent(inout):: mp1(klon, klev)
45    
# Line 45  contains Line 49  contains
49      !-------------------------------------------------------------------      !-------------------------------------------------------------------
50    
51      ncum = size(idcum)      ncum = size(idcum)
52        iflag1 = 42 ! for non convective points
53    
54      do  i=1, ncum      do  i = 1, ncum
55         precip1(idcum(i))=precip(i)         precip1(idcum(i)) = precip(i)
56         iflag1(idcum(i))=iflag(i)         iflag1(idcum(i)) = iflag(i)
57         wd1(idcum(i))=wd(i)         inb1(idcum(i)) = inb(i)
58         inb1(idcum(i))=inb(i)         cape1(idcum(i)) = cape(i)
        cape1(idcum(i))=cape(i)  
59      end do      end do
60    
61      do  k=1, nl      do  k = 1, nl
62         do  i=1, ncum         do  i = 1, ncum
63            VPrecip1(idcum(i), k)=VPrecip(i, k)            VPrecip1(idcum(i), k) = VPrecip(i, k)
64            sig1(idcum(i), k)=sig(i, k)            sig1(idcum(i), k) = sig(i, k)
65            w01(idcum(i), k)=w0(i, k)            w01(idcum(i), k) = w0(i, k)
66            ft1(idcum(i), k)=ft(i, k)            ft1(idcum(i), k) = ft(i, k)
67            fq1(idcum(i), k)=fq(i, k)            fq1(idcum(i), k) = fq(i, k)
68            fu1(idcum(i), k)=fu(i, k)            fu1(idcum(i), k) = fu(i, k)
69            fv1(idcum(i), k)=fv(i, k)            fv1(idcum(i), k) = fv(i, k)
70            Ma1(idcum(i), k)=Ma(i, k)            Ma1(idcum(i), k) = Ma(i, k)
71            upwd1(idcum(i), k)=upwd(i, k)            upwd1(idcum(i), k) = upwd(i, k)
72            dnwd1(idcum(i), k)=dnwd(i, k)            dnwd1(idcum(i), k) = dnwd(i, k)
73            dnwd01(idcum(i), k)=dnwd0(i, k)            qcondc1(idcum(i), k) = qcondc(i, k)
74            qcondc1(idcum(i), k)=qcondc(i, k)            da1(idcum(i), k) = da(i, k)
75            da1(idcum(i), k)=da(i, k)            mp1(idcum(i), k) = mp(i, k)
           mp1(idcum(i), k)=mp(i, k)  
76         end do         end do
77      end do      end do
78    
79      do  i=1, ncum      do  i = 1, ncum
80         sig1(idcum(i), klev)=sig(i, klev)         sig1(idcum(i), klev) = sig(i, klev)
81      end do      end do
82    
83      do j=1, klev      do j = 1, klev
84         do k=1, klev         do k = 1, klev
85            do i=1, ncum            do i = 1, ncum
86               phi1(idcum(i), k, j)=phi(i, k, j)               phi1(idcum(i), k, j) = phi(i, k, j)
87            end do            end do
88         end do         end do
89      end do      end do

Legend:
Removed from v.185  
changed lines
  Added in v.205

  ViewVC Help
Powered by ViewVC 1.1.21