!nonmodule routines

subroutine allocate_arrays  3,2
use kvar; use kcnst
nf=nu+1
!include '../inc/allocate.inc' 


allocate( &
qr(nu),qv(nu),rc(nu),ccn(nu),th(nu),u(nu),v(nu),&
ug(nu),nc(nu),vg(nu),smoke(nu),nr(nu),qc(nu),&
thetal(nu),qtot(nu),rdmf(nu),thetav(nu),debugu1(nu),&
debugu2(nu),debugu3(nu),rh(nu),zu(nu),ke(nu),&
divu(nu),droprad(nu),tm(nu),mu(nu),radrate(nu),&
dzf(nu),rdzf(nu),dmudt(nu),rho(nu),dmf(nu),&
massvelu(nu),dmfold(nu))


allocate( &
qrA(nu,2),qvA(nu,2),rcA(nu,2),ccnA(nu,2),thA(nu,2),&
uA(nu,2),vA(nu,2),ugA(nu,2),ncA(nu,2),vgA(nu,2),&
smokeA(nu,2),nrA(nu,2),qcA(nu,2))



thetal=0
qr=0
qv=0
qtot=0
rdmf=0
thetav=0
debugu1=0
debugu2=0
debugu3=0
rc=0

rh=0
zu=0
ke=0
divu=0
droprad=0
ccn=0
th=0
tm=0
u=0
v=0
ug=0
mu=0
radrate=0
dzf=0
nc=0
vg=0
smoke=0
nr=0
rdzf=0
dmudt=0
rho=0
dmf=0
massvelu=0
qc=0
dmfold=0

allocate( &
dqrdt(nu),dqvdt(nu),drcdt(nu),dccndt(nu),dthdt(nu),&
dudt(nu),dvdt(nu),dugdt(nu),dncdt(nu),dvgdt(nu),&
dsmokedt(nu),dnrdt(nu),dqcdt(nu))


dqrdt=0
dqvdt=0
drcdt=0
dccndt=0
dthdt=0
dudt=0
dvdt=0
dugdt=0
dncdt=0
dvgdt=0
dsmokedt=0
dnrdt=0
dqcdt=0

allocate( &
fqr(nf),fqv(nf),frc(nf),fccn(nf),fth(nf),&
fu(nf),fv(nf),fug(nf),fnc(nf),fvg(nf),&
fsmoke(nf),fnr(nf),fqc(nf))


fqr=0
fqv=0
frc=0
fccn=0
fth=0
fu=0
fv=0
fug=0
fnc=0
fvg=0
fsmoke=0
fnr=0
fqc=0

allocate( &
qr_sed(nu),qv_sed(nu),rc_sed(nu),ccn_sed(nu),nc_sed(nu),&
smoke_sed(nu),nr_sed(nu),qc_sed(nu))


qr_sed=0
qv_sed=0
rc_sed=0
ccn_sed=0
nc_sed=0
smoke_sed=0
nr_sed=0
qc_sed=0

allocate( &
tke(nf),&
rdmu(nf),debugf1(nf),debugf2(nf),debugf3(nf),zf(nf),&
divf(nf),kh(nf),km(nf),zfnext(nf),lengthmix(nf),&
cloudfrac(nf),mf(nf),dsdz(nf),buoyfluxdry(nf),dzu(nf),&
bruntdry(nf),buoyfluxwet(nf),bruntwet(nf),buoyflux(nf),exner(nf),&
rdzu(nf),lengthdiss(nf),pres(nf),dzfdt(nf),massvelf(nf),&
dmu(nf),brunt(nf),kzero(nf),dmfdt(nf),zfdef(nf),&
radflux(nf))

allocate( &
tkeA(nf,2))


rdmu=0
debugf1=0
debugf2=0
debugf3=0
zf=0
divf=0
kh=0
km=0
zfnext=0
lengthmix=0
 cloudfrac=0
mf=0
dsdz=0
buoyfluxdry=0
dzu=0
bruntdry=0
tke=0
buoyfluxwet=0
bruntwet=0
buoyflux=0
exner=0
rdzu=0
lengthdiss=0
pres=0
dzfdt=0
massvelf=0
dmu=0
brunt=0
kzero=0
dmfdt=0
zfdef=0
radflux=0

allocate( &
dtkedt(nf))


dtkedt=0

allocate( &
ftke(nu))


ftke=0


return 
end subroutine allocate_arrays