/[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/libf/phylmd/CV3_routines/cv3_uncompress.f90 revision 47 by guez, Fri Jul 1 15:00:48 2011 UTC trunk/Sources/phylmd/CV3_routines/cv3_uncompress.f revision 134 by guez, Wed Apr 29 15:47:56 2015 UTC
# Line 1  Line 1 
1  SUBROUTINE cv3_uncompress(nloc, len, ncum, nd, ntra, idcum, iflag, precip, &  module cv3_uncompress_m
      VPrecip, sig, w0, ft, fq, fu, fv, ftra, inb, Ma, upwd, dnwd, dnwd0, &  
      qcondc, wd, cape, da, phi, mp, iflag1, precip1, VPrecip1, sig1, w01, &  
      ft1, fq1, fu1, fv1, ftra1, inb1, Ma1, upwd1, dnwd1, dnwd01, qcondc1, &  
      wd1, cape1, da1, phi1, mp1)  
   
   use cvparam3  
2    
3    implicit none    implicit none
4    
5    ! inputs:  contains
6    integer len, ncum, nd, ntra, nloc  
7    integer idcum(nloc)    SUBROUTINE cv3_uncompress(idcum, iflag, precip, VPrecip, sig, w0, ft, fq, &
8    integer iflag(nloc)         fu, fv, inb, Ma, upwd, dnwd, dnwd0, qcondc, wd, cape, da, phi, mp, &
9    integer inb(nloc)         iflag1, precip1, VPrecip1, sig1, w01, ft1, fq1, fu1, fv1, inb1, Ma1, &
10    real precip(nloc)         upwd1, dnwd1, dnwd01, qcondc1, wd1, cape1, da1, phi1, mp1)
11    real VPrecip(nloc, nd+1)  
12    real sig(nloc, nd), w0(nloc, nd)      USE cv3_param_m, ONLY: nl
13    real ft(nloc, nd), fq(nloc, nd), fu(nloc, nd), fv(nloc, nd)      use dimphy, only: klon, klev
14    real ftra(nloc, nd, ntra)  
15    real Ma(nloc, nd)      ! inputs:
16    real upwd(nloc, nd), dnwd(nloc, nd), dnwd0(nloc, nd)      integer, intent(in):: idcum(:) ! (ncum)
17    real qcondc(nloc, nd)      integer, intent(in):: iflag(klon)
18    real wd(nloc), cape(nloc)      real, intent(in):: precip(klon)
19    real da(nloc, nd), phi(nloc, nd, nd), mp(nloc, nd)      real, intent(in):: VPrecip(klon, klev+1)
20        real, intent(in):: sig(klon, klev), w0(klon, klev)
21    ! outputs:      real, intent(in), dimension(klon, klev):: ft, fq, fu, fv
22    integer iflag1(len)      integer, intent(in):: inb(klon)
23    integer inb1(len)      real, intent(in):: Ma(klon, klev)
24    real precip1(len)      real, intent(in):: upwd(klon, klev), dnwd(klon, klev), dnwd0(klon, klev)
25    real VPrecip1(len, nd+1)      real, intent(in):: qcondc(klon, klev)
26    real sig1(len, nd), w01(len, nd)      real, intent(in):: wd(klon), cape(klon)
27    real ft1(len, nd), fq1(len, nd), fu1(len, nd), fv1(len, nd)      real, intent(in):: da(klon, klev), phi(klon, klev, klev), mp(klon, klev)
28    real ftra1(len, nd, ntra)  
29    real Ma1(len, nd)      ! outputs:
30    real upwd1(len, nd), dnwd1(len, nd), dnwd01(len, nd)      integer iflag1(klon)
31    real qcondc1(nloc, nd)      real precip1(klon)
32    real wd1(nloc), cape1(nloc)      real VPrecip1(klon, klev+1)
33    real da1(nloc, nd), phi1(nloc, nd, nd), mp1(nloc, nd)      real sig1(klon, klev), w01(klon, klev)
34        real ft1(klon, klev), fq1(klon, klev), fu1(klon, klev), fv1(klon, klev)
35    ! local variables:      integer, intent(inout):: inb1(klon)
36    integer i, k, j      real Ma1(klon, klev)
37        real upwd1(klon, klev), dnwd1(klon, klev), dnwd01(klon, klev)
38    !-------------------------------------------------------------------      real qcondc1(klon, klev)
39        real wd1(klon), cape1(klon)
40    do  i=1, ncum      real, intent(inout):: da1(klon, klev), phi1(klon, klev, klev)
41       precip1(idcum(i))=precip(i)      real, intent(inout):: mp1(klon, klev)
42       iflag1(idcum(i))=iflag(i)  
43       wd1(idcum(i))=wd(i)      ! local variables:
44       inb1(idcum(i))=inb(i)      integer ncum, i, k, j
45       cape1(idcum(i))=cape(i)  
46    end do      !-------------------------------------------------------------------
47    
48    do  k=1, nl      ncum = size(idcum)
49       do  i=1, ncum  
50          VPrecip1(idcum(i), k)=VPrecip(i, k)      do  i=1, ncum
51          sig1(idcum(i), k)=sig(i, k)         precip1(idcum(i))=precip(i)
52          w01(idcum(i), k)=w0(i, k)         iflag1(idcum(i))=iflag(i)
53          ft1(idcum(i), k)=ft(i, k)         wd1(idcum(i))=wd(i)
54          fq1(idcum(i), k)=fq(i, k)         inb1(idcum(i))=inb(i)
55          fu1(idcum(i), k)=fu(i, k)         cape1(idcum(i))=cape(i)
56          fv1(idcum(i), k)=fv(i, k)      end do
57          Ma1(idcum(i), k)=Ma(i, k)  
58          upwd1(idcum(i), k)=upwd(i, k)      do  k=1, nl
59          dnwd1(idcum(i), k)=dnwd(i, k)         do  i=1, ncum
60          dnwd01(idcum(i), k)=dnwd0(i, k)            VPrecip1(idcum(i), k)=VPrecip(i, k)
61          qcondc1(idcum(i), k)=qcondc(i, k)            sig1(idcum(i), k)=sig(i, k)
62          da1(idcum(i), k)=da(i, k)            w01(idcum(i), k)=w0(i, k)
63          mp1(idcum(i), k)=mp(i, k)            ft1(idcum(i), k)=ft(i, k)
64       end do            fq1(idcum(i), k)=fq(i, k)
65    end do            fu1(idcum(i), k)=fu(i, k)
66              fv1(idcum(i), k)=fv(i, k)
67    do  i=1, ncum            Ma1(idcum(i), k)=Ma(i, k)
68       sig1(idcum(i), nd)=sig(i, nd)            upwd1(idcum(i), k)=upwd(i, k)
69    end do            dnwd1(idcum(i), k)=dnwd(i, k)
70              dnwd01(idcum(i), k)=dnwd0(i, k)
71    do j=1, nd            qcondc1(idcum(i), k)=qcondc(i, k)
72       do k=1, nd            da1(idcum(i), k)=da(i, k)
73          do i=1, ncum            mp1(idcum(i), k)=mp(i, k)
74             phi1(idcum(i), k, j)=phi(i, k, j)         end do
75          end do      end do
76       end do  
77    end do      do  i=1, ncum
78           sig1(idcum(i), klev)=sig(i, klev)
79        end do
80    
81        do j=1, klev
82           do k=1, klev
83              do i=1, ncum
84                 phi1(idcum(i), k, j)=phi(i, k, j)
85              end do
86           end do
87        end do
88    
89      end SUBROUTINE cv3_uncompress
90    
91  end SUBROUTINE cv3_uncompress  end module cv3_uncompress_m

Legend:
Removed from v.47  
changed lines
  Added in v.134

  ViewVC Help
Powered by ViewVC 1.1.21