1 | subroutine PHY_genTKE_INI |
---|
2 | |
---|
3 | !------------------------------------------------------------------------------+ |
---|
4 | ! Sun 16-Jun-2013 MAR | |
---|
5 | ! MAR PHY_genTKE_INI | |
---|
6 | ! subroutine PHY_genTKE_INI initialises TKE Equation | |
---|
7 | ! | |
---|
8 | ! version 3.p.4.1 created by H. Gallee, Sat 16-Mar-2013 | |
---|
9 | ! Last Modification by H. Gallee, Sun 16-Jun-2013 | |
---|
10 | ! | |
---|
11 | !------------------------------------------------------------------------------+ |
---|
12 | |
---|
13 | use Mod_Real |
---|
14 | use Mod_Phy____dat |
---|
15 | use Mod_Phy____grd |
---|
16 | use Mod_PHY____kkl |
---|
17 | use Mod_PHY_AT_ctr |
---|
18 | use Mod_PHY_AT_kkl |
---|
19 | use Mod_PHY_DY_kkl |
---|
20 | |
---|
21 | |
---|
22 | IMPLICIT NONE |
---|
23 | |
---|
24 | |
---|
25 | |
---|
26 | ! Global Variables |
---|
27 | ! ================ |
---|
28 | |
---|
29 | integer :: ikl ,k |
---|
30 | |
---|
31 | |
---|
32 | |
---|
33 | ! Local Variables |
---|
34 | ! ================ |
---|
35 | |
---|
36 | real(kind=real8) :: dz_sig ! sigma Layer Thickness [m] |
---|
37 | |
---|
38 | |
---|
39 | |
---|
40 | ! Parameters |
---|
41 | ! ========== |
---|
42 | |
---|
43 | c1ep = c1epd |
---|
44 | |
---|
45 | IF (Ee_Duynkerke) THEN |
---|
46 | cmu = cmud |
---|
47 | sqrcmu = sqrcmud |
---|
48 | c1ep = c1epd |
---|
49 | c2ep = c2epd |
---|
50 | sige = siged |
---|
51 | sigk = sigkd |
---|
52 | |
---|
53 | ELSE IF (Ee_Kitada) THEN |
---|
54 | cmu = cmuk |
---|
55 | sqrcmu = sqrcmuk |
---|
56 | c1ep = c1epk |
---|
57 | c2ep = c2epk |
---|
58 | sige = sigek |
---|
59 | sigk = sigkk |
---|
60 | |
---|
61 | ELSE IF (Kl_TherryLac) THEN |
---|
62 | ! cmu = cmut |
---|
63 | sqrcmu = sqrcmut |
---|
64 | sige = siget |
---|
65 | sigk = sigkt |
---|
66 | |
---|
67 | ELSE ! (Bintanja, Huang & Raman) |
---|
68 | cmu = cmub |
---|
69 | sqrcmu = sqrcmub |
---|
70 | c1ep = c1epb |
---|
71 | c2ep = c2epb |
---|
72 | sige = sigeb |
---|
73 | sigk = sigkb |
---|
74 | END IF |
---|
75 | |
---|
76 | vK_inv = 1./ vonKrm |
---|
77 | |
---|
78 | |
---|
79 | |
---|
80 | |
---|
81 | ! Level below which box weighted vertical moving averages of TKE and e are performed |
---|
82 | ! ================================================================================== |
---|
83 | |
---|
84 | mz__KA=mzp-1 |
---|
85 | 11 CONTINUE |
---|
86 | IF (hsigma(mz__KA).GT.zz__KA.OR.mz__KA.LE.1) GO TO 10 |
---|
87 | mz__KA=mz__KA-1 |
---|
88 | GO TO 11 |
---|
89 | 10 CONTINUE |
---|
90 | write(6,1000) mz__KA |
---|
91 | 1000 format(/,' TKE: Moving Average until mz -',i2,' Level',/) |
---|
92 | |
---|
93 | |
---|
94 | |
---|
95 | |
---|
96 | ! pkt Turbulent Flux Limitor |
---|
97 | ! ========================== |
---|
98 | |
---|
99 | Dpkt_X = DThMAX / p0_kap / 3600. ! From PT [K/h] to pkt = PT / p00**(R/Cp) [K/h] |
---|
100 | |
---|
101 | |
---|
102 | |
---|
103 | |
---|
104 | ! Minimum Vertical Turbulent Diffusion Coefficient (ARPS.4.0 Users Guide, |
---|
105 | ! ================================================ fin para 6.3.4 p.143) |
---|
106 | |
---|
107 | DO k=1,mzp-1 |
---|
108 | dz_sig = hsigma(k)-hsigma(k+1) |
---|
109 | Kz0_AT( k) = A_MolV |
---|
110 | ! #ARPS Kz0_AT( k) = min(0.15, epsi * dz_sig * dz_sig ) |
---|
111 | END DO |
---|
112 | |
---|
113 | k= mzp |
---|
114 | dz_sig = hsigma(k) |
---|
115 | Kz0_AT( k) = A_MolV |
---|
116 | ! #ARPS Kz0_AT( k) = min(0.15, epsi * dz_sig * dz_sig ) |
---|
117 | |
---|
118 | |
---|
119 | ! ++++++++++++++ |
---|
120 | ! INITIALIZATION |
---|
121 | ! ++++++++++++++ |
---|
122 | |
---|
123 | IF (it_EXP.EQ.1) THEN |
---|
124 | |
---|
125 | |
---|
126 | ! Initial E,e |
---|
127 | ! ----------- |
---|
128 | |
---|
129 | DO ikl=1,kcolp |
---|
130 | DO k=1,mzp |
---|
131 | TKE_AT(ikl,k) = eps6 |
---|
132 | eps_AT(ikl,k) = epsn |
---|
133 | ! ... These initial values of TKE and epsilon correspond to K ~ Kmol |
---|
134 | |
---|
135 | |
---|
136 | ! Initial Transport of TKE |
---|
137 | ! ------------------------ |
---|
138 | |
---|
139 | TrT_AT(ikl,k) = 0. |
---|
140 | |
---|
141 | |
---|
142 | ! Initial Vertical Diffusion Coefficients |
---|
143 | ! --------------------------------------- |
---|
144 | |
---|
145 | Kzm_AT(ikl,k) = A_MolV |
---|
146 | Kzh_AT(ikl,k) = A_MolV |
---|
147 | |
---|
148 | |
---|
149 | ! Initial Inversion Height |
---|
150 | ! ------------------------ |
---|
151 | |
---|
152 | END DO |
---|
153 | zi__AT(ikl) = ZmidDY(ikl,mzp)-sh__AP(ikl) |
---|
154 | END DO |
---|
155 | |
---|
156 | END IF |
---|
157 | |
---|
158 | |
---|
159 | |
---|
160 | |
---|
161 | end subroutine PHY_genTKE_INI |
---|