LMDZ
suecozo.F90
Go to the documentation of this file.
1 SUBROUTINE suecozo (PYTIME)
2 
3 !**** *SUECOZO* - FOR THE YEARLY CYCLE OF THE OZONE DISTIBUTION.
4 
5 ! J.F.GELEYN E.C.M.W.F. 03/06/82.
6 
7 ! J.-J. MORCRETTE 93/03/22 ADAPTATION TO I.F.S.
8 
9 ! PURPOSE.
10 ! --------
11 
12 ! THIS ROUTINE COMPUTES INSTANTANEOUS VALUES OF A T5 SPETRAL
13 ! DISTRIBUTION FOR TWO OZONE PARAMETERS (TOTAL QUANTITY AND PRESSURE
14 ! AT THE MAXIMUM OF CONCENTRATION,BOTH IN *PASCAL) FROM THE TIME
15 ! OF THE YEAR (SEE *UPDTIER*).
16 
17 !** INTERFACE.
18 ! ----------
19 
20 ! *OZONE* IS CALLED FROM *PHYSC* AT THE FIRST LATITUDE ROW AT
21 ! THE TIME OF A FULL RADIATION COMPUTATION.
22 ! THERE ARE FIVE DUMMY ARGUMENTS: *PYTIME* IS THE TIME OF THE
23 ! YEAR (IN RADIANS).
24 ! *POZQC*, *POZQS*, *POZHC* AND
25 ! *POZHS* ARE ARRAYS FOR THE T5 DISTRIBUTIONS (*Q FOR QUANTITY, *H
26 ! FOR HEIGHT, *C FOR COSINE AND *S FOR SINE).
27 
28 ! METHOD.
29 ! -------
30 
31 ! STAIGHTFORWARD, A SECOND ORDER *FOURIER DEVELOPMENT FOR THE
32 ! TIME OF THE YEAR.
33 
34 ! EXTERNALS.
35 ! ----------
36 
37 ! NONE.
38 
39 ! REFERENCE.
40 ! ----------
41 
42 ! NONE.
43 
44 ! ------------------------------------------------------------------
45 
46 #include "tsmbkind.h"
47 
48 USE yoeozoc , ONLY : cozqc ,cozqs ,cozhc ,cozhs
49 
50 
51 IMPLICIT NONE
52 
53 
54 ! DUMMY REAL SCALARS
55 real_b :: pytime
56 
57 
58 ! ------------------------------------------------------------------
59 
60 !* DATA STATEMENTS.
61 ! ---- -----------
62 
63 ! *ZOZ Q/H C/S N* (N=0,4) CORRESPONDS TO THE *POZ Q/H C/S*
64 ! (SEE ABOVE) AND TO THE FIVE TERMS OF THE *FOURIER DEVELOPMENT.
65 
66 real_b ,DIMENSION(21) :: zozqc0=(/&
67 &+.6012e-01_jprb,+.1887e-02_jprb,+.7410e-02_jprb,+.9950e-03_jprb,-.1426e-02_jprb,-.2072e-03_jprb,&
68  &-.4954e-03_jprb,+.7955e-05_jprb,-.3701e-03_jprb,+.4116e-04_jprb,-.4163e-04_jprb,&
69  &-.2933e-03_jprb,+.2154e-04_jprb,-.2849e-03_jprb,-.1604e-03_jprb,&
70  &-.1054e-03_jprb,+.4974e-03_jprb,+.1047e-03_jprb,&
71  &+.8323e-04_jprb,+.2874e-03_jprb,&
72  &+.1333e-03_jprb/)
73 real_b ,DIMENSION(15) :: zozqs0=(/&
74  &+.4210e-03_jprb,-.9591e-03_jprb,+.2811e-03_jprb,-.2257e-03_jprb,-.1713e-03_jprb,&
75  &-.3538e-03_jprb,+.1095e-03_jprb,-.4390e-03_jprb,-.5605e-05_jprb,&
76  &+.1478e-03_jprb,+.2849e-03_jprb,+.3430e-03_jprb,&
77  &+.8248e-04_jprb,+.1442e-03_jprb,&
78  &-.1375e-04_jprb/)
79 real_b ,DIMENSION(21) :: zozhc0=(/&
80 &+.3166e+04_jprb,+.8663e+02_jprb,+.9401e+03_jprb,+.1999e+02_jprb,-.3530e+03_jprb,-.3311e+02_jprb,&
81  &-.4903e+02_jprb,-.4015e+00_jprb,-.1333e+02_jprb,+.5675e+01_jprb,+.7221e+01_jprb,&
82  &-.3001e+02_jprb,+.7570e+01_jprb,-.1142e+02_jprb,-.1365e+02_jprb,&
83  &-.1502e+02_jprb,+.4911e+02_jprb,+.1425e+02_jprb,&
84  &+.8983e+01_jprb,+.3064e+02_jprb,&
85  &+.1693e+02_jprb/)
86 real_b ,DIMENSION(15) :: zozhs0=(/&
87  &+.4231e+02_jprb,-.7391e+02_jprb,+.1273e+02_jprb,+.2086e+02_jprb,-.1597e+02_jprb,&
88  &-.3591e+02_jprb,+.1059e+02_jprb,-.2779e+02_jprb,-.6923e+01_jprb,&
89  &+.1397e+02_jprb,+.2387e+02_jprb,+.2883e+02_jprb,&
90  &+.8626e+01_jprb,+.1607e+02_jprb,&
91  &-.2676e+01_jprb/)
92 real_b ,DIMENSION(21) :: zozqc1=(/&
93 &+.7090e-04_jprb,+.4930e-05_jprb,+.6829e-03_jprb,+.1897e-03_jprb,+.7226e-04_jprb,-.2807e-03_jprb,&
94  &+.4970e-04_jprb,-.1753e-03_jprb,-.7843e-04_jprb,-.1649e-03_jprb,-.1037e-03_jprb,&
95  &-.4830e-04_jprb,-.6304e-04_jprb,-.1100e-03_jprb,-.7952e-04_jprb,&
96  &+.1326e-04_jprb,+.2599e-04_jprb,+.9926e-05_jprb,&
97  &-.9247e-05_jprb,-.3521e-05_jprb,&
98  &-.1780e-04_jprb/)
99 real_b ,DIMENSION(15) :: zozqs1=(/&
100  &+.6333e-04_jprb,+.1145e-03_jprb,+.1192e-03_jprb,+.4934e-04_jprb,+.2699e-04_jprb,&
101  &+.3684e-04_jprb,-.2395e-05_jprb,+.2045e-04_jprb,-.8684e-04_jprb,&
102  &+.5301e-04_jprb,-.4176e-05_jprb,+.4103e-04_jprb,&
103  &+.2783e-04_jprb,+.1754e-04_jprb,&
104  &+.1116e-04_jprb/)
105 real_b ,DIMENSION(21) :: zozhc1=(/&
106 &-.3450e+02_jprb,+.2148e+03_jprb,+.3376e+02_jprb,+.6535e+02_jprb,-.1564e+02_jprb,-.4273e+02_jprb,&
107  &+.9553e+01_jprb,-.4647e+01_jprb,-.6129e+01_jprb,-.6727e+01_jprb,-.6761e+01_jprb,&
108  &-.2467e+01_jprb,-.2181e+01_jprb,-.5361e+01_jprb,-.2395e+01_jprb,&
109  &+.5952e+00_jprb,+.2106e+01_jprb,-.1367e+01_jprb,&
110  &-.2349e+01_jprb,+.3532e+00_jprb,&
111  &-.3169e+01_jprb/)
112 real_b ,DIMENSION(15) :: zozhs1=(/&
113  &+.3977e+01_jprb,+.5032e+01_jprb,+.6226e+01_jprb,-.3625e+00_jprb,-.1373e+01_jprb,&
114  &+.4600e+01_jprb,+.4312e+01_jprb,+.2882e+01_jprb,-.6351e+01_jprb,&
115  &+.5731e+01_jprb,-.2574e+01_jprb,+.3235e+00_jprb,&
116  &+.2806e+01_jprb,+.8133e+00_jprb,&
117  &+.2032e+01_jprb/)
118 real_b ,DIMENSION(21) :: zozqc2=(/&
119 &+.8571e-03_jprb,+.3086e-02_jprb,+.9287e-03_jprb,+.2787e-03_jprb,+.1826e-03_jprb,-.1006e-03_jprb,&
120  &+.1092e-03_jprb,-.1266e-03_jprb,+.5372e-04_jprb,-.1188e-03_jprb,-.3285e-04_jprb,&
121  &-.1783e-04_jprb,-.3018e-05_jprb,-.8709e-04_jprb,-.8707e-04_jprb,&
122  &+.8633e-04_jprb,+.3530e-04_jprb,+.4863e-04_jprb,&
123  &+.3917e-05_jprb,-.3252e-04_jprb,&
124  &-.1936e-06_jprb/)
125 real_b ,DIMENSION(15) :: zozqs2=(/&
126  &-.8822e-04_jprb,+.1341e-03_jprb,+.3095e-04_jprb,+.8230e-04_jprb,+.2735e-04_jprb,&
127  &+.1714e-04_jprb,-.9406e-04_jprb,+.1912e-04_jprb,-.5402e-04_jprb,&
128  &+.3571e-04_jprb,+.3897e-04_jprb,+.4487e-04_jprb,&
129  &+.3079e-04_jprb,+.3196e-04_jprb,&
130  &-.2391e-05_jprb/)
131 real_b ,DIMENSION(21) :: zozhc2=(/&
132 &+.5216e+02_jprb,+.1613e+03_jprb,+.3284e+02_jprb,-.7670e+02_jprb,-.9548e+01_jprb,+.1608e+02_jprb,&
133  &+.1023e+02_jprb,-.1090e+02_jprb,+.2748e+01_jprb,-.3846e+01_jprb,-.4135e+01_jprb,&
134  &+.1255e+01_jprb,-.3301e-01_jprb,-.5273e+01_jprb,-.7247e+01_jprb,&
135  &+.1387e+02_jprb,+.4184e+01_jprb,+.6495e+01_jprb,&
136  &+.2944e+01_jprb,-.1947e+01_jprb,&
137  &+.1132e+01_jprb/)
138 real_b ,DIMENSION(15) :: zozhs2=(/&
139  &-.1968e+02_jprb,+.1192e+02_jprb,-.1194e+01_jprb,+.1084e+01_jprb,+.2946e+01_jprb,&
140  &+.2630e+01_jprb,-.1256e+02_jprb,+.1395e+01_jprb,-.2222e+01_jprb,&
141  &+.4864e+01_jprb,+.6450e+01_jprb,+.5568e+01_jprb,&
142  &+.5292e+01_jprb,+.4876e+01_jprb,&
143  &-.7579e+00_jprb/)
144 real_b ,DIMENSION(21) :: zozqc3=(/&
145 &-.2759e-03_jprb,-.2781e-03_jprb,-.1087e-03_jprb,-.1633e-03_jprb,-.3627e-04_jprb,-.4242e-04_jprb,&
146  &+.6045e-05_jprb,-.1703e-04_jprb,+.4562e-04_jprb,-.1009e-04_jprb,+.2663e-04_jprb,&
147  &-.1786e-04_jprb,+.1550e-04_jprb,-.9135e-06_jprb,+.2372e-04_jprb,&
148  &+.1100e-05_jprb,+.2299e-04_jprb,+.4659e-05_jprb,&
149  &+.2423e-05_jprb,+.7321e-05_jprb,&
150  &+.8852e-05_jprb/)
151 real_b ,DIMENSION(15) :: zozqs3=(/&
152  &-.3678e-04_jprb,-.2219e-04_jprb,-.3911e-04_jprb,-.4398e-04_jprb,-.1142e-04_jprb,&
153  &-.9121e-05_jprb,-.2011e-04_jprb,+.4711e-06_jprb,-.3775e-05_jprb,&
154  &+.3866e-05_jprb,+.2400e-04_jprb,+.2043e-04_jprb,&
155  &-.1824e-05_jprb,-.5550e-05_jprb,&
156  &+.2506e-05_jprb/)
157 real_b ,DIMENSION(21) :: zozhc3=(/&
158 &-.1534e+03_jprb,-.2095e+02_jprb,-.1006e+03_jprb,-.7385e+01_jprb,+.5203e+01_jprb,+.9434e+00_jprb,&
159  &-.3814e+00_jprb,-.3175e+01_jprb,+.3366e+01_jprb,+.3378e+00_jprb,+.2740e+00_jprb,&
160  &-.2669e+01_jprb,+.8452e+00_jprb,+.3498e+00_jprb,+.2192e+01_jprb,&
161  &-.4024e+00_jprb,+.1544e+01_jprb,-.4588e+00_jprb,&
162  &+.6998e+00_jprb,+.6263e+00_jprb,&
163  &+.1228e+01_jprb/)
164 real_b ,DIMENSION(15) :: zozhs3=(/&
165  &-.3588e+01_jprb,+.2076e+00_jprb,-.2088e+01_jprb,-.4159e+01_jprb,+.2244e+00_jprb,&
166  &-.7751e+00_jprb,-.2749e+01_jprb,+.7234e+00_jprb,+.4390e+00_jprb,&
167  &-.1646e+00_jprb,+.1700e+01_jprb,+.1046e+01_jprb,&
168  &-.7856e+00_jprb,-.1644e+01_jprb,&
169  &+.2648e+00_jprb/)
170 real_b ,DIMENSION(21) :: zozqc4=(/&
171 &-.1460e-03_jprb,+.3422e-03_jprb,-.3529e-04_jprb,+.1791e-03_jprb,-.1917e-03_jprb,-.2558e-04_jprb,&
172  &+.6547e-04_jprb,+.6401e-04_jprb,+.4823e-04_jprb,+.7084e-05_jprb,+.2895e-04_jprb,&
173  &-.1561e-04_jprb,+.8179e-06_jprb,+.1028e-04_jprb,-.7667e-05_jprb,&
174  &-.4347e-05_jprb,+.7293e-05_jprb,-.5735e-05_jprb,&
175  &+.7838e-05_jprb,-.2933e-05_jprb,&
176  &+.3686e-05_jprb/)
177 real_b ,DIMENSION(15) :: zozqs4=(/&
178  &-.4560e-05_jprb,-.5292e-04_jprb,-.1252e-04_jprb,+.1850e-04_jprb,-.2273e-04_jprb,&
179  &+.6552e-05_jprb,+.1422e-04_jprb,-.6545e-05_jprb,+.7998e-06_jprb,&
180  &+.2845e-04_jprb,+.2497e-04_jprb,+.2844e-04_jprb,&
181  &+.3855e-06_jprb,-.1487e-04_jprb,&
182  &+.1954e-05_jprb/)
183 real_b ,DIMENSION(21) :: zozhc4=(/&
184 &+.9260e+01_jprb,-.9055e+01_jprb,+.5460e+01_jprb,-.7603e+01_jprb,-.3329e+02_jprb,-.1048e+02_jprb,&
185  &+.9328e+01_jprb,+.4597e+01_jprb,+.3827e+01_jprb,-.3201e+01_jprb,+.1708e+01_jprb,&
186  &-.1548e+01_jprb,-.5323e+00_jprb,+.3039e+01_jprb,+.5740e+00_jprb,&
187  &+.1353e+00_jprb,-.2354e+01_jprb,+.2818e+00_jprb,&
188  &+.1113e+01_jprb,-.1891e+01_jprb,&
189  &-.3074e+00_jprb/)
190 real_b ,DIMENSION(15) :: zozhs4=(/&
191  &-.2446e+01_jprb,+.4199e+01_jprb,-.2571e+01_jprb,+.8194e+01_jprb,+.4206e+00_jprb,&
192  &+.3856e+01_jprb,+.1159e+01_jprb,+.2547e+01_jprb,-.1314e+01_jprb,&
193  &+.2331e+01_jprb,+.1144e+01_jprb,-.4408e+00_jprb,&
194  &-.6797e+00_jprb,-.2598e+01_jprb,&
195  &+.8953e+00_jprb/)
196 
197 ! LOCAL INTEGER SCALARS
198 integer_m :: jmn
199 
200 ! LOCAL REAL SCALARS
201 real_b :: zc1yt, zc2yt, zs1yt, zs2yt, zytime
202 
203 
204 ! ------------------------------------------------------------------
205 
206 !* 1. PRELIMINARY SETTING.
207 ! ----------- --------
208 
209 
210 zytime=pytime
211 
212 ! ------------------------------------------------------------------
213 
214 !* 2. COMPUTATIONS.
215 ! -------------
216 
217 
218 zc1yt=cos(zytime)
219 zs1yt=sin(zytime)
220 zc2yt=zc1yt**2-zs1yt**2
221 zs2yt=_two_*zs1yt*zc1yt
222 DO jmn=1,21
223  cozqc(jmn)=zozqc0(jmn)+_two_*(zozqc1(jmn)*zc1yt+zozqc2(jmn)*zs1yt &
224  &+zozqc3(jmn)*zc2yt+zozqc4(jmn)*zs2yt)
225  cozhc(jmn)=zozhc0(jmn)+_two_*(zozhc1(jmn)*zc1yt+zozhc2(jmn)*zs1yt &
226  &+zozhc3(jmn)*zc2yt+zozhc4(jmn)*zs2yt)
227 ENDDO
228 DO jmn=1,15
229  cozqs(jmn)=zozqs0(jmn)+_two_*(zozqs1(jmn)*zc1yt+zozqs2(jmn)*zs1yt &
230  &+zozqs3(jmn)*zc2yt+zozqs4(jmn)*zs2yt)
231  cozhs(jmn)=zozhs0(jmn)+_two_*(zozhs1(jmn)*zc1yt+zozhs2(jmn)*zs1yt &
232  &+zozhs3(jmn)*zc2yt+zozhs4(jmn)*zs2yt)
233 ENDDO
234 ! ------------------------------------------------------------------
235 
236 
237 
238 RETURN
239 END SUBROUTINE suecozo
subroutine suecozo(PYTIME)
Definition: suecozo.F90:2