module param
use types,only:rprec
implicit none
private rprec
public
integer,parameter:: nx=64,ny=32,nz=64
integer,parameter:: nx2=3*nx/2,ny2=3*ny/2
real(kind=rprec),parameter::L_x=2._rprec,L_y=1._rprec
real(kind=rprec),parameter::z_i=1000._rprec,L_z=1000._rprec
real(kind=rprec),parameter::pi=3.1415926535897932384626433
! set the aspect ratio of the box, already nondimensional
real(kind=rprec),parameter::dz=L_z/z_i/(nz-1)
real(kind=rprec),parameter::dx=L_x/nx,dy=L_y/ny
integer,parameter::nsteps=40
real(kind=rprec),parameter::dt=.0001_rprec
real(kind=rprec),parameter::u_star=.45_rprec,Pr=.4_rprec
real(kind=rprec),parameter::vonk=.4_rprec,wt_s=.06_rprec
integer,parameter::lh=nx/2+1,ld=2*lh,lh_big=nx2/2+1,ld_big=2*lh_big
integer,parameter::c_count=20,p_count=1000,cs_count=5
logical,parameter::output=.true.
logical,parameter::initu=.false.,initsc=.false.
! nu_molec is dimensional m^2/s
real(kind=rprec),parameter::nu_molec=.01_rprec,z_plus_lim=5._rprec
logical,parameter::interp=.false.
logical,parameter::use_bldg=.FALSE.
logical,parameter::molec=.false.,sgs=.true.,dns_bc=.false.
! S_FLAG=1 for Theta and q, =0 for no scalars
logical,parameter::S_FLAG=.false.
!Model type: 1->Smagorinsky; 2->Dynamic; 3->Scale dependent
!            4->Lagrangian scale-sim   5-> Lagragian scale-dep
!Models type: 1->static prandtl, 2->Dynamic
!Cs is the Smagorinsky Constant
!Co and nnn are used in the mason model for smagorisky coeff
integer,parameter::model=4,models=1,nnn=2
real(kind=rprec),parameter::Co=0.16_rprec
real(kind=rprec),parameter::cs=0.2_rprec
!Test filter type: 1->cut off 2->Gaussian 3->Top-hat
integer,parameter::ifilter=1
! ubc: upper boundary condition: ubc=0 stress free lid, ubc=1 sponge
! lbc=0: prescribed surface temperature, lbc=1 prescribed surface flux 
! (0.06 Km/s)
integer,parameter::ubc=0,lbc=1
!TS ADD uniform inflow
!TS jx_s:bufferzone starting point,x_relax:buffer zone length
logical,parameter::inflow=.FALSE.
integer,parameter::jx_s=8,x_relax=4
real(kind=rprec),parameter::face_avg=20._rprec
end module param
