/[MITgcm]/MITgcm_contrib/jscott/igsm/src/radia0.F
ViewVC logotype

Contents of /MITgcm_contrib/jscott/igsm/src/radia0.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (show annotations) (download)
Fri Aug 11 19:35:31 2006 UTC (18 years, 11 months ago) by jscott
Branch: MAIN
CVS Tags: HEAD
Error occurred while calculating annotation data.
atm2d package

1
2 #include "ctrparam.h"
3
4 SUBROUTINE RADIA0 (IM,JM,CO2,READGHG) 4501.
5 C**** 4502.
6 C**** THIS SUBROUTINE SETS THE RADIATION CONTROL PARAMETERS AND 4503.
7 C**** CALCULATES AREA WEIGHTED LATITUDES FOR A STANDARD GRID ETC 4504.
8 C**** 4505.
9
10 #include "chem_para"
11 #include "chem_com"
12
13 REAL LT1,LT2 4506.
14 DIMENSION COSZ(IM,JM),COSZA(IM,JM) 4507.
15 DIMENSION SINJ(46),COSJ(46),RI(72),SINI(72),COSI(72) 4508.
16 COMMON/WORK5/LT1(72),LT2(72),SLT1(72),SLT2(72),S2LT1(72),S2LT2(72)4509.
17 * ,DEGLAT(46),DEGLON(72) 4510.
18 COMMON/SCJL/SINJ,COSJ
19 COMMON/CO2TRND/ALFFOR,CO2TR,YEARGT,CO2IN,INYRAD
20 C 4511.
21 C RADCOM: CONTROL/INPUT PARAMETERS 4512.
22 C 4513.
23 COMMON/RADCOM/VADATA(11,4,3),DGLAT(46),DGLON(72),TMINSR,FULGAS(18)4514.
24 A ,FRACSL,RATQSL,FOGTSL,PTLISO,TLGRAD,TKCICE,FGOLDU(18)4514.5
25 B ,FLONO3,FRAYLE,FCLDTR,FCLDSR,FALGAE,FMARCL,FEMTRA(6) 4515.
26 C ,WETTRA,WETSRA,DMOICE,DMLICE,LICETK,NTRCE,FZASRA(6) 4515.5
27 D ,ID5(5),ITR(4),IMG(2),ILG(2),LAPGAS,KWVCON,NORMS0,NV 4516.
28 E ,KEEPRH,KEEPAL,ISOSCT,IHGSCT,KFRACC,KGASSR,KAERSR 4516.5
29 F ,MARCLD,LAYTOP,LMR,LMRP,JMLAT,IMLON,KFORCE,LASTVC 4517.
30 C 4517.5
31 C BASIC RADCOM INPUT DATA 4518.
32 C 4518.5
33 G ,PLE(40),HLB(40),TLB(40),TLT(40),TL(40),U0GAS(40,9) 4519.
34 H ,ULGAS(40,9),TRACER(40,4),RTAU(40),QL(40),RHL(40) 4519.5
35 I ,POCEAN,PEARTH,POICE,PLICE,AGESN,SNOWE,SNOWOI,SNOWLI 4520.
36 J ,TGO,TGE,TGOI,TGLI,TS,WS,WEARTH,ZOICE,FSPARE(200) 4520.5
37 K ,S0,COSZN,PVT(11),BXA(153),SRBXAL(15,2),FRC(5),LUXGAS4520.6
38 L ,JYEAR,JDAY,JLAT,ILON,MEANAL,KALVIS,ISPARE(25),SGPS 4520.8
39 C 5033.
40 C BASIC RADCOM OUTPUT DATA 5034.
41 C 5035.
42 c M ,TRDFLB(40),TRUFLB(40),TRNFLB(40),TRFCRL(40),TRSLCR 5036.
43 c N ,SRDFLB(40),SRUFLB(40),SRNFLB(40),SRFHRL(40),SRSLHR 5037.
44 c O ,SRIVIS,SROVIS,PLAVIS,SRINIR,SRONIR,PLANIR,SRXATM(4) 5038.
45 c P ,SRDVIS,SRUVIS,ALBVIS,SRDNIR,SRUNIR,ALBNIR,FSRNFG(4) 5039.
46 c Q ,SRTVIS,SRRVIS,SRAVIS,SRTNIR,SRRNIR,SRANIR,FTRUFG(4) 5040.
47 c R ,TRDFGW,TRUFGW,TRUFTW,BTEMPW,TRDFSL,TRUFSL,DTRUFG(4) 5041.
48 c S ,TRSLTS,TRSLTG,TRSLWV,TRSLBS,TTRUFG,LBOTCL,LTOPCL 5042.
49 ! DATA TWOPI/6.283185/,ZERO1/1.E-5/,ZERO2/5.E-3/ 4521.
50 ! 03/07/06
51 DATA TWOPI/6.283185/,ZERO1/1.E-2/,ZERO2/5.E-3/ 4521.
52 C**** COMPUTE THE AREA WEIGHTED LATITUDES AND THEIR SINES AND COSINES 4522.
53 JMM1=JM-1 4523.
54 PHIS=-.25*TWOPI 4524.
55 SPHIS=-1. 4525.
56 CPHIS=0. 4526.
57 DO 20 J=1,JMM1 4527.
58 PHIN=(TWOPI/(JMM1+JMM1))*(J-.5*JM) 4528.
59 SPHIN=SIN(PHIN) 4529.
60 CPHIN=COS(PHIN) 4530.
61 PHIM=(PHIN*SPHIN+CPHIN-PHIS*SPHIS-CPHIS)/(SPHIN-SPHIS) 4531.
62 DEGLAT(J)=(360./TWOPI)*PHIM 4532.
63 SINJ(J)=SIN(PHIM) 4533.
64 COSJ(J)=COS(PHIM) 4534.
65 PHIS=PHIN 4535.
66 SPHIS=SPHIN 4536.
67 20 CPHIS=CPHIN 4537.
68 PHIN=.25*TWOPI 4538.
69 SPHIN=1. 4539.
70 CPHIN=0. 4540.
71 PHIM=(PHIN*SPHIN+CPHIN-PHIS*SPHIS-CPHIS)/(SPHIN-SPHIS) 4541.
72 DEGLAT(JM)=(360./TWOPI)*PHIM 4542.
73 SINJ(JM)=SIN(PHIM) 4543.
74 COSJ(JM)=COS(PHIM) 4544.
75 C**** COMPUTE THE SINES AND COSINES OF LONGITUDE 4545.
76 DO 40 I=1,IM 4546.
77 RI(I)=(TWOPI/IM)*(I-1) 4547.
78 DEGLON(I)=(360./IM)*(I-1) 4548.
79 SINI(I)=SIN(RI(I)) 4549.
80 40 COSI(I)=COS(RI(I)) 4550.
81 C**** MODIFY AND PRINT OUT THE RADIATION CONTROL PARAMETERS 4552.
82 IF (CO2.GT.0.) FULGAS(2)=CO2 4553.1
83 DMOICE=10. 4553.11
84 C Convert masking depth over land and ocean ice to meters of water
85 c DMOICE=0.01
86 c DMLICE=0.01
87 C Convert masking depth over land and ocean ice to meters of water
88 C FOR THE 'REAL' TRANSIENT EXPERIMENT USE CO2=-FLOAT(KTREND)-AVGAER 4553.15
89 C TO USE THE DEFAULTS EXCEPT FOR CO2 SET CO2.GT.0. 4553.2
90 KTREND=-CO2 4553.25
91 print *,' KTREND=',KTREND
92
93 #ifdef PREDICTED_GASES
94 LAPGAS=0
95 IMG(2)=9
96 print *,' RADIA0 Chem ',1,READGHG,LAPGAS
97 #endif
98
99 IF (CO2.GT.0.) GO TO 50 4553.3
100 NTRCE=1 4553.35
101 ITR(1)=1 4553.4
102 IF (KTREND.EQ.0) KFORCE=26789 4553.45
103 FGOLDU(6)=1. 4553.5
104 LAPGAS=2 4553.55
105 C FULGAS(8)=0. 4553.6
106 C FULGAS(9)=0. 4553.65
107 C FGOLDU(1)=.005/.012 4553.7
108 c 50 CALL RCOMP1 (21,0,60) 4553.75
109 50 continue
110 print *,' RADIA0 JYEAR=',JYEAR,' JDAY=',JDAY
111 c IF (KTREND.GT.0) CALL FORSET(1958.,KTREND,1) 4553.8
112 IF (KTREND.GT.0)then
113 TNOW=JYEAR+(JDAY-.5)/365.
114 if(KTREND.GT.20) TNOW=1765.
115 print *,' RADIA0 JYEAR=',JYEAR,' JDAY=',JDAY
116 if (KTREND.EQ.5)then
117 ! print *,' TNOW=',TNOW
118 print *,' TREF=',TNOW
119 CALL FORSET(TNOW,KTREND,1)
120 else
121 ! 04/18/2006
122 print *,' TREF=',YEARGT
123 CALL FORSET(YEARGT,KTREND,1)
124 endif
125 endif
126 c 06/20/2005
127 c CALL RCOMP1 (521,0,60)
128 print *,'Before CALL RCOMP1'
129 CALL RCOMP1 (521,0,60,KTREND)
130 print *,'After CALL RCOMP1'
131 c if(READGHG.lt.0.5) CALL WRITER (1,0) 4554.
132 RETURN 4555.
133 C**** 4556.
134 C**** 4557.
135 ENTRY COSZT (IM,JM,SIND,COSD,ROT1,ROT2,COSZ) 4558.
136 C**** 4559.
137 C**** THIS ENTRY COMPUTES THE ZENITH ANGLE WEIGHTED BY DAYTIME 4560.
138 C**** HOURS FROM ROT1 TO ROT2, GREENWICH MEAN TIME IN RADIANS. ROT1 4561.
139 C**** MUST BE BETWEEN 0 AND 2*PI. ROT2 MUST BE BETWEEN ROT1 AND 4562.
140 C**** ROT1+2*PI. I=1 MUST LIE ON THE INTERNATIONAL DATE LINE. 4563.
141 C**** 4564.
142 DROT=ROT2-ROT1 4565.
143 C**** COMPUTE THE SINES AND COSINES OF THE INITIAL AND FINAL GMT'S 4566.
144 100 SR1=SIN(ROT1) 4567.
145 CR1=COS(ROT1) 4568.
146 SR2=SIN(ROT2) 4569.
147 CR2=COS(ROT2) 4570.
148 C**** COMPUTE THE INITIAL AND FINAL LOCAL TIMES (MEASURED FROM NOON TO 4571.
149 C**** NOON) AND THEIR SINES AND COSINES 4572.
150 DO 120 I=1,IM 4573.
151 LT1(I)=ROT1+RI(I) 4574.
152 SLT1(I)=SR1*COSI(I)+CR1*SINI(I) 4575.
153 LT2(I)=ROT2+RI(I) 4576.
154 120 SLT2(I)=SR2*COSI(I)+CR2*SINI(I) 4577.
155 C**** 4578.
156 C**** CALCULATION FOR POLAR GRID BOXES 4579.
157 C**** 4580.
158 DO 200 J=1,JM,JMM1 4581.
159 SJSD=SINJ(J)*SIND 4582.
160 CJCD=COSJ(J)*COSD 4583.
161 IF(SJSD+CJCD.LE.ZERO1) GO TO 180 4584.
162 IF(SJSD-CJCD.GE.0.) GO TO 160 4585.
163 C**** AVERAGE COSZ FROM DAWN TO DUSK NEAR THE POLES 4586.
164 DUSK=ACOS(-SJSD/CJCD) 4587.
165 SDUSK=SQRT(CJCD*CJCD-SJSD*SJSD)/CJCD 4588.
166 DAWN=-DUSK 4589.
167 SDAWN=-SDUSK 4590.
168 COSZ(1,J)=(SJSD*(DUSK-DAWN)+CJCD*(SDUSK-SDAWN))/TWOPI 4591.
169 GO TO 200 4592.
170 C**** CONSTANT DAYLIGHT NEAR THE POLES 4593.
171 160 COSZ(1,J)=SJSD 4594.
172 GO TO 200 4595.
173 C**** CONSTANT NIGHTIME NEAR THE POLES 4596.
174 180 COSZ(1,J)=0. 4597.
175 200 CONTINUE 4598.
176 C**** 4599.
177 C**** LOOP OVER NON-POLAR LATITUDES 4600.
178 C**** 4601.
179 DO 500 J=2,JMM1 4602.
180 SJSD=SINJ(J)*SIND 4603.
181 CJCD=COSJ(J)*COSD 4604.
182 IF(SJSD+CJCD.LE.ZERO1) GO TO 460 4605.
183 IF(SJSD-CJCD.GE.0.) GO TO 420 4606.
184 C**** COMPUTE DAWN AND DUSK (AT LOCAL TIME) AND THEIR SINES 4607.
185 DUSK=ACOS(-SJSD/CJCD) 4608.
186 SDUSK=SQRT(CJCD*CJCD-SJSD*SJSD)/CJCD 4609.
187 DAWN=-DUSK 4610.
188 SDAWN=-SDUSK 4611.
189 C**** NEITHER CONSTANT DAYTIME NOR CONSTANT NIGHTIME AT THIS LATITUDE, 4612.
190 C**** LOOP OVER LONGITUDES 4613.
191 ! 03/07/06 solar radiation
192 ZERO2=ZERO1/CJCD
193 DO 400 I=1,IM 4614.
194 C**** FORCE DUSK TO LIE BETWEEN LT1 AND LT1+2*PI 4615.
195 IF(DUSK.GT.LT1(I)+ZERO2) GO TO 220 4616.
196 DUSK=DUSK+TWOPI 4617.
197 DAWN=DAWN+TWOPI 4618.
198 220 IF(DAWN.LT.LT2(I)-ZERO2) GO TO 240 4619.
199 C**** CONTINUOUS NIGHTIME FROM INITIAL TO FINAL TIME 4620.
200 COSZ(I,J)=0. 4621.
201 GO TO 400 4622.
202 240 IF(DAWN.GE.LT1(I)) GO TO 300 4623.
203 IF(DUSK.LT.LT2(I)) GO TO 260 4624.
204 C**** CONTINUOUS DAYLIGHT FROM INITIAL TIME TO FINAL TIME 4625.
205 COSZ(I,J)=SJSD+CJCD*(SLT2(I)-SLT1(I))/DROT 4626.
206 GO TO 400 4627.
207 260 IF(DAWN+TWOPI.LT.LT2(I)-ZERO2) GO TO 280 4628.
208 C**** DAYLIGHT AT INITIAL TIME AND NIGHT AT FINAL TIME 4629.
209 COSZ(I,J)=(SJSD*(DUSK-LT1(I))+CJCD*(SDUSK-SLT1(I)))/DROT 4630.
210 GO TO 400 4631.
211 C**** DAYLIGHT AT INITIAL AND FINAL TIMES WITH NIGHTIME IN BETWEEN 4632.
212 280 COSZ(I,J)=(SJSD*(LT2(I)-DAWN-TWOPI+DUSK-LT1(I))+CJCD* 4633.
213 * (SLT2(I)-SDAWN+SDUSK-SLT1(I)))/DROT 4634.
214 GO TO 400 4635.
215 300 IF(DUSK.LT.LT2(I)) GO TO 320 4636.
216 C**** NIGHT AT INITIAL TIME AND DAYLIGHT AT FINAL TIME 4637.
217 COSZ(I,J)=(SJSD*(LT2(I)-DAWN)+CJCD*(SLT2(I)-SDAWN))/DROT 4638.
218 GO TO 400 4639.
219 C**** NIGHTIME AT INITIAL AND FINAL TIMES WITH DAYLIGHT IN BETWEEN 4640.
220 320 COSZ(I,J)=(SJSD*(DUSK-DAWN)+CJCD*(SDUSK-SDAWN))/DROT 4641.
221 400 CONTINUE 4642.
222 GO TO 500 4643.
223 C**** CONSTANT DAYLIGHT AT THIS LATITUDE 4644.
224 420 DO 440 I=1,IM 4645.
225 440 COSZ(I,J)=SJSD+CJCD*(SLT2(I)-SLT1(I))/DROT 4646.
226 GO TO 500 4647.
227 C**** CONSTANT NIGHTIME AT THIS LATITUDE 4648.
228 460 DO 480 I=1,IM 4649.
229 480 COSZ(I,J)=0. 4650.
230 500 CONTINUE 4651.
231 RETURN 4652.
232 C**** 4653.
233 C**** 4654.
234 ENTRY COSZS (IM,JM,SIND,COSD,ROT1,ROT2,COSZ,COSZA) 4655.
235 C**** 4656.
236 C**** THIS ENTRY COMPUTES THE ZENITH ANGLE TWICE, FIRST WEIGHTED BY THE 4657.
237 C**** DAYTIME HOURS FROM ROT1 TO ROT2 AND SECONDLY WEIGHTED BY THE 4658.
238 C**** INCIDENT SUN LIGHT FROM ROT1 TO ROT2. COSZT MUST HAVE BEEN 4659.
239 C**** CALLED JUST PREVIOUSLY. 4660.
240 C**** 4661.
241 DROT=ROT2-ROT1 4662.
242 C**** COMPUTE THE SINES AND COSINES OF THE INITIAL AND FINAL GMT'S 4663.
243 SR1=SIN(ROT1) 4664.
244 CR1=COS(ROT1) 4665.
245 SR2=SIN(ROT2) 4666.
246 CR2=COS(ROT2) 4667.
247 C**** COMPUTE THE INITIAL AND FINAL LOCAL TIMES (MEASURED FROM NOON TO 4668.
248 C**** NOON) AND THEIR SINES AND COSINES 4669.
249 DO 520 I=1,IM 4670.
250 LT1(I)=ROT1+RI(I) 4671.
251 SLT1(I)=SR1*COSI(I)+CR1*SINI(I) 4672.
252 CLT1=CR1*COSI(I)-SR1*SINI(I) 4673.
253 S2LT1(I)=2.*SLT1(I)*CLT1 4674.
254 LT2(I)=ROT2+RI(I) 4675.
255 SLT2(I)=SR2*COSI(I)+CR2*SINI(I) 4676.
256 CLT2=CR2*COSI(I)-SR2*SINI(I) 4677.
257 520 S2LT2(I)=2.*SLT2(I)*CLT2 4678.
258 C**** 4679.
259 C**** CALCULATION FOR POLAR GRID BOXES 4680.
260 C**** 4681.
261 DO 600 J=1,JM,JMM1 4682.
262 SJSD=SINJ(J)*SIND 4683.
263 CJCD=COSJ(J)*COSD 4684.
264 IF(SJSD+CJCD.LE.ZERO1) GO TO 580 4685.
265 IF(SJSD-CJCD.GE.0.) GO TO 560 4686.
266 C**** AVERAGE COSZ FROM DAWN TO DUSK NEAR THE POLES 4687.
267 CDUSK=-SJSD/CJCD 4688.
268 DUSK=ACOS(CDUSK) 4689.
269 SDUSK=SQRT(CJCD*CJCD-SJSD*SJSD)/CJCD 4690.
270 S2DUSK=2.*SDUSK*CDUSK 4691.
271 DAWN=-DUSK 4692.
272 SDAWN=-SDUSK 4693.
273 S2DAWN=-S2DUSK 4694.
274 ECOSZ=SJSD*(DUSK-DAWN)+CJCD*(SDUSK-SDAWN) 4695.
275 ECOSQZ=SJSD*ECOSZ+CJCD*(SJSD*(SDUSK-SDAWN)+ 4696.
276 * .5*CJCD*(DUSK-DAWN+.5*(S2DUSK-S2DAWN))) 4697.
277 COSZ(1,J)=ECOSZ/TWOPI 4698.
278 COSZA(1,J)=ECOSQZ/ECOSZ 4699.
279 GO TO 600 4700.
280 C**** CONSTANT DAYLIGHT NEAR THE POLES 4701.
281 560 ECOSZ=SJSD*TWOPI 4702.
282 ECOSQZ=SJSD*ECOSZ+.5*CJCD*CJCD*TWOPI 4703.
283 COSZ(1,J)=ECOSZ/TWOPI 4704.
284 COSZA(1,J)=ECOSQZ/ECOSZ 4705.
285 GO TO 600 4706.
286 C**** CONSTANT NIGHTIME NEAR THE POLES 4707.
287 580 COSZ(1,J)=0. 4708.
288 COSZA(1,J)=0. 4709.
289 600 CONTINUE 4710.
290 C**** 4711.
291 C**** LOOP OVER NON-POLAR LATITUDES 4712.
292 C**** 4713.
293 DO 900 J=2,JMM1 4714.
294 SJSD=SINJ(J)*SIND 4715.
295 CJCD=COSJ(J)*COSD 4716.
296 IF(SJSD+CJCD.LE.ZERO1) GO TO 860 4717.
297 IF(SJSD-CJCD.GE.0.) GO TO 820 4718.
298 C**** COMPUTE DAWN AND DUSK (AT LOCAL TIME) AND THEIR SINES 4719.
299 CDUSK=-SJSD/CJCD 4720.
300 DUSK=ACOS(CDUSK) 4721.
301 SDUSK=SQRT(CJCD*CJCD-SJSD*SJSD)/CJCD 4722.
302 S2DUSK=2.*SDUSK*CDUSK 4723.
303 DAWN=-DUSK 4724.
304 SDAWN=-SDUSK 4725.
305 S2DAWN=-S2DUSK 4726.
306 C**** NEITHER CONSTANT DAYTIME NOR CONSTANT NIGHTIME AT THIS LATITUDE, 4727.
307 C**** LOOP OVER LONGITUDES 4728.
308 ! 03/07/06 solar radiation
309 ZERO2=ZERO1/CJCD
310 DO 800 I=1,IM 4729.
311 C**** FORCE DUSK TO LIE BETWEEN LT1 AND LT1+2*PI 4730.
312 IF(DUSK.GT.LT1(I)+ZERO2) GO TO 620 4731.
313 DUSK=DUSK+TWOPI 4732.
314 DAWN=DAWN+TWOPI 4733.
315 620 IF(DAWN.LT.LT2(I)-ZERO2) GO TO 640 4734.
316 C**** CONTINUOUS NIGHTIME FROM INITIAL TO FINAL TIME 4735.
317 COSZ(I,J)=0. 4736.
318 COSZA(I,J)=0. 4737.
319 GO TO 800 4738.
320 640 IF(DAWN.GE.LT1(I)) GO TO 700 4739.
321 IF(DUSK.LT.LT2(I)) GO TO 660 4740.
322 C**** CONTINUOUS DAYLIGHT FROM INITIAL TIME TO FINAL TIME 4741.
323 ECOSZ=SJSD*DROT+CJCD*(SLT2(I)-SLT1(I)) 4742.
324 ECOSQZ=SJSD*ECOSZ+CJCD*(SJSD*(SLT2(I)-SLT1(I))+ 4743.
325 * .5*CJCD*(DROT+.5*(S2LT2(I)-S2LT1(I)))) 4744.
326 COSZ(I,J)=ECOSZ/DROT 4745.
327 COSZA(I,J)=ECOSQZ/ECOSZ 4746.
328 GO TO 800 4747.
329 660 IF(DAWN+TWOPI.LT.LT2(I)-ZERO2) GO TO 680 4748.
330 C**** DAYLIGHT AT INITIAL TIME AND NIGHT AT FINAL TIME 4749.
331 ECOSZ=SJSD*(DUSK-LT1(I))+CJCD*(SDUSK-SLT1(I)) 4750.
332 ECOSQZ=SJSD*ECOSZ+CJCD*(SJSD*(SDUSK-SLT1(I))+ 4751.
333 * .5*CJCD*(DUSK-LT1(I)+.5*(S2DUSK-S2LT1(I)))) 4752.
334 COSZ(I,J)=ECOSZ/DROT 4753.
335 COSZA(I,J)=ECOSQZ/ECOSZ 4754.
336 GO TO 800 4755.
337 C**** DAYLIGHT AT INITIAL AND FINAL TIMES WITH NIGHTIME IN BETWEEN 4756.
338 680 ECOSZ=SJSD*(DROT-DAWN-TWOPI+DUSK)+ 4757.
339 * CJCD*(SLT2(I)-SDAWN+SDUSK-SLT1(I)) 4758.
340 ECOSQZ=SJSD*ECOSZ+CJCD*(SJSD*(SDUSK-SLT1(I)+SLT2(I)-SDAWN)+ 4759.
341 * .5*CJCD*(DUSK+DROT-DAWN-TWOPI+ 4760.
342 * .5*(S2DUSK-S2LT1(I)+S2LT2(I)-S2DAWN))) 4761.
343 COSZ(I,J)=ECOSZ/DROT 4762.
344 COSZA(I,J)=ECOSQZ/ECOSZ 4763.
345 GO TO 800 4764.
346 700 IF(DUSK.LT.LT2(I)) GO TO 720 4765.
347 C**** NIGHT AT INITIAL TIME AND DAYLIGHT AT FINAL TIME 4766.
348 ECOSZ=SJSD*(LT2(I)-DAWN)+CJCD*(SLT2(I)-SDAWN) 4767.
349 ECOSQZ=SJSD*ECOSZ+CJCD*(SJSD*(SLT2(I)-SDAWN)+ 4768.
350 * .5*CJCD*(LT2(I)-DAWN+.5*(S2LT2(I)-S2DAWN))) 4769.
351 COSZ(I,J)=ECOSZ/DROT 4770.
352 COSZA(I,J)=ECOSQZ/ECOSZ 4771.
353 GO TO 800 4772.
354 C**** NIGHTIME AT INITIAL AND FINAL TIMES WITH DAYLIGHT IN BETWEEN 4773.
355 720 ECOSZ=SJSD*(DUSK-DAWN)+CJCD*(SDUSK-SDAWN) 4774.
356 ECOSQZ=SJSD*ECOSZ+CJCD*(SJSD*(SDUSK-SDAWN)+ 4775.
357 * .5*CJCD*(DUSK-DAWN+.5*(S2DUSK-S2DAWN))) 4776.
358 COSZ(I,J)=ECOSZ/DROT 4777.
359 COSZA(I,J)=ECOSQZ/ECOSZ 4778.
360 800 CONTINUE 4779.
361 GO TO 900 4780.
362 C**** CONSTANT DAYLIGHT AT THIS LATITUDE 4781.
363 820 DO 840 I=1,IM 4782.
364 ECOSZ=SJSD*DROT+CJCD*(SLT2(I)-SLT1(I)) 4783.
365 ECOSQZ=SJSD*ECOSZ+CJCD*(SJSD*(SLT2(I)-SLT1(I))+ 4784.
366 * .5*CJCD*(DROT+.5*(S2LT2(I)-S2LT1(I)))) 4785.
367 COSZ(I,J)=ECOSZ/DROT 4786.
368 840 COSZA(I,J)=ECOSQZ/ECOSZ 4787.
369 GO TO 900 4788.
370 C**** CONSTANT NIGHTIME AT THIS LATITUDE 4789.
371 860 DO 880 I=1,IM 4790.
372 COSZ(I,J)=0. 4791.
373 880 COSZA(I,J)=0. 4792.
374 900 CONTINUE 4793.
375 RETURN 4794.
376 END 4795.

  ViewVC Help
Powered by ViewVC 1.1.22