source: LMDZ5/branches/testing/libf/phymar/suecozo.F90 @ 4674

Last change on this file since 4674 was 2160, checked in by Laurent Fairhead, 10 years ago

Merged trunk changes -r2070:2158 into testing branch. Compilation problems introduced by revision r2155 have been corrected by hand

File size: 12.5 KB
Line 
1SUBROUTINE 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
48USE YOEOZOC  , ONLY : COZQC    ,COZQS    ,COZHC    ,COZHS
49
50
51IMPLICIT NONE
52
53
54!     DUMMY REAL SCALARS
55REAL_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
66REAL_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/)
73REAL_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/)
79REAL_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/)
86REAL_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/)
92REAL_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/)
99REAL_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/)
105REAL_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/)
112REAL_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/)
118REAL_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/)
125REAL_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/)
131REAL_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/)
138REAL_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/)
144REAL_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/)
151REAL_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/)
157REAL_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/)
164REAL_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/)
170REAL_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/)
177REAL_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/)
183REAL_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/)
190REAL_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
198INTEGER_M :: JMN
199
200!     LOCAL REAL SCALARS
201REAL_B :: ZC1YT, ZC2YT, ZS1YT, ZS2YT, ZYTIME
202
203
204!     ------------------------------------------------------------------
205
206!*         1.     PRELIMINARY SETTING.
207!                 ----------- --------
208
209
210ZYTIME=PYTIME
211
212!     ------------------------------------------------------------------
213
214!*         2.     COMPUTATIONS.
215!                 -------------
216
217
218ZC1YT=COS(ZYTIME)
219ZS1YT=SIN(ZYTIME)
220ZC2YT=ZC1YT**2-ZS1YT**2
221ZS2YT=_TWO_*ZS1YT*ZC1YT
222DO 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)
227ENDDO
228DO 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)
233ENDDO
234!     ------------------------------------------------------------------
235
236
237
238RETURN
239END SUBROUTINE SUECOZO
Note: See TracBrowser for help on using the repository browser.