/[lmdze]/trunk/phylmd/CV_routines/cv_uncompress.f
ViewVC logotype

Diff of /trunk/phylmd/CV_routines/cv_uncompress.f

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

trunk/libf/phylmd/CV_routines/cv_uncompress.f90 revision 52 by guez, Fri Sep 23 12:28:01 2011 UTC trunk/phylmd/CV_routines/cv_uncompress.f revision 103 by guez, Fri Aug 29 13:00:05 2014 UTC
# Line 1  Line 1 
1    module cv_uncompress_m
2    
3        SUBROUTINE cv_uncompress(nloc,len,ncum,nd,idcum &    implicit none
                ,iflag &  
                ,precip,cbmf &  
                ,ft,fq,fu,fv &  
                ,Ma,qcondc             &  
                ,iflag1 &  
                ,precip1,cbmf1 &  
                ,ft1,fq1,fu1,fv1 &  
                ,Ma1,qcondc1             &  
                                      )  
             use cvparam  
       implicit none  
   
   
 ! inputs:  
       integer len, ncum, nd, nloc  
       integer idcum(nloc)  
       integer iflag(nloc)  
       real precip(nloc), cbmf(nloc)  
       real ft(nloc,nd), fq(nloc,nd), fu(nloc,nd), fv(nloc,nd)  
       real Ma(nloc,nd)  
       real qcondc(nloc,nd) !cld  
   
 ! outputs:  
       integer iflag1(len)  
       real precip1(len), cbmf1(len)  
       real ft1(len,nd), fq1(len,nd), fu1(len,nd), fv1(len,nd)  
       real Ma1(len,nd)  
       real qcondc1(len,nd) !cld  
   
 ! local variables:  
       integer i,k  
   
         do 2000 i=1,ncum  
          precip1(idcum(i))=precip(i)  
          cbmf1(idcum(i))=cbmf(i)  
          iflag1(idcum(i))=iflag(i)  
  2000   continue  
   
         do 2020 k=1,nl  
           do 2010 i=1,ncum  
             ft1(idcum(i),k)=ft(i,k)  
             fq1(idcum(i),k)=fq(i,k)  
             fu1(idcum(i),k)=fu(i,k)  
             fv1(idcum(i),k)=fv(i,k)  
             Ma1(idcum(i),k)=Ma(i,k)  
             qcondc1(idcum(i),k)=qcondc(i,k)  
  2010     continue  
  2020   continue  
4    
5          return  contains
6          end  
7      SUBROUTINE cv_uncompress(idcum, iflag, precip, cbmf, ft, fq, fu, fv, Ma, &
8           qcondc, iflag1, precip1, cbmf1, ft1, fq1, fu1, fv1, Ma1, qcondc1)
9    
10        use cv_param, ONLY: nl
11        USE dimphy, ONLY: klev, klon
12    
13        integer, intent(in):: idcum(:) ! (ncum)
14        integer, intent(in):: iflag(klon)
15        real, intent(in):: precip(klon), cbmf(klon)
16        real, intent(in):: ft(klon, klev), fq(klon, klev), fu(klon, klev)
17        real, intent(in):: fv(klon, klev)
18        real, intent(in):: Ma(klon, klev)
19        real, intent(in):: qcondc(klon, klev) !cld
20    
21        integer, intent(inout):: iflag1(klon)
22        real, intent(inout):: precip1(klon), cbmf1(klon)
23        real, intent(inout), dimension(klon, klev):: ft1, fq1, fu1, fv1
24        real, intent(inout):: Ma1(klon, klev)
25        real, intent(inout):: qcondc1(klon, klev) !cld
26    
27        ! Local:
28        integer ncum, i, k
29    
30        !------------------------------------------------------------------
31    
32        ncum = size(idcum)
33    
34        do i=1, ncum
35           precip1(idcum(i))=precip(i)
36           cbmf1(idcum(i))=cbmf(i)
37           iflag1(idcum(i))=iflag(i)
38        end do
39    
40        do k=1, nl
41           do i=1, ncum
42              ft1(idcum(i), k)=ft(i, k)
43              fq1(idcum(i), k)=fq(i, k)
44              fu1(idcum(i), k)=fu(i, k)
45              fv1(idcum(i), k)=fv(i, k)
46              Ma1(idcum(i), k)=Ma(i, k)
47              qcondc1(idcum(i), k)=qcondc(i, k)
48           end do
49        end do
50    
51      end SUBROUTINE cv_uncompress
52    
53    end module cv_uncompress_m

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

  ViewVC Help
Powered by ViewVC 1.1.21