The file qtcmpar.f90 (in src) contains the
value of various physical parameters used by the model. The program
that generates many of these parameters, par.f90, is provided
but is not easy to use, since some parameters have subtle physical and
numerical properties. We don't recommend modifying most parameters unless
you are quite familiar with the model.
Below is a brief description of some of the categories of variables described in qtcmpar.f90:
a1hat, a1s, V1s,
b1hat, bb1hat and b1s help describe the
temperature and humidity profiles.GMsr, GMsp, GMqr,
GMqp, GMs0r, and GMq0r help
describe the gross moist stability.eps_c is used in our version of the
Betts-Miller [17, 18, 19]
convective parameterization.CV0 is related to the neutral drag coefficient. See
subroutine sflux in qtcm.f90 for more details.eps_0, eps_10,
eps_01, and eps_1 are related to momentum damping.
These parameters are obsolete.Tsref is the reference surface temperature.Cpg converts heat flux into column heating rate.Trefs, qrefs, Tcrefs, qcrefs,
Trefhat, qrefhat, Tcrefhat, and qcrefhat
are related to the reference atmospheric profile.Vijk, Vwijk, DTijk, and Dqijk
are coefficients for advection of momentum, temperature
and moisture.
Module Qtcmpar
!
! QTCM mode parameter, generated by par.F90
!
Integer, Parameter :: &
& nvmod = 2 & ! no. v-modes
& , nTmod = 1 & ! no. T-modes
& , nz = 10 ! vertical z-resolution for topography
REAL, Parameter :: &
& a1hat = 0.45934841 & ! hat{a_1} [-] NZ (3.2)
& , a1phat = 0.24520899 & ! hat{a_1^+} [-] NZ (2.16), (3.9)
& , a1phatb = 0.15463794E-01 & ! average of a_1^+ over subcloud layer [-]
& , a1s = 0.30203986 & ! a_{1s}) [-] NZ (5.16)
& , V1s = -.24520899 & ! V_{1s} [-] NZ (4.13)
& , V1sqhat = 0.39553840E-01 & ! hat{V_1^2} [-] NZ (4.13)
& , b1hat = 0.31574178 & ! hat{b_1} [-] NZ (5.17)
& , b1s = 1.0000000 & ! b_{1s} [-] NZ (4.32)
& , bb1hat = 0.37340307 & ! hat{B_1} [-] NZ (4.26)
& , GMsr = 3.5000000 & ! M_{sr} [K]
& , GMsp = 0.42756125E-01 & ! M_{sp} [-]
& , GMqr = 3.0000000 & ! M_{qr} [K]
& , GMqp = 0.50721642E-01 & ! M_{qp} [-]
& , GMs0r = 44.398193 & ! [K]
& , GMq0r = -51.881908 & ! [K]
& , eps_c = 0.13888889E-03 & ! [1/s]
& , CV0 = 0.14000000E-01 & ! reference drag coeff*velocity [m/s]
& , eps_0 = 0.19369413E-05 & ! [1/s]=> 6.0 [day]
& , eps_10 = -.47495544E-06 & ! [1/s]=> -24. [day]
& , eps_01 = -.12007821E-04 & ! [1/s]=>-0.96 [day]
& , eps_1 = 0.29444259E-05 & ! [1/s]=> 3.9 [day]
& , eps_i1 = 0.89764910E-06 & ! [1/s]=> 13. [day]
& , Tsref = 302.26001 & ! surface reference temperature for radiation [K]
& , Cpg = 8708163.0 & ! conversion factor Cp*delp/gravity [J/K/m*2]
& , Trefs = 302.00000 & ! surface reference temperature [K]
& , qrefs = 51.955292 & ! surface reference humidity [K]
& , Tcrefs = 302.00000 & ! convective surface ref. temperature [K]
& , qcrefs = 50.814919 & ! convective surface ref. humidity [K]
& , Trefhat = 267.77045 & ! mean reference temperature [K]
& , qrefhat = 16.404453 & ! mean reference humidity [K]
& , Tcrefhat = 268.98325 & ! [K]
& , qcrefhat = 16.159267 ! [K]
!
! advection coefficients
!
REAL, Parameter, Dimension(nvmod**3) :: &
& Vijkt = (/ 1.0000000 , 0.0000000 & ! Vijk(:,0,0)
& , 0.0000000 ,0.39553840E-01 & ! Vijk(:,1,0)
& , 0.0000000 , 1.0000000 & ! Vijk(:,0,1)
& , 1.0000000 ,0.11134213 /) & ! Vijk(:,1,1)
& , Vwijkt = (/ 0.0000000 , 0.0000000 & ! Vwijk(:,0,0)
& , 0.24520901 ,0.39485272E-01 & ! Vwijk(:,1,0)
& , 0.0000000 , 0.0000000 & ! Vwijk(:,0,1)
& , -.26275271 ,0.55228624E-01/) ! Vwijk(:,1,1)
REAL, parameter, dimension(nvmod*nTmod**2) :: &
& DTijkt = (/ 1.0000000 ,0.68461813E-01 /) & ! DTijk(:,1,1)
& , Dqijkt = (/ 1.0000000 ,-.16064279 /) ! Dqijk(:,1,1)
REAL, Parameter, Dimension(nz) :: &
& V1z = (/ -.24520899 , -.21125591 , -.17568490 , -.13640948 , -.92673302E-01 &
& , -.43544598E-01, 0.12078471E-01, 0.75964749E-01, 0.14977413 , 0.23455063 /)
REAL, Parameter, Dimension(5) :: & ! a1p at 1000, 950, 900, 850, 800 mb
& a1p = (/ 0.0000000 , 0.15051006E-01, 0.30990627E-01, 0.47977556E-01, 0.66651829E-01 /)
End Module Qtcmpar
Module T1cTableIn
! Profile for nonlinear T1c lookup table
Integer, Parameter :: np= 11
REAL, Parameter, Dimension(4*np) :: table= (/&
! p [HPa] , alpha [-] , Tsat [K] , a1 [-]
& 1000.0000 , 0.85000002 , 302.00000 ,0.30203986 , &
& 950.00000 , 0.83529413 , 297.64838 ,0.29764515 , &
& 900.00000 , 0.82058823 , 293.08527 ,0.29308209 , &
& 850.00000 , 0.80588239 , 291.01846 ,0.30323407 , &
& 800.00000 , 0.79117650 , 288.79773 ,0.31495300 , &
& 700.00000 , 0.76176476 , 283.78235 ,0.34451482 , &
& 600.00000 , 0.73235297 , 277.72491 ,0.38630152 , &
& 500.00000 , 0.70294118 , 270.06317 ,0.44864288 , &
& 400.00000 , 0.67352945 , 259.69208 ,0.54513776 , &
& 300.00000 , 0.64411765 , 244.30972 ,0.67801291 , &
& 200.00000 , 0.61470592 , 219.90631 ,0.74564534 /)
End Module T1cTableIn