1 | SUBROUTINE inicondens(ny,press,temp,nomy,yc) |
---|
2 | |
---|
3 | c======================================================================= |
---|
4 | c initialisation des profils de saturation des traceurs |
---|
5 | c======================================================================= |
---|
6 | |
---|
7 | c----------------------------------------------------------------------- |
---|
8 | c declarations: |
---|
9 | c ------------- |
---|
10 | |
---|
11 | use dimphy |
---|
12 | use mod_grid_phy_lmdz, only: nbp_lev |
---|
13 | IMPLICIT NONE |
---|
14 | #include "YOMCST.h" |
---|
15 | |
---|
16 | c Arguments : |
---|
17 | c ----------- |
---|
18 | INTEGER ny |
---|
19 | real press(nbp_lev),temp(nbp_lev) ! pressure in mbar ! |
---|
20 | REAL yc(nbp_lev,ny) |
---|
21 | character*10 nomy(ny+1) |
---|
22 | |
---|
23 | c Local variables : |
---|
24 | c ----------------- |
---|
25 | INTEGER l,ic |
---|
26 | real sy,x |
---|
27 | |
---|
28 | do ic=1,ny |
---|
29 | print*, 'traceur CH(', ic, ')=', nomy(ic),'------------' |
---|
30 | do l=1,nbp_lev |
---|
31 | |
---|
32 | c Par defaut, yc est a 1 c'est a dire qu'on ne condense pas |
---|
33 | yc(l,ic)=1. |
---|
34 | |
---|
35 | if(nomy(ic).eq."CH4") then |
---|
36 | if (temp(l).lt.90.65) then |
---|
37 | yc(l,ic)= |
---|
38 | s 10.0**(4.42507e0 - ( ( ( 1165560.7e0 / TEMP(l) - |
---|
39 | s 115352.19e0 ) / TEMP(l) + 4055.6016e0 ) / TEMP(l) |
---|
40 | s + 453.92414e0 ) / TEMP(l) ) / PRESS(l) * 1013.25e0 |
---|
41 | else |
---|
42 | yc(l,ic)= |
---|
43 | s 10.0**(3.901408e0 - ( ( 154567.02e0 / TEMP(l) - |
---|
44 | s 1598.8512e0 ) / TEMP(l) + 437.54809e0 ) / TEMP(l)) |
---|
45 | s / PRESS(l) * 1013.25e0; |
---|
46 | endif |
---|
47 | c maintient a 1.4% minimum |
---|
48 | if (yc(l,ic).lt.0.014) yc(l,ic)=0.014 |
---|
49 | endif |
---|
50 | |
---|
51 | if(nomy(ic).eq."C2H2") then |
---|
52 | yc(l,ic)= |
---|
53 | s 10.0**(6.09748e0-1644.1e0/TEMP(l)+7.42346e0 |
---|
54 | s * alog10(1.0e3/TEMP(l)) ) / PRESS(l)*1013.25e0/760.0 |
---|
55 | endif |
---|
56 | |
---|
57 | if(nomy(ic).eq."C2H4") then |
---|
58 | if (temp(l).lt.89.0) then |
---|
59 | yc(l,ic)= |
---|
60 | s 10.0**(1.5477e0 + (1.0e0/TEMP(l) - 0.011e0) |
---|
61 | s *(16537.0e0*(1.0e0/TEMP(l) - 0.011e0) - 1038.1e0)) |
---|
62 | s / PRESS(l) * 1.01325e0 / 760.0 |
---|
63 | elseif (temp(l).lt.104.0) then |
---|
64 | yc(l,ic)= |
---|
65 | s 10.0**(8.724e0 - 901.6e0/(TEMP(l) - 2.555e0) ) |
---|
66 | s / PRESS(l) * 1013.25e0 / 760.0 |
---|
67 | elseif (temp(l).lt.120.0) then |
---|
68 | yc(l,ic)= |
---|
69 | s 10.0**(50.79e0 - 1703.0e0/TEMP(l) - 17.141e0 * |
---|
70 | s alog10(TEMP(l)) ) / PRESS(l) * 1013.25e0 / 760.0 |
---|
71 | elseif (temp(l).lt.155.0) then |
---|
72 | yc(l,ic)= |
---|
73 | s 10.0**(6.74756e0 - 585.0e0/(TEMP(l) - 18.16e0) ) |
---|
74 | s / PRESS(l) * 1013.25e0 / 760.0 |
---|
75 | endif |
---|
76 | endif |
---|
77 | |
---|
78 | if(nomy(ic).eq."C2H6") then |
---|
79 | if (temp(l).lt.90.) then |
---|
80 | yc(l,ic)= |
---|
81 | s 10.0**(10.01e0-1085.0e0/(TEMP(l)-0.561e0) ) |
---|
82 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
83 | else |
---|
84 | yc(l,ic)= |
---|
85 | s 10.0**(5.9366e0 - 1086.17e0/TEMP(l) + 3.83464e0 * |
---|
86 | s alog10(1.0e3/TEMP(l)) ) / PRESS(l)*1013.25e0/760.0 |
---|
87 | endif |
---|
88 | endif |
---|
89 | |
---|
90 | if((nomy(ic).eq."CH3CCH") |
---|
91 | s .or.(nomy(ic).eq."CH2CCH2")) then |
---|
92 | yc(l,ic)= |
---|
93 | s 10.0**(2.8808e0 - 4.5e0*(249.9e0 - TEMP(l)) |
---|
94 | s /(1.15e0*TEMP(l) - 37.485e0) ) |
---|
95 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
96 | endif |
---|
97 | |
---|
98 | if(nomy(ic).eq."C3H6") then |
---|
99 | yc(l,ic)= |
---|
100 | s 10.0**(7.4463e0 - 1028.5654e0/TEMP(l) ) |
---|
101 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
102 | endif |
---|
103 | |
---|
104 | if(nomy(ic).eq."C3H8") then |
---|
105 | yc(l,ic)= |
---|
106 | s 10.0**(7.217e0 - 994.30251e0/TEMP(l) ) |
---|
107 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
108 | endif |
---|
109 | |
---|
110 | if((nomy(ic).eq."C4H2") |
---|
111 | s .or.(nomy(ic).eq."C4H2s")) then |
---|
112 | yc(l,ic)= |
---|
113 | s 10.0**(96.26781e0 - 4651.872e0/TEMP(l) - 31.68595e0 |
---|
114 | s *alog10(TEMP(l)) ) / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
115 | endif |
---|
116 | |
---|
117 | if(nomy(ic).eq."C4H4") then |
---|
118 | yc(l,ic)= |
---|
119 | s 1.0e3 * exp(9.3898e0 - 2203.57/(TEMP(l)-43.15e0) ) |
---|
120 | s / PRESS(l) |
---|
121 | endif |
---|
122 | |
---|
123 | if(nomy(ic).eq."C4H6") then |
---|
124 | yc(l,ic)= |
---|
125 | s 10.0**(2.8808e0 - 4.6e0*(262.3e0 - TEMP(l)) |
---|
126 | s /(1.15e0*TEMP(l) - 39.345e0) ) |
---|
127 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
128 | endif |
---|
129 | |
---|
130 | if(nomy(ic).eq."C4H10") then |
---|
131 | yc(l,ic)= |
---|
132 | s 10.0**(8.446e0 - 1461.2e0/TEMP(l) ) |
---|
133 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
134 | endif |
---|
135 | |
---|
136 | if(nomy(ic).eq."C6H2") then |
---|
137 | yc(l,ic)= |
---|
138 | s 10.0**(4.666e0 - 4956e0/TEMP(l) + 25.845e0 * |
---|
139 | s alog10(1.0e3/TEMP(l)) ) |
---|
140 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
141 | endif |
---|
142 | |
---|
143 | if(nomy(ic).eq."C8H2") then |
---|
144 | yc(l,ic)= |
---|
145 | s 10.0**(3.95e0 - 6613e0/TEMP(l) + 35.055e0 * |
---|
146 | s alog10(1.0e3/TEMP(l)) ) |
---|
147 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
148 | endif |
---|
149 | |
---|
150 | if(nomy(ic).eq."AC6H6") then |
---|
151 | x = 1.0e0 - TEMP(l) / 562.2e0 |
---|
152 | yc(l,ic)= |
---|
153 | s 48.9e3 * exp( ( 1.33213 * x**1.5 - 6.98273 * x |
---|
154 | s - x**3 * (2.62863 + 3.33399 * x**3) ) |
---|
155 | s * 562.2e0/TEMP(l) ) / PRESS(l) |
---|
156 | endif |
---|
157 | |
---|
158 | if(nomy(ic).eq."HCN") then |
---|
159 | yc(l,ic)= |
---|
160 | s 10.0**(8.6165e0 - 1516.5e0/(TEMP(l) - 26.2e0) ) |
---|
161 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
162 | endif |
---|
163 | |
---|
164 | if(nomy(ic).eq."CH3CN") then |
---|
165 | yc(l,ic)= |
---|
166 | s 10.0**(8.458e0 - 1911.7e0/TEMP(l) ) |
---|
167 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
168 | endif |
---|
169 | |
---|
170 | if(nomy(ic).eq."C2H3CN") then |
---|
171 | yc(l,ic)= |
---|
172 | s 10.0**(9.3051e0 - 2782.21/(TEMP(l) - 51.15e0) ) |
---|
173 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
174 | endif |
---|
175 | |
---|
176 | if(nomy(ic).eq."NCCN") then |
---|
177 | yc(l,ic)= |
---|
178 | s 10.0**(7.454e0 - 1832e0/TEMP(l) ) |
---|
179 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
180 | endif |
---|
181 | |
---|
182 | if(nomy(ic).eq."HC3N") then |
---|
183 | yc(l,ic)= |
---|
184 | s 10.0**(7.7446e0 - 1453.5609e0/TEMP(l) ) |
---|
185 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
186 | endif |
---|
187 | |
---|
188 | if(nomy(ic).eq."C4N2") then |
---|
189 | yc(l,ic)= |
---|
190 | s 10.0**(8.269e0 - 2155.0e0/TEMP(l) ) |
---|
191 | s / PRESS(l) * 1013.25e0 / 760.0e0 |
---|
192 | endif |
---|
193 | |
---|
194 | enddo |
---|
195 | enddo |
---|
196 | |
---|
197 | print*, 'inicondens end' |
---|
198 | |
---|
199 | RETURN |
---|
200 | END |
---|