4 SUBROUTINE cv_driver(len,nd,ndp1,ntra,iflag_con,
5 & t1,q1,qs1,u1,v1,tra1,
6 & p1,ph1,iflag1,ft1,fq1,fu1,fv1,ftra1,
10 & delt,ma1,upwd1,dnwd1,dnwd01,qcondc1,wd1,cape1,
11 & da1,phi1,mp1,phi21,d1a1,dam1,sij1,clw1,elij1,
12 & evap1,ep1,epmlmmm1,eplamm1,
13 & wdtraina1,wdtrainm1)
107 real tra1(len,nd,ntra)
117 real ftra1(len,nd,ntra)
122 real vprecip1(len,nd+1)
135 real wdtraina1(len,nd), wdtrainm1(len,nd)
136 real sij1(len,nd,nd),elij1(len,nd,nd)
137 real da1(len,nd),phi1(len,nd,nd),mp1(len,nd)
139 real phi21(len,nd,nd)
140 real d1a1(len,nd), dam1(len,nd)
141 real epmlmmm1(len,nd,nd),eplamm1(len,nd)
294 integer iflag(nloc),nk(nloc),icb(nloc)
295 integer nent(nloc,
klev)
297 integer inb(nloc), inbis(nloc)
299 real cbmf(nloc),plcl(nloc),tnk(nloc),qnk(nloc),gznk(nloc)
306 real pbase(nloc), buoybase(nloc), th(nloc,
klev)
322 real tps(nloc,
klev), qprime(nloc), tprime(nloc)
324 real vprecip(nloc,
klev+1)
325 real tra(nloc,
klev,ntra), trap(nloc,
klev,ntra)
327 real qcondc(nloc,
klev)
335 real wdtraina(nloc,
klev),wdtrainm(nloc,
klev)
343 print *,
'-> cv_driver'
402 sig1(il,nd)=sig1(il,nd)+1.
403 sig1(il,nd)=amin1(sig1(il,nd),12.1)
432 o ,lv1,cpn1,tv1,gz1,h1,hm1,th1)
437 o ,lv1,cpn1,tv1,gz1,h1,hm1)
445 CALL
cv30_feed(len,nd,t1,q1,qs1,p1,ph1,hm1,gz1
446 o ,nk1,icb1,icbmax,iflag1,tnk1,qnk1,gznk1,plcl1)
450 CALL
cv_feed(len,nd,t1,q1,qs1,p1,hm1,gz1
451 o ,nk1,icb1,icbmax,iflag1,tnk1,qnk1,gznk1,plcl1)
463 o ,tp1,tvp1,clw1,icbs1)
467 CALL
cv_undilute1(len,nd,t1,q1,qs1,gz1,p1,nk1,icb1,icbmax
477 o ,pbase1,buoybase1,iflag1,sig1,w01)
481 CALL
cv_trigger(len,nd,icb1,cbmf1,tv1,tvp1,iflag1)
490 if(iflag1(
i).eq.0)
then
496 print*,
'cv_driver : klon, ncum = ',len,ncum
507 : ,iflag1,nk1,icb1,icbs1
508 : ,plcl1,tnk1,qnk1,gznk1,pbase1,buoybase1
509 : ,t1,q1,qs1,u1,v1,gz1,th1
511 : ,h1,lv1,cpn1,p1,ph1,tv1,tp1,tvp1,clw1
514 o ,plcl,tnk,qnk,gznk,pbase,buoybase
517 o ,h,lv,cpn,p,ph,tv,tp,tvp,clw
524 : ,cbmf1,plcl1,tnk1,qnk1,gznk1
525 : ,t1,q1,qs1,u1,v1,gz1
526 : ,h1,lv1,cpn1,p1,ph1,tv1,tp1,tvp1,clw1
528 o ,cbmf,plcl,tnk,qnk,gznk
529 o ,t,
q,qs,
u,
v,gz,h,lv,cpn,p,ph,tv,tp,tvp,clw
545 : ,tnk,qnk,gznk,t,
q,qs,gz
546 : ,p,h,tv,lv,pbase,buoybase,plcl
547 o ,inb,tp,tvp,clw,hp,ep,sigp,buoy)
552 : ,tnk,qnk,gznk,t,
q,qs,gz
554 o ,inb,inbis,tp,tvp,clw,hp,ep,sigp,
frac)
563 : ,pbase,p,ph,tv,buoy
569 : ,tv,tvp,p,ph,dph,plcl,cpn
579 : ,ph,t,
q,qs,
u,
v,tra,h,lv,qnk
580 : ,hp,tv,tvp,ep,clw,
m,sig
581 o ,ment,qent,uent,vent,sij,elij,ments,qents,traent)
585 CALL
cv_mixing(nloc,ncum,nd,icb,nk,inb,inbis
586 : ,ph,t,
q,qs,
u,
v,h,lv,qnk
587 : ,hp,tv,tvp,ep,clw,cbmf
588 o ,
m,ment,qent,uent,vent,nent,sij,elij)
598 : ,t,
q,qs,gz,
u,
v,tra,p,ph
599 : ,th,tv,lv,cpn,ep,sigp,clw
600 : ,
m,ment,elij,delt,plcl
601 : ,mp,qp,up,vp,trap,wt,water,evap,b
602 o ,wdtraina,wdtrainm)
607 CALL
cv_unsat(nloc,ncum,nd,inb,t,
q,qs,gz,
u,
v,p,ph
608 : ,h,lv,ep,sigp,clw,
m,ment,elij
609 o ,iflag,mp,qp,up,vp,wt,water,evap)
621 : ,t,
q,
u,
v,tra,gz,p,ph,h,hp,lv,cpn,th
622 : ,ep,clw,
m,tp,mp,qp,up,vp,trap
624 : ,ment,qent,uent,vent,nent,elij,traent,sig
626 o ,iflag,precip,vprecip,ft,fq,fu,fv,ftra
627 o ,upwd,dnwd,dnwd0,ma,mike,tls,tps,qcondc,wd)
631 CALL
cv_yield(nloc,ncum,nd,nk,icb,inb,delt
632 : ,t,
q,
u,
v,gz,p,ph,h,hp,lv,cpn
633 : ,ep,clw,
frac,
m,mp,qp,up,vp
635 : ,ment,qent,uent,vent,nent,elij
637 o ,iflag,wd,qprime,tprime
638 o ,precip,cbmf,ft,fq,fu,fv,ma,qcondc)
648 : ment,sij,da,phi,phi2,d1a,dam,
649 : ep,vprecip,elij,clw,epmlmmm,eplamm,
665 : ,precip,vprecip,evap,ep,sig,w0
668 : ,ma,upwd,dnwd,dnwd0,qcondc,wd,cape
669 : ,da,phi,mp,phi2,d1a,dam,sij
670 : ,elij,clw,epmlmmm,eplamm
673 o ,precip1,vprecip1,evap1,ep1,sig1,w01
674 o ,ft1,fq1,fu1,fv1,ftra1
676 o ,ma1,upwd1,dnwd1,dnwd01,qcondc1,wd1,cape1
677 o ,da1,phi1,mp1,phi21,d1a1,dam1,sij1
678 o ,elij1,clw1,epmlmmm1,eplamm1
679 o ,wdtraina1,wdtrainm1)
698 print *,
'fin cv_driver ->'
724 #include "cvthermo.h"