/[lmdze]/trunk/phylmd/CV3_routines/cv3_uncompress.f
ViewVC logotype

Diff of /trunk/phylmd/CV3_routines/cv3_uncompress.f

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

revision 102 by guez, Wed Jul 2 18:39:15 2014 UTC revision 103 by guez, Fri Aug 29 13:00:05 2014 UTC
# Line 4  module cv3_uncompress_m Line 4  module cv3_uncompress_m
4    
5  contains  contains
6    
7    SUBROUTINE cv3_uncompress(nloc, len, ncum, nd, idcum, iflag, precip, &    SUBROUTINE cv3_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, wd, cape, da, phi, mp, &
9         wd, cape, da, phi, mp, iflag1, precip1, VPrecip1, sig1, w01, ft1, fq1, &         iflag1, precip1, VPrecip1, sig1, w01, ft1, fq1, fu1, fv1, inb1, Ma1, &
10         fu1, fv1, inb1, Ma1, upwd1, dnwd1, dnwd01, qcondc1, wd1, cape1, da1, &         upwd1, dnwd1, dnwd01, qcondc1, wd1, cape1, da1, phi1, mp1)
        phi1, mp1)  
11    
12      USE cv3_param_m, ONLY: nl      USE cv3_param_m, ONLY: nl
13        use dimphy, only: klon, klev
14    
15      ! inputs:      ! inputs:
16      integer, intent(in):: nloc, len, ncum, nd      integer, intent(in):: idcum(:) ! (ncum)
17      integer, intent(in):: idcum(nloc)      integer, intent(in):: iflag(klon)
18      integer, intent(in):: iflag(nloc)      real, intent(in):: precip(klon)
19      real, intent(in):: precip(nloc)      real, intent(in):: VPrecip(klon, klev+1)
20      real, intent(in):: VPrecip(nloc, nd+1)      real, intent(in):: sig(klon, klev), w0(klon, klev)
21      real, intent(in):: sig(nloc, nd), w0(nloc, nd)      real, intent(in), dimension(klon, klev):: ft, fq, fu, fv
22      real, intent(in):: ft(nloc, nd), fq(nloc, nd), fu(nloc, nd), fv(nloc, nd)      integer, intent(in):: inb(klon)
23      integer, intent(in):: inb(nloc)      real, intent(in):: Ma(klon, klev)
24      real, intent(in):: Ma(nloc, nd)      real, intent(in):: upwd(klon, klev), dnwd(klon, klev), dnwd0(klon, klev)
25      real, intent(in):: upwd(nloc, nd), dnwd(nloc, nd), dnwd0(nloc, nd)      real, intent(in):: qcondc(klon, klev)
26      real, intent(in):: qcondc(nloc, nd)      real, intent(in):: wd(klon), cape(klon)
27      real, intent(in):: wd(nloc), cape(nloc)      real, intent(in):: da(klon, klev), phi(klon, klev, klev), mp(klon, klev)
     real, intent(in):: da(nloc, nd), phi(nloc, nd, nd), mp(nloc, nd)  
28    
29      ! outputs:      ! outputs:
30      integer iflag1(len)      integer iflag1(klon)
31      real precip1(len)      real precip1(klon)
32      real VPrecip1(len, nd+1)      real VPrecip1(klon, klev+1)
33      real sig1(len, nd), w01(len, nd)      real sig1(klon, klev), w01(klon, klev)
34      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)
35      integer inb1(len)      integer, intent(inout):: inb1(klon)
36      real Ma1(len, nd)      real Ma1(klon, klev)
37      real upwd1(len, nd), dnwd1(len, nd), dnwd01(len, nd)      real upwd1(klon, klev), dnwd1(klon, klev), dnwd01(klon, klev)
38      real qcondc1(nloc, nd)      real qcondc1(klon, klev)
39      real wd1(nloc), cape1(nloc)      real wd1(klon), cape1(klon)
40      real, intent(inout):: da1(nloc, nd), phi1(nloc, nd, nd), mp1(nloc, nd)      real, intent(inout):: da1(klon, klev), phi1(klon, klev, klev)
41        real, intent(inout):: mp1(klon, klev)
42    
43      ! local variables:      ! local variables:
44      integer i, k, j      integer ncum, i, k, j
45    
46      !-------------------------------------------------------------------      !-------------------------------------------------------------------
47    
48        ncum = size(idcum)
49    
50      do  i=1, ncum      do  i=1, ncum
51         precip1(idcum(i))=precip(i)         precip1(idcum(i))=precip(i)
52         iflag1(idcum(i))=iflag(i)         iflag1(idcum(i))=iflag(i)
# Line 73  contains Line 75  contains
75      end do      end do
76    
77      do  i=1, ncum      do  i=1, ncum
78         sig1(idcum(i), nd)=sig(i, nd)         sig1(idcum(i), klev)=sig(i, klev)
79      end do      end do
80    
81      do j=1, nd      do j=1, klev
82         do k=1, nd         do k=1, klev
83            do i=1, ncum            do i=1, ncum
84               phi1(idcum(i), k, j)=phi(i, k, j)               phi1(idcum(i), k, j)=phi(i, k, j)
85            end do            end do

Legend:
Removed from v.102  
changed lines
  Added in v.103

  ViewVC Help
Powered by ViewVC 1.1.21