c====================== include file "comm_kpp.h" ======================= c c rules for parameter constants c c use prefix of "c" for whole real numbers (ie: c57 for 57.0) c use "m" after prefix to designate negative values (minus sign) c (ie: cm7 for -7.0) c use prefix of "p" for non repeating fractions (ie: p5 for 0.5) c use prefix of "r" for reciprocals (ie: r3 for 1/3.0) c combine use of prefix above and "e" for scientific notation, with c (ie: c5e4 for 5.0e4, c1em10 for 1.0e-10) c c---- explicitly type, for inclusion in files c---- which use implicit none real c0, c1, c2, c4, c5, c8 real c16, c360 real p25, p5, p75 real epsln real c24, c60, c1440 real r24, r60, r1440 real secday real c1p5, c3, c35 real c10, c100, c1000 real c10000 real r3, r10, r100 real r1000, r10000 c---- end of explicit typing parameter (c0=0.0, c1=1.0, c2=2.0, c4=4.0, c5=5.0, c8=8.0) parameter (c16=16.0, c360=360.0) parameter (p25=0.25, p5=0.5, p75=0.75) parameter (epsln=1.0e-20) c parameter (c24=24.0, c60=60.0, c1440=1440.0) parameter (r24=c1/c24, r60=c1/c60, r1440=c1/c1440) parameter (secday=c1/(c60*c1440)) c c parameter (c1p5 = 1.5 , c3 = 3. , c35 = 35. ) parameter (c10 = 10. , c100 = 100. , c1000 = 1000. ) parameter (c10000 = 10000. ) parameter (r3 = c1/c3 , r10 = c1/c10 , r100 = r10/c10) parameter (r1000 = c1/c1000, r10000 = r10*r1000) c c c----------------------------------------------------------------------- c Define various parameters and common blocks for kmix vertical- c mixing scheme; used in "kmixs.F" subroutines c----------------------------------------------------------------------- c c c----------------------------------------------------------------------- c parameters for several subroutines c c c epsl = epsln in "pconst.h" (set in "kmixinit") = 1.0e-20 c epsilon = nondimensional extent of the surface layer = 0.1 c vonk = von Karman's constant = 0.4 c conc1,conam,concm,conc2,zetam,conas,concs,conc3,zetas c = scalar coefficients c----------------------------------------------------------------------- common /kmixcom/ epsl,epsilon,vonk, $ conc1, $ conam,concm,conc2,zetam, $ conas,concs,conc3,zetas c c c----------------------------------------------------------------------- c parameters for subroutine "bldepth" c c c to compute depth of boundary layer: c c Ricr = critical bulk Richardson Number = 0.3 c cekman = coefficient for ekman depth = 0.7 c cmonob = coefficient for Monin-Obukhov depth = 1.0 c concv = ratio of interior buoyancy frequency to c buoyancy frequency at entrainment depth = 1.8 c hbf = fraction of bounadry layer depth to c which absorbed solar radiation c contributes to surface buoyancy forcing = 1.0 c Vtc = non-dimensional coefficient for velocity c scale of turbulant velocity shear c (=function of concv,concs,epsilon,vonk,Ricr) c----------------------------------------------------------------------- c common /kmixcbd/ Ricr,cekman,cmonob,concv,hbf,Vtc c c c----------------------------------------------------------------------- c parameters and common arrays for subroutines "kmixinit" c and "wscale" c c c to compute turbulent velocity scales: c c nni = number of values for zehat in the look up table c nnj = number of values for ustar in the look up table c c wmt = lookup table for wm, the turbulent velocity scale c for momentum c wst = lookup table for ws, the turbulent velocity scale c for scalars c deltaz = delta zehat in table c deltau = delta ustar in table c zmin = minimum limit for zehat in table (m3/s3) c zmax = maximum limit for zehat in table c umin = minimum limit for ustar in table (m/s) c umax = maximum limit for ustar in table c----------------------------------------------------------------------- c parameter (nni = 890, nnj = 480) c common /kmixcws/ wmt(0:nni+1,0:nnj+1),wst(0:nni+1,0:nnj+1), $ deltaz,deltau,zmin,zmax,umin,umax c c c----------------------------------------------------------------------- c parameters for subroutine "ri_iwmix" c c c to compute vertical mixing coefficients below boundary layer: c c Riinfty = local Richardson Number limit c for shear instability = 0.7 c (note: the vertical mixing coefficients are defined c in (m2/s) units in "kmixinit". they are initialized c in "kmixbdta" and read via namelist "eddy" in (cm2/s) c units using their c-g-s names) c (m2/s) (cm2/s) c difm0 = viscosity max due to shear instability = vvcric c difs0 = diffusivity .. = vdcric c difmiw = viscosity background due to internal waves = fkpm c difsiw = diffusivity .. = fkph c difmcon = viscosity due to convective instability = vvclim c difscon = diffusivity .. = vdclim c----------------------------------------------------------------------- common /kmixcri/ Riinfty,BVSQcon, num_v_smooth_Ri $, difm0,difs0,difmiw,difsiw,difmcon,difscon c c c----------------------------------------------------------------------- c parameters for subroutine "blmix" c c c to compute mixing within boundary layer: c c cstar = proportionality coefficient for nonlocal transport c cg = non-dimensional coefficient for counter-gradient term c----------------------------------------------------------------------- c common /kmixcbm/ cstar,cg common /cvmix1/ fkph, fkpm, vvclim, vdclim,vvcric,vdcric common /scalri/jwatertype