SUBROUTINE cv3a_uncompress(nloc,len,ncum,nd,ntra,idcum & & ,iflag,kbas,ktop & & ,precip,cbmf,plcl,plfc,wbeff,sig,w0,ptop2 & & ,ft,fq,fu,fv,ftra & & ,sigd,Ma,mip,Vprecip,upwd,dnwd,dnwd0 & & ,qcondc,wd,cape,cin & & ,tvp & & ,ftd,fqd & & ,Plim1,Plim2,asupmax,supmax0 & & ,asupmaxmin & ! & & ,da,phi,mp,phi2,d1a,dam,sigij & ! RomP+AC+jyg & ,clw,elij,evap,ep,epmlmMm,eplaMm & ! RomP & ,wdtrainA,wdtrainM & ! RomP ! & & ,iflag1,kbas1,ktop1 & & ,precip1,cbmf1,plcl1,plfc1,wbeff1,sig1,w01,ptop21 & & ,ft1,fq1,fu1,fv1,ftra1 & & ,sigd1,Ma1,mip1,Vprecip1,upwd1,dnwd1,dnwd01 & & ,qcondc1,wd1,cape1,cin1 & & ,tvp1 & & ,ftd1,fqd1 & & ,Plim11,Plim21,asupmax1,supmax01 & & ,asupmaxmin1 & ! & & ,da1,phi1,mp1,phi21,d1a1,dam1,sigij1 & ! RomP+AC+jyg & ,clw1,elij1,evap1,ep1,epmlmMm1,eplaMm1 & ! RomP & ,wdtrainA1,wdtrainM1) ! RomP ! !*************************************************************** !* * !* CV3A_UNCOMPRESS * !* * !* * !* written by : Sandrine Bony-Lena , 17/05/2003, 11.22.15 * !* modified by : Jean-Yves Grandpeix, 23/06/2003, 10.36.17 * !*************************************************************** !* implicit none #include "cv3param.h" !c inputs: integer nloc, len, ncum, nd, ntra integer idcum(nloc) integer iflag(nloc),kbas(nloc),ktop(nloc) real precip(nloc),cbmf(nloc),plcl(nloc),plfc(nloc) real wbeff(len) real sig(nloc,nd), w0(nloc,nd),ptop2(nloc) real ft(nloc,nd), fq(nloc,nd), fu(nloc,nd), fv(nloc,nd) real ftra(nloc,nd,ntra) real sigd(nloc) real Ma(nloc,nd),mip(nloc,nd),Vprecip(nloc,nd+1) real upwd(nloc,nd),dnwd(nloc,nd),dnwd0(nloc,nd) real qcondc(nloc,nd) real wd(nloc),cape(nloc),cin(nloc) real tvp(nloc,nd) real ftd(nloc,nd), fqd(nloc,nd) real Plim1(nloc),Plim2(nloc) real asupmax(nloc,nd),supmax0(nloc) real asupmaxmin(nloc) ! real da(nloc,nd),phi(nloc,nd,nd) !AC! real mp(nloc,nd) !RomP real phi2(nloc,nd,nd) !RomP real d1a(nloc,nd),dam(nloc,nd) !RomP real sigij(nloc,nd,nd) !RomP real clw(nloc,nd),elij(nloc,nd,nd) !RomP real evap(nloc,nd),ep(nloc,nd) !RomP real epmlmMm(nloc,nd,nd),eplaMm(nloc,nd) !RomP+jyg real wdtrainA(nloc,nd), wdtrainM(nloc,nd) !RomP ! !c outputs: integer iflag1(len),kbas1(len),ktop1(len) real precip1(len),cbmf1(len),plcl1(nloc),plfc1(nloc) real wbeff1(len) real sig1(len,nd), w01(len,nd),ptop21(len) real ft1(len,nd), fq1(len,nd), fu1(len,nd), fv1(len,nd) real ftra1(len,nd,ntra) real sigd1(len) real Ma1(len,nd),mip1(len,nd),Vprecip1(len,nd+1) real upwd1(len,nd),dnwd1(len,nd),dnwd01(len,nd) real qcondc1(len,nd) real wd1(len),cape1(len),cin1(len) real tvp1(len,nd) real ftd1(len,nd), fqd1(len,nd) real Plim11(len),Plim21(len) real asupmax1(len,nd),supmax01(len) real asupmaxmin1(len) ! real da1(nloc,nd),phi1(nloc,nd,nd) !AC! real mp1(nloc,nd) !RomP real phi21(nloc,nd,nd) !RomP real d1a1(nloc,nd),dam1(nloc,nd) !RomP real sigij1(len,nd,nd) !RomP real clw1(len,nd),elij1(len,nd,nd) !RomP real evap1(len,nd),ep1(len,nd) !RomP real epmlmMm1(len,nd,nd),eplaMm1(len,nd) !RomP+jyg real wdtrainA1(len,nd), wdtrainM1(len,nd) !RomP ! !c !c local variables: integer i,k,j !cc integer k1,k2 do 2000 i=1,ncum ptop21(idcum(i))=ptop2(i) sigd1(idcum(i))=sigd(i) precip1(idcum(i))=precip(i) cbmf1(idcum(i))=cbmf(i) plcl1(idcum(i))=plcl(i) plfc1(idcum(i))=plfc(i) wbeff1(idcum(i))=wbeff(i) iflag1(idcum(i))=iflag(i) kbas1(idcum(i))=kbas(i) ktop1(idcum(i))=ktop(i) wd1(idcum(i))=wd(i) cape1(idcum(i))=cape(i) cin1(idcum(i))=cin(i) Plim11(idcum(i))=Plim1(i) Plim21(idcum(i))=Plim2(i) supmax01(idcum(i))=supmax0(i) asupmaxmin1(idcum(i))=asupmaxmin(i) 2000 continue do 2020 k=1,nd do 2010 i=1,ncum sig1(idcum(i),k)=sig(i,k) w01(idcum(i),k)=w0(i,k) 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) mip1(idcum(i),k)=mip(i,k) Vprecip1(idcum(i),k)=Vprecip(i,k) upwd1(idcum(i),k)=upwd(i,k) dnwd1(idcum(i),k)=dnwd(i,k) dnwd01(idcum(i),k)=dnwd0(i,k) qcondc1(idcum(i),k)=qcondc(i,k) tvp1(idcum(i),k)=tvp(i,k) ftd1(idcum(i),k)=ftd(i,k) fqd1(idcum(i),k)=fqd(i,k) asupmax1(idcum(i),k)=asupmax(i,k) ! da1(idcum(i),k)=da(i,k) !AC! mp1(idcum(i),k) = mp(i,k) !RomP d1a1(idcum(i),k) = d1a(i,k) !RomP dam1(idcum(i),k) = dam(i,k) !RomP clw1(idcum(i),k) = clw(i,k) !RomP evap1(idcum(i),k) = evap(i,k) !RomP ep1(idcum(i),k) = ep(i,k) !RomP eplaMm(idcum(i),k) = eplaMm(i,k) !RomP+jyg wdtrainA1(idcum(i),k)= wdtrainA(i,k) !RomP wdtrainM1(idcum(i),k)= wdtrainM(i,k) !RomP ! 2010 continue 2020 continue do 2040 i=1,ncum sig1(idcum(i),nd)=sig(i,nd) 2040 continue !AC! do 2100 j=1,ntra !AC!c oct3 do 2110 k=1,nl !AC! do 2110 k=1,nd ! oct3 !AC! do 2120 i=1,ncum !AC! ftra1(idcum(i),k,j)=ftra(i,k,j) !AC! 2120 continue !AC! 2110 continue !AC! 2100 continue !AC! do j=1,nd do k=1,nd do i=1,ncum phi1(idcum(i),k,j) = phi(i,k,j) !AC! phi21(idcum(i),k,j) = phi2(i,k,j) !RomP sigij1(idcum(i),k,j) = sigij(i,k,j) !RomP elij1(idcum(i),k,j) = elij(i,k,j) !RomP epmlmMm(idcum(i),k,j)= epmlmMm(i,k,j) !RomP+jyg end do end do end do !AC! !c !c do 2220 k2=1,nd !c do 2210 k1=1,nd !c do 2200 i=1,ncum !c ment1(idcum(i),k1,k2) = ment(i,k1,k2) !c sigij1(idcum(i),k1,k2) = sigij(i,k1,k2) !c2200 enddo !c2210 enddo !c2220 enddo RETURN END