[879] | 1 | SUBROUTINE cv3a_uncompress(nloc,len,ncum,nd,ntra,idcum |
---|
| 2 | : ,iflag,kbas,ktop |
---|
[1518] | 3 | : ,precip,cbmf,plcl,plfc,wbeff,sig,w0,ptop2 |
---|
[879] | 4 | : ,ft,fq,fu,fv,ftra |
---|
[1518] | 5 | : ,sigd,Ma,mip,Vprecip,upwd,dnwd,dnwd0 |
---|
[879] | 6 | : ,qcondc,wd,cape,cin |
---|
| 7 | : ,tvp |
---|
| 8 | : ,ftd,fqd |
---|
| 9 | : ,Plim1,Plim2,asupmax,supmax0 |
---|
| 10 | : ,asupmaxmin |
---|
[1742] | 11 | ! |
---|
| 12 | : ,da,phi !AC! |
---|
| 13 | : ,mp,phi2,d1a,dam,sigij !RomP |
---|
| 14 | : ,wdtrainA,wdtrainM,elij,clw !RomP |
---|
| 15 | : ,evap,ep !RomP |
---|
| 16 | ! |
---|
[879] | 17 | o ,iflag1,kbas1,ktop1 |
---|
[1518] | 18 | : ,precip1,cbmf1,plcl1,plfc1,wbeff1,sig1,w01,ptop21 |
---|
[879] | 19 | : ,ft1,fq1,fu1,fv1,ftra1 |
---|
[1518] | 20 | : ,sigd1,Ma1,mip1,Vprecip1,upwd1,dnwd1,dnwd01 |
---|
[879] | 21 | : ,qcondc1,wd1,cape1,cin1 |
---|
| 22 | : ,tvp1 |
---|
| 23 | : ,ftd1,fqd1 |
---|
| 24 | : ,Plim11,Plim21,asupmax1,supmax01 |
---|
[1650] | 25 | : ,asupmaxmin1 |
---|
[1742] | 26 | ! |
---|
| 27 | o ,da1,phi1 !AC! |
---|
| 28 | o ,mp1,phi21,d1a1,dam1,sigij1 !RomP |
---|
| 29 | o ,wdtrainA1,wdtrainM1,elij1,clw1 !RomP |
---|
| 30 | o ,evap1,ep1) !RomP |
---|
| 31 | ! |
---|
[879] | 32 | *************************************************************** |
---|
| 33 | * * |
---|
| 34 | * CV3A_UNCOMPRESS * |
---|
| 35 | * * |
---|
| 36 | * * |
---|
| 37 | * written by : Sandrine Bony-Lena , 17/05/2003, 11.22.15 * |
---|
| 38 | * modified by : Jean-Yves Grandpeix, 23/06/2003, 10.36.17 * |
---|
| 39 | *************************************************************** |
---|
| 40 | * |
---|
| 41 | implicit none |
---|
| 42 | |
---|
| 43 | #include "cv3param.h" |
---|
| 44 | |
---|
| 45 | c inputs: |
---|
| 46 | integer nloc, len, ncum, nd, ntra |
---|
| 47 | integer idcum(nloc) |
---|
| 48 | integer iflag(nloc),kbas(nloc),ktop(nloc) |
---|
[1518] | 49 | real precip(nloc),cbmf(nloc),plcl(nloc),plfc(nloc) |
---|
| 50 | real wbeff(len) |
---|
[879] | 51 | real sig(nloc,nd), w0(nloc,nd),ptop2(nloc) |
---|
| 52 | real ft(nloc,nd), fq(nloc,nd), fu(nloc,nd), fv(nloc,nd) |
---|
| 53 | real ftra(nloc,nd,ntra) |
---|
[1518] | 54 | real sigd(nloc) |
---|
[1334] | 55 | real Ma(nloc,nd),mip(nloc,nd),Vprecip(nloc,nd+1) |
---|
[879] | 56 | real upwd(nloc,nd),dnwd(nloc,nd),dnwd0(nloc,nd) |
---|
| 57 | real qcondc(nloc,nd) |
---|
| 58 | real wd(nloc),cape(nloc),cin(nloc) |
---|
| 59 | real tvp(nloc,nd) |
---|
| 60 | real ftd(nloc,nd), fqd(nloc,nd) |
---|
| 61 | real Plim1(nloc),Plim2(nloc) |
---|
| 62 | real asupmax(nloc,nd),supmax0(nloc) |
---|
| 63 | real asupmaxmin(nloc) |
---|
[1742] | 64 | ! |
---|
| 65 | real da(nloc,nd),phi(nloc,nd,nd) !AC! |
---|
| 66 | real mp(nloc,nd) !RomP |
---|
| 67 | real phi2(nloc,nd,nd) !RomP |
---|
| 68 | real d1a(nloc,nd),dam(nloc,nd) !RomP |
---|
| 69 | real wdtrainA(nloc,nd), wdtrainM(nloc,nd) !RomP |
---|
| 70 | real sigij(nloc,nd,nd) !RomP |
---|
| 71 | real elij(nloc,nd,nd),clw(nloc,nd) !RomP |
---|
| 72 | real evap(nloc,nd),ep(nloc,nd) !RomP |
---|
| 73 | ! |
---|
[879] | 74 | c outputs: |
---|
| 75 | integer iflag1(len),kbas1(len),ktop1(len) |
---|
[1518] | 76 | real precip1(len),cbmf1(len),plcl1(nloc),plfc1(nloc) |
---|
| 77 | real wbeff1(len) |
---|
[879] | 78 | real sig1(len,nd), w01(len,nd),ptop21(len) |
---|
| 79 | real ft1(len,nd), fq1(len,nd), fu1(len,nd), fv1(len,nd) |
---|
| 80 | real ftra1(len,nd,ntra) |
---|
[1518] | 81 | real sigd1(len) |
---|
[1334] | 82 | real Ma1(len,nd),mip1(len,nd),Vprecip1(len,nd+1) |
---|
[879] | 83 | real upwd1(len,nd),dnwd1(len,nd),dnwd01(len,nd) |
---|
| 84 | real qcondc1(len,nd) |
---|
| 85 | real wd1(len),cape1(len),cin1(len) |
---|
| 86 | real tvp1(len,nd) |
---|
| 87 | real ftd1(len,nd), fqd1(len,nd) |
---|
| 88 | real Plim11(len),Plim21(len) |
---|
| 89 | real asupmax1(len,nd),supmax01(len) |
---|
| 90 | real asupmaxmin1(len) |
---|
[1742] | 91 | ! |
---|
| 92 | real da1(nloc,nd),phi1(nloc,nd,nd) !AC! |
---|
| 93 | real mp1(nloc,nd) !RomP |
---|
| 94 | real phi21(nloc,nd,nd) !RomP |
---|
| 95 | real d1a1(nloc,nd),dam1(nloc,nd) !RomP |
---|
| 96 | real wdtrainA1(len,nd), wdtrainM1(len,nd) !RomP |
---|
| 97 | real sigij1(len,nd,nd) !RomP |
---|
| 98 | real elij1(len,nd,nd),clw1(len,nd) !RomP |
---|
| 99 | real evap1(len,nd),ep1(len,nd) !RomP |
---|
| 100 | ! |
---|
[879] | 101 | c |
---|
| 102 | c local variables: |
---|
| 103 | integer i,k,j,k1,k2 |
---|
| 104 | |
---|
| 105 | do 2000 i=1,ncum |
---|
| 106 | ptop21(idcum(i))=ptop2(i) |
---|
[1518] | 107 | sigd1(idcum(i))=sigd(i) |
---|
[879] | 108 | precip1(idcum(i))=precip(i) |
---|
[1398] | 109 | cbmf1(idcum(i))=cbmf(i) |
---|
[1518] | 110 | plcl1(idcum(i))=plcl(i) |
---|
| 111 | plfc1(idcum(i))=plfc(i) |
---|
| 112 | wbeff1(idcum(i))=wbeff(i) |
---|
[879] | 113 | iflag1(idcum(i))=iflag(i) |
---|
| 114 | kbas1(idcum(i))=kbas(i) |
---|
| 115 | ktop1(idcum(i))=ktop(i) |
---|
| 116 | wd1(idcum(i))=wd(i) |
---|
| 117 | cape1(idcum(i))=cape(i) |
---|
| 118 | cin1(idcum(i))=cin(i) |
---|
| 119 | Plim11(idcum(i))=Plim1(i) |
---|
| 120 | Plim21(idcum(i))=Plim2(i) |
---|
| 121 | supmax01(idcum(i))=supmax0(i) |
---|
| 122 | asupmaxmin1(idcum(i))=asupmaxmin(i) |
---|
| 123 | 2000 continue |
---|
| 124 | |
---|
| 125 | do 2020 k=1,nd |
---|
| 126 | do 2010 i=1,ncum |
---|
| 127 | sig1(idcum(i),k)=sig(i,k) |
---|
| 128 | w01(idcum(i),k)=w0(i,k) |
---|
| 129 | ft1(idcum(i),k)=ft(i,k) |
---|
| 130 | fq1(idcum(i),k)=fq(i,k) |
---|
| 131 | fu1(idcum(i),k)=fu(i,k) |
---|
| 132 | fv1(idcum(i),k)=fv(i,k) |
---|
| 133 | Ma1(idcum(i),k)=Ma(i,k) |
---|
| 134 | mip1(idcum(i),k)=mip(i,k) |
---|
| 135 | Vprecip1(idcum(i),k)=Vprecip(i,k) |
---|
| 136 | upwd1(idcum(i),k)=upwd(i,k) |
---|
| 137 | dnwd1(idcum(i),k)=dnwd(i,k) |
---|
| 138 | dnwd01(idcum(i),k)=dnwd0(i,k) |
---|
| 139 | qcondc1(idcum(i),k)=qcondc(i,k) |
---|
| 140 | tvp1(idcum(i),k)=tvp(i,k) |
---|
| 141 | ftd1(idcum(i),k)=ftd(i,k) |
---|
| 142 | fqd1(idcum(i),k)=fqd(i,k) |
---|
| 143 | asupmax1(idcum(i),k)=asupmax(i,k) |
---|
[1742] | 144 | ! |
---|
| 145 | da1(idcum(i),k)=da(i,k) !AC! |
---|
| 146 | mp1(idcum(i),k) = mp(i,k) !RomP |
---|
| 147 | d1a1(idcum(i),k) = d1a(i,k) !RomP |
---|
| 148 | dam1(idcum(i),k) = dam(i,k) !RomP |
---|
| 149 | wdtrainA1(idcum(i),k)= wdtrainA(i,k) !RomP |
---|
| 150 | wdtrainM1(idcum(i),k)= wdtrainM(i,k) !RomP |
---|
| 151 | clw1(idcum(i),k) = clw(i,k) !RomP |
---|
| 152 | evap1(idcum(i),k) = evap(i,k) !RomP |
---|
| 153 | ep1(idcum(i),k) = ep(i,k) !RomP |
---|
| 154 | ! |
---|
[1650] | 155 | 2010 continue |
---|
[879] | 156 | 2020 continue |
---|
| 157 | |
---|
| 158 | do 2040 i=1,ncum |
---|
| 159 | sig1(idcum(i),nd)=sig(i,nd) |
---|
| 160 | 2040 continue |
---|
| 161 | |
---|
| 162 | |
---|
[1650] | 163 | !AC! do 2100 j=1,ntra |
---|
| 164 | !AC!c oct3 do 2110 k=1,nl |
---|
| 165 | !AC! do 2110 k=1,nd ! oct3 |
---|
| 166 | !AC! do 2120 i=1,ncum |
---|
| 167 | !AC! ftra1(idcum(i),k,j)=ftra(i,k,j) |
---|
| 168 | !AC! 2120 continue |
---|
| 169 | !AC! 2110 continue |
---|
| 170 | !AC! 2100 continue |
---|
| 171 | |
---|
| 172 | !AC! |
---|
[1745] | 173 | do k2=1,nd |
---|
| 174 | do k1=1,nd |
---|
[1650] | 175 | do i=1,ncum |
---|
[1745] | 176 | phi1(idcum(i),k1,k2)=phi(i,k1,k2) !AC! |
---|
[1742] | 177 | phi21(idcum(i),k1,k2)= phi2(idcum(i),k1,k2) !RomP |
---|
| 178 | sigij1(idcum(i),k1,k2) = sigij(idcum(i),k1,k2) !RomP |
---|
| 179 | elij1(idcum(i),k1,k2)= elij(idcum(i),k1,k2) !RomP |
---|
[1650] | 180 | end do |
---|
| 181 | end do |
---|
| 182 | end do |
---|
| 183 | !AC! |
---|
| 184 | |
---|
[879] | 185 | c |
---|
| 186 | c do 2220 k2=1,nd |
---|
| 187 | c do 2210 k1=1,nd |
---|
| 188 | c do 2200 i=1,ncum |
---|
| 189 | c ment1(idcum(i),k1,k2) = ment(i,k1,k2) |
---|
[1742] | 190 | c sigij1(idcum(i),k1,k2) = sigij(i,k1,k2) |
---|
[879] | 191 | c2200 enddo |
---|
| 192 | c2210 enddo |
---|
| 193 | c2220 enddo |
---|
| 194 | |
---|
| 195 | RETURN |
---|
| 196 | END |
---|
| 197 | |
---|