22 & ACV,ACVB,ACVT,CV,CVB,CVT,errmsg,errflg)
28 real(kind=kind_phys),
intent(in) :: clstp
29 integer,
intent(in) :: im, km
30 real(kind=kind_phys),
intent(in) :: rn(:)
31 integer,
intent(in) :: KBOT(:)
32 integer,
intent(in) :: KTOP(:)
33 real(kind=kind_phys),
intent(in) :: prsi(:,:)
34 real(kind=kind_phys),
intent(inout) :: acv(:)
35 real(kind=kind_phys),
intent(inout) :: acvb(:)
36 real(kind=kind_phys),
intent(inout) :: acvt(:)
37 real(kind=kind_phys),
intent(inout) :: cv(:)
38 real(kind=kind_phys),
intent(inout) :: cvb(:)
39 real(kind=kind_phys),
intent(inout) :: cvt(:)
41 character(len=*),
intent(out) :: errmsg
42 integer,
intent(out) :: errflg
45 integer :: i,ibot,itop,lc,lz,n,ncc
46 real(kind=kind_phys) :: ah,cc1,cc2,cvb0,p1,p2,rkbot,rktop,val
48 real(kind=kind_phys) :: pmd(im)
50 real (kind=kind_phys),
parameter :: cons_100=100.0
51 real(kind=kind_phys) :: r_kbot_i, r_ktop_i
54 real(kind=kind_phys) :: cc(ncc),p(ncc)
55 DATA cc/0.,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8/
56 DATA p/.14,.31,.70,1.6,3.4,7.7,17.,38.,85./
65 IF(clstp.GE.1000.) lz=1
66 IF(clstp.GE.1100..OR.(clstp.LT.1000..AND.clstp.GE.100.)) lc=1
67 ah=mod(clstp,cons_100)
80 acvb(i) = min(acvb(i),r_kbot_i)
82 acvt(i) = max(acvt(i),r_ktop_i)
86 IF(ah.GT.0.01.AND.ah.LT.99.99)
THEN
93 cvt(i) = prsi(i,itop+1)
101 pmd(i) = acv(i)*(24.e+3/ah)
106 IF(pmd(i).GT.p(n)) nmd(i) = n
115 ELSEIF(nmd(i).EQ.ncc)
THEN
122 cv(i) = cc1 + (cc2-cc1)*(pmd(i)-p1)/(p2-p1)
subroutine cnvc90_run(clstp, im, rn, kbot, ktop, km, prsi, acv, acvb, acvt, cv, cvb, cvt, errmsg, errflg)