/[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

trunk/phylmd/CV3_routines/cv3_uncompress.f revision 97 by guez, Fri Apr 25 14:58:31 2014 UTC trunk/Sources/phylmd/CV30_routines/cv30_uncompress.f revision 196 by guez, Mon May 23 13:50:39 2016 UTC
# Line 1  Line 1 
1  module cv3_uncompress_m  module cv30_uncompress_m
2    
3    implicit none    implicit none
4    
5  contains  contains
6    
7    SUBROUTINE cv3_uncompress(nloc, len, ncum, nd, idcum, iflag, precip, &    SUBROUTINE cv30_uncompress(idcum, iflag, precip, VPrecip, sig, w0, ft, fq, &
8         VPrecip, sig, w0, ft, fq, fu, fv, inb, Ma, upwd, dnwd, dnwd0, qcondc, &         fu, fv, inb, Ma, upwd, dnwd, dnwd0, qcondc, cape, da, phi, mp, iflag1, &
9         wd, cape, da, phi, mp, iflag1, precip1, VPrecip1, sig1, w01, ft1, fq1, &         precip1, VPrecip1, sig1, w01, ft1, fq1, fu1, fv1, inb1, Ma1, upwd1, &
10         fu1, fv1, inb1, Ma1, upwd1, dnwd1, dnwd01, qcondc1, wd1, cape1, da1, &         dnwd1, dnwd01, qcondc1, cape1, da1, phi1, mp1)
11         phi1, mp1)  
12        ! UNCOMPRESS THE FIELDS
13      USE cv3_param_m, ONLY: nl  
14        USE cv30_param_m, ONLY: nl
15      ! inputs:      use dimphy, only: klon, klev
16      integer, intent(in):: nloc, len, ncum, nd  
17      integer, intent(in):: idcum(nloc)      integer, intent(in):: idcum(:) ! (ncum)
18      integer, intent(in):: iflag(nloc)      integer, intent(in):: iflag(:) ! (ncum)
19      real, intent(in):: precip(nloc)      real, intent(in):: precip(klon)
20      real, intent(in):: VPrecip(nloc, nd+1)      real, intent(in):: VPrecip(klon, klev+1)
21      real, intent(in):: sig(nloc, nd), w0(nloc, nd)      real, intent(in):: sig(klon, klev), w0(klon, klev)
22      real, intent(in):: ft(nloc, nd), fq(nloc, nd), fu(nloc, nd), fv(nloc, nd)      real, intent(in), dimension(klon, klev):: ft, fq, fu, fv
23      integer, intent(in):: inb(nloc)      integer, intent(in):: inb(klon)
24      real, intent(in):: Ma(nloc, nd)      real, intent(in):: Ma(klon, klev)
25      real, intent(in):: upwd(nloc, nd), dnwd(nloc, nd), dnwd0(nloc, nd)      real, intent(in):: upwd(klon, klev), dnwd(klon, klev), dnwd0(klon, klev)
26      real, intent(in):: qcondc(nloc, nd)      real, intent(in):: qcondc(klon, klev)
27      real, intent(in):: wd(nloc), cape(nloc)      real, intent(in):: cape(klon)
28      real, intent(in):: da(nloc, nd), phi(nloc, nd, nd), mp(nloc, nd)      real, intent(in):: da(klon, klev), phi(klon, klev, klev), mp(klon, klev)
29    
30      ! outputs:      ! outputs:
31      integer iflag1(len)      integer, intent(out):: iflag1(:) ! (klon)
32      real precip1(len)      real precip1(klon)
33      real VPrecip1(len, nd+1)      real VPrecip1(klon, klev+1)
34      real sig1(len, nd), w01(len, nd)      real sig1(klon, klev), w01(klon, klev)
35      real ft1(len, nd), fq1(len, nd), fu1(len, nd), fv1(len, nd)      real ft1(klon, klev), fq1(klon, klev), fu1(klon, klev), fv1(klon, klev)
36      integer inb1(len)      integer, intent(inout):: inb1(klon)
37      real Ma1(len, nd)      real Ma1(klon, klev)
38      real upwd1(len, nd), dnwd1(len, nd), dnwd01(len, nd)      real upwd1(klon, klev), dnwd1(klon, klev), dnwd01(klon, klev)
39      real qcondc1(nloc, nd)      real qcondc1(klon, klev)
40      real wd1(nloc), cape1(nloc)      real cape1(klon)
41      real da1(nloc, nd), phi1(nloc, nd, nd), mp1(nloc, nd)      real, intent(inout):: da1(klon, klev), phi1(klon, klev, klev)
42        real, intent(inout):: mp1(klon, klev)
43    
44      ! local variables:      ! Local:
45      integer i, k, j      integer ncum, i, k, j
46    
47      !-------------------------------------------------------------------      !-------------------------------------------------------------------
48    
49        ncum = size(idcum)
50        iflag1 = 42 ! for non convective points
51    
52      do  i=1, ncum      do  i=1, ncum
53         precip1(idcum(i))=precip(i)         precip1(idcum(i))=precip(i)
54         iflag1(idcum(i))=iflag(i)         iflag1(idcum(i))=iflag(i)
        wd1(idcum(i))=wd(i)  
55         inb1(idcum(i))=inb(i)         inb1(idcum(i))=inb(i)
56         cape1(idcum(i))=cape(i)         cape1(idcum(i))=cape(i)
57      end do      end do
# Line 73  contains Line 76  contains
76      end do      end do
77    
78      do  i=1, ncum      do  i=1, ncum
79         sig1(idcum(i), nd)=sig(i, nd)         sig1(idcum(i), klev)=sig(i, klev)
80      end do      end do
81    
82      do j=1, nd      do j=1, klev
83         do k=1, nd         do k=1, klev
84            do i=1, ncum            do i=1, ncum
85               phi1(idcum(i), k, j)=phi(i, k, j)               phi1(idcum(i), k, j)=phi(i, k, j)
86            end do            end do
87         end do         end do
88      end do      end do
89    
90    end SUBROUTINE cv3_uncompress    end SUBROUTINE cv30_uncompress
91    
92  end module cv3_uncompress_m  end module cv30_uncompress_m

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

  ViewVC Help
Powered by ViewVC 1.1.21