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(nloc,len,ncum,nd,idcum & |
8 |
|
,iflag & |
9 |
|
,precip,cbmf & |
10 |
|
,ft,fq,fu,fv & |
11 |
|
,Ma,qcondc & |
12 |
|
,iflag1 & |
13 |
|
,precip1,cbmf1 & |
14 |
|
,ft1,fq1,fu1,fv1 & |
15 |
|
,Ma1,qcondc1 & |
16 |
|
) |
17 |
|
use cvparam |
18 |
|
|
19 |
|
! inputs: |
20 |
|
integer, intent(in):: len, ncum, nd, nloc |
21 |
|
integer idcum(nloc) |
22 |
|
integer iflag(nloc) |
23 |
|
real precip(nloc), cbmf(nloc) |
24 |
|
real ft(nloc,nd), fq(nloc,nd), fu(nloc,nd), fv(nloc,nd) |
25 |
|
real Ma(nloc,nd) |
26 |
|
real qcondc(nloc,nd) !cld |
27 |
|
|
28 |
|
! outputs: |
29 |
|
integer iflag1(len) |
30 |
|
real precip1(len), cbmf1(len) |
31 |
|
real ft1(len,nd), fq1(len,nd), fu1(len,nd), fv1(len,nd) |
32 |
|
real Ma1(len,nd) |
33 |
|
real qcondc1(len,nd) !cld |
34 |
|
|
35 |
|
! local variables: |
36 |
|
integer i,k |
37 |
|
|
38 |
|
do i=1,ncum |
39 |
|
precip1(idcum(i))=precip(i) |
40 |
|
cbmf1(idcum(i))=cbmf(i) |
41 |
|
iflag1(idcum(i))=iflag(i) |
42 |
|
end do |
43 |
|
|
44 |
|
do k=1,nl |
45 |
|
do i=1,ncum |
46 |
|
ft1(idcum(i),k)=ft(i,k) |
47 |
|
fq1(idcum(i),k)=fq(i,k) |
48 |
|
fu1(idcum(i),k)=fu(i,k) |
49 |
|
fv1(idcum(i),k)=fv(i,k) |
50 |
|
Ma1(idcum(i),k)=Ma(i,k) |
51 |
|
qcondc1(idcum(i),k)=qcondc(i,k) |
52 |
|
end do |
53 |
|
end do |
54 |
|
|
55 |
|
end SUBROUTINE cv_uncompress |
56 |
|
|
57 |
|
end module cv_uncompress_m |