da_effht_adj.inc
References to this file elsewhere.
1 subroutine da_effht_adj(ho,hv,sigo,sigv,mu,zcld,hdn,hup,hdninf,hupinf, &
2 ADJ_ho,ADJ_hv,ADJ_sigo,ADJ_sigv,ADJ_mu, &
3 ADJ_zcld,ADJ_hdn,ADJ_hup,ADJ_hdninf,ADJ_hupinf )
4
5 implicit none
6
7 !--------------------------------------------------------------------
8 ! Purpose: TBD
9 ! Output : ADJ_ho, ADJ_hv, ADJ_sigo, ADJ_sigv, ADJ_zcld, ADJ_mu
10 ! Input : ADJ_hdn, ADJ_hup, ADJ_hdninf, ADJ_hupinf
11 !--------------------------------------------------------------------
12
13 real, intent(in) :: ho,hv,sigo,sigv,mu,zcld
14 real, intent(inout) :: ADJ_ho,ADJ_hv,ADJ_sigo,ADJ_sigv,ADJ_zcld, ADJ_mu
15 real, intent(inout) :: hdn,hup,hdninf,hupinf
16 real, intent(in) :: ADJ_hdn,ADJ_hup,ADJ_hdninf,ADJ_hupinf
17
18 real :: gint,zgint,hint,zhint
19 real :: ginf,zginf,hinf,zhinf
20 real :: ADJ_gint,ADJ_zgint,ADJ_hint,ADJ_zhint
21 real :: ADJ_ginf,ADJ_zginf,ADJ_hinf,ADJ_zhinf
22 real :: ADJ_mu2,ADJ_halfmu,ADJ_sixthmu2,ADJ_etnthmu2
23 real :: ADJ_quartmu,ADJ_halfmu2
24
25 real :: hoinv,hvinv,chio,chiv,ezho,ezhv,alpha,alph2,alph3
26 real :: chio_save,chiv_save,dplus_save,dmin_save
27 real :: beta,beta2,beta3,mu2,mualph,cplus,cmin,dplus,dmin
28 real :: chiov,chivv,chioo,chioov,chiovv,chiooo,chivvv
29 real :: h11,h21,h12,newh11
30 real :: sigoo,sigov,sigvv,sigooo,sigoov,sigovv,sigvvv
31 real :: ezhoo,ezhov,ezhvv,ezhooo,ezhoov,ezhovv,ezhvvv
32 real :: s,sprim,t,tprim,u,uprim,term1,term2,term3
33 real :: halfmu,halfmu2,sixthmu2,etnthmu2,quartmu
34
35 real :: ADJ_hoinv,ADJ_hvinv,ADJ_chio,ADJ_chiv,ADJ_ezho
36 real :: ADJ_ezhv,ADJ_alpha,ADJ_alph2,ADJ_alph3
37 real :: ADJ_beta,ADJ_beta2,ADJ_beta3,ADJ_mualph
38 real :: ADJ_cplus,ADJ_cmin,ADJ_dplus,ADJ_dmin
39 real :: ADJ_chiov,ADJ_chivv,ADJ_chioo,ADJ_chioov
40 real :: ADJ_chiovv,ADJ_chiooo,ADJ_chivvv
41 real :: ADJ_h11,ADJ_h21,ADJ_h12,ADJ_newh11
42 real :: ADJ_sigoo,ADJ_sigov,ADJ_sigvv,ADJ_sigooo
43 real :: ADJ_sigoov,ADJ_sigovv,ADJ_sigvvv
44 real :: ADJ_ezhoo,ADJ_ezhov,ADJ_ezhvv,ADJ_ezhooo
45 real :: ADJ_ezhoov,ADJ_ezhovv,ADJ_ezhvvv
46 real :: ADJ_s,ADJ_sprim,ADJ_t,ADJ_tprim
47 real :: ADJ_u,ADJ_uprim,ADJ_term1,ADJ_term2,ADJ_term3
48
49 if (trace_use) call da_trace_entry("da_effht_adj")
50
51 ! initial zero
52 gint=0.0
53 zgint=0.0
54 hint=0.0
55 zhint=0.0
56 ginf=0.0
57 zginf=0.0
58 hinf=0.0
59 zhinf=0.0
60 hoinv=0.0
61 hvinv=0.0
62 chio=0.0
63 chiv=0.0
64 ezho=0.0
65 ezhv=0.0
66 alpha=0.0
67 alph2=0.0
68 alph3=0.0
69 chio_save=0.0
70 chiv_save=0.0
71 dplus_save=0.0
72 dmin_save=0.0
73 beta=0.0
74 beta2=0.0
75 beta3=0.0
76 mu2=0.0
77 mualph=0.0
78 cplus=0.0
79 cmin=0.0
80 dplus=0.0
81 dmin=0.0
82 chiov=0.0
83 chivv=0.0
84 chioo=0.0
85 chioov=0.0
86 chiovv=0.0
87 chiooo=0.0
88 chivvv=0.0
89 h11=0.0
90 h21=0.0
91 h12=0.0
92 newh11=0.0
93 sigoo=0.0
94 sigov=0.0
95 sigvv=0.0
96 sigooo=0.0
97 sigoov=0.0
98 sigovv=0.0
99 sigvvv=0.0
100 ezhoo=0.0
101 ezhov=0.0
102 ezhvv=0.0
103 ezhooo=0.0
104 ezhoov=0.0
105 ezhovv=0.0
106 ezhvvv=0.0
107 s=0.0
108 sprim=0.0
109 t=0.0
110 tprim=0.0
111 u=0.0
112 uprim=0.0
113 term1=0.0
114 term2=0.0
115 term3=0.0
116 halfmu=0.0
117 halfmu2=0.0
118 sixthmu2=0.0
119 etnthmu2=0.0
120 quartmu=0.0
121
122 ! WHY?
123 ! ADJ_ho=0.0
124 ! ADJ_hv=0.0
125 ! ADJ_sigo=0.0
126 ! ADJ_sigv=0.0
127 ! ADJ_zcld=0.0
128 ! ADJ_mu=0.0
129
130 ADJ_gint=0.0
131 ADJ_zgint=0.0
132 ADJ_hint=0.0
133 ADJ_zhint=0.0
134 ADJ_ginf=0.0
135 ADJ_zginf=0.0
136 ADJ_hinf=0.0
137 ADJ_zhinf=0.0
138 ADJ_mu2=0.0
139 ADJ_halfmu=0.0
140 ADJ_sixthmu2=0.0
141 ADJ_etnthmu2=0.0
142 ADJ_quartmu=0.0
143 ADJ_halfmu2=0.0
144 ADJ_hoinv=0.0
145 ADJ_hvinv=0.0
146 ADJ_chio=0.0
147 ADJ_chiv=0.0
148 ADJ_ezho=0.0
149 ADJ_ezhv=0.0
150 ADJ_alpha=0.0
151 ADJ_alph2=0.0
152 ADJ_alph3=0.0
153 ADJ_beta=0.0
154 ADJ_beta2=0.0
155 ADJ_beta3=0.0
156 ADJ_mualph=0.0
157 ADJ_cplus=0.0
158 ADJ_cmin=0.0
159 ADJ_dplus=0.0
160 ADJ_dmin=0.0
161 ADJ_chiov=0.0
162 ADJ_chivv=0.0
163 ADJ_chioo=0.0
164 ADJ_chioov=0.0
165 ADJ_chiovv=0.0
166 ADJ_chiooo=0.0
167 ADJ_chivvv=0.0
168 ADJ_h11=0.0
169 ADJ_h21=0.0
170 ADJ_h12=0.0
171 ADJ_newh11=0.0
172 ADJ_sigoo=0.0
173 ADJ_sigov=0.0
174 ADJ_sigvv=0.0
175 ADJ_sigooo=0.0
176 ADJ_sigoov=0.0
177 ADJ_sigovv=0.0
178 ADJ_sigvvv=0.0
179 ADJ_ezhoo=0.0
180 ADJ_ezhov=0.0
181 ADJ_ezhvv=0.0
182 ADJ_ezhooo=0.0
183 ADJ_ezhoov=0.0
184 ADJ_ezhovv=0.0
185 ADJ_ezhvvv=0.0
186 ADJ_s=0.0
187 ADJ_sprim=0.0
188 ADJ_t=0.0
189 ADJ_tprim=0.0
190 ADJ_u=0.0
191 ADJ_uprim=0.0
192 ADJ_term1=0.0
193 ADJ_term2=0.0
194 ADJ_term3=0.0
195
196 ! base fields
197
198 hoinv = 1.0d0/ho
199 hvinv = 1.0d0/hv
200 chio = zcld*hoinv
201 chiv = zcld*hvinv
202 ezho = sigo*exp(-chio)
203 ezhv = sigv*exp(-chiv)
204 alpha = sigo + sigv
205 alph2 = alpha*alpha
206 alph3 = alpha*alph2
207 beta = ezho + ezhv
208 beta2 = beta*beta
209 beta3 = beta*beta2
210
211 mu2 = mu*mu
212 halfmu = 0.5d0* mu
213 sixthmu2 = mu2/6.0d0
214 etnthmu2 = mu2/18.0d0
215 quartmu = 0.25d0* mu
216 halfmu2 = 0.5d0* mu2
217
218 mualph = mu*alpha
219 cplus = 1.0d0 + mualph
220 cmin = 1.0d0 - mualph
221 dplus = halfmu2*alph2
222 dmin = dplus
223
224 dplus_save = dplus
225 dplus = cplus + dplus
226
227 dmin_save = dmin
228 dmin = cmin + dmin
229
230 h11 = hoinv + hvinv
231 h21 = 1.0d0/(h11 + hvinv)
232 h12 = 1.0d0/(h11 + hoinv)
233 newh11 = 1.0d0/h11
234
235 chiov = 1.0d0 + chio + chiv
236 chioo = 1.0d0 + chio + chio
237 chivv = 1.0d0 + chiv + chiv
238 chioov = chioo + chiv
239 chiovv = chio + chivv
240 chiooo = chioo + chio
241 chivvv = chivv + chiv
242 chio_save = chio
243 chio = 1.0d0 + chio
244 chiv_save = chiv
245 chiv = 1.0d0 + chiv
246 sigov = sigo*sigv
247 sigoo = sigo*sigo
248 sigvv = sigv*sigv
249 sigooo = sigoo*sigo
250 sigoov = sigoo*sigv
251 sigovv = sigo*sigvv
252 sigvvv = sigvv*sigv
253 ezhoo = ezho*ezho
254 ezhov = ezho*ezhv
255 ezhvv = ezhv*ezhv
256 ezhovv = ezho*ezhvv
257 ezhoov = ezhoo*ezhv
258 ezhooo = ezhoo*ezho
259 ezhvvv = ezhvv*ezhv
260 s = sigo*ho + sigv*hv
261
262 sprim = ezho*ho*chio + ezhv*hv*chiv
263 t = sigoo*ho + 4.0d0*sigov*newh11 + sigvv*hv
264
265 tprim = ezhoo*ho*chioo + 4.0d0*ezhov*newh11*chiov + ezhvv*hv*chivv
266 u = sigooo*ho + 9.0d0*(sigovv*h21+sigoov*h12) + sigvvv*hv
267
268 uprim = ezhvvv*hv*chivvv + &
269 9.0d0*(ezhovv*h21*chiovv + ezhoov*h12*chioov) + &
270 ezhooo*ho*chiooo
271
272 term1 = s - sprim
273 term2 = quartmu*(t - tprim)
274 term3 = etnthmu2*( u - uprim)
275 zgint = dmin*term1 + cmin*term2 + term3
276 zhint = -dplus*term1 + cplus*term2 - term3
277 term2 = quartmu * t
278 term3 = etnthmu2*u
279 zginf = dmin*s + cmin*term2 + term3
280 zhinf = -dplus*s + cplus*term2 - term3
281
282 term1 = alpha - beta
283 term2 = halfmu*( alph2 - beta2)
284 term3 = sixthmu2*( alph3 - beta3)
285 gint = dmin*term1 + cmin*term2 + term3
286 hint = -dplus*term1 + cplus*term2 - term3
287 term2 = halfmu*alph2
288 term3 = sixthmu2*alph3
289 ginf = dmin*alpha + cmin*term2 + term3
290 hinf = -dplus*alpha + cplus*term2 - term3
291 hdn = zgint/gint
292 hup = zhint/hint
293 hdninf = zginf/ginf
294 hupinf = zhinf/hinf
295
296 ! start
297
298 ADJ_zhinf = ADJ_hupinf/hinf + ADJ_zhinf
299 ADJ_hinf = - hupinf*ADJ_hupinf/hinf + ADJ_hinf
300
301 ADJ_zginf = ADJ_hdninf/ginf + ADJ_zginf
302 ADJ_ginf = - hdninf*ADJ_hdninf/ginf + ADJ_ginf
303
304 ADJ_zhint = ADJ_hup/hint + ADJ_zhint
305 ADJ_hint = - hup*ADJ_hup/hint + ADJ_hint
306
307 ADJ_zgint = ADJ_hdn/gint + ADJ_zgint
308 ADJ_gint = - hdn * ADJ_hdn/gint + ADJ_gint
309
310 ADJ_dplus = - ADJ_hinf*alpha + ADJ_dplus
311 ADJ_alpha = - dplus*ADJ_hinf + ADJ_alpha
312 ADJ_cplus = ADJ_hinf*term2 + ADJ_cplus
313 ADJ_term2 = cplus*ADJ_hinf
314 ADJ_term3 = - ADJ_hinf
315
316 ADJ_dmin = ADJ_ginf*alpha + ADJ_dmin
317 ADJ_alpha = dmin*ADJ_ginf + ADJ_alpha
318 ADJ_cmin = ADJ_ginf*term2 + ADJ_cmin
319 ADJ_term2 = cmin*ADJ_ginf + ADJ_term2
320 ADJ_term3 = ADJ_ginf + ADJ_term3
321
322 ADJ_sixthmu2 = ADJ_term3*alph3 + ADJ_sixthmu2
323 ADJ_alph3 = sixthmu2*ADJ_term3 + ADJ_alph3
324
325 ADJ_halfmu = ADJ_term2*alph2 + ADJ_halfmu
326 ADJ_alph2 = halfmu*ADJ_term2 + ADJ_alph2
327
328 ! new term2,3
329
330 term2 = halfmu*(alph2 - beta2)
331 term3 = sixthmu2*(alph3 - beta3)
332
333 ADJ_dplus = - ADJ_hint*term1 + ADJ_dplus
334 ADJ_term1 = - dplus*ADJ_hint
335 ADJ_cplus = ADJ_hint*term2 + ADJ_cplus
336 ADJ_term2 = cplus*ADJ_hint
337 ADJ_term3 = - ADJ_hint
338
339 ADJ_dmin = ADJ_gint*term1 + ADJ_dmin
340 ADJ_term1 = dmin*ADJ_gint + ADJ_term1
341 ADJ_cmin = ADJ_gint*term2 + ADJ_cmin
342 ADJ_term2 = cmin*ADJ_gint + ADJ_term2
343 ADJ_term3 = ADJ_gint + ADJ_term3
344
345 ADJ_sixthmu2 = ADJ_term3*(alph3 - beta3) + ADJ_sixthmu2
346 ADJ_alph3 = sixthmu2*ADJ_term3 + ADJ_alph3
347 ADJ_beta3 = - sixthmu2*ADJ_term3 + ADJ_beta3
348
349 ADJ_halfmu = ADJ_term2*(alph2 - beta2) + ADJ_halfmu
350 ADJ_alph2 = halfmu*ADJ_term2 + ADJ_alph2
351 ADJ_beta2 = - halfmu*ADJ_term2 + ADJ_beta2
352
353 ADJ_alpha = ADJ_term1 + ADJ_alpha
354 ADJ_beta = - ADJ_term1 + ADJ_beta
355
356 ! new term2,3
357
358 term2 = quartmu*t
359 term3 = etnthmu2*u
360
361 ADJ_dplus = - ADJ_zhinf*s + ADJ_dplus
362 ADJ_s = - dplus*ADJ_zhinf + ADJ_s
363 ADJ_cplus = ADJ_zhinf*term2 + ADJ_cplus
364 ADJ_term2 = cplus*ADJ_zhinf
365 ADJ_term3 = - ADJ_zhinf
366
367 ADJ_dmin = ADJ_zginf*s + ADJ_dmin
368 ADJ_s = dmin*ADJ_zginf + ADJ_s
369 ADJ_cmin = ADJ_zginf*term2 + ADJ_cmin
370 ADJ_term2 = cmin*ADJ_zginf + ADJ_term2
371 ADJ_term3 = ADJ_zginf + ADJ_term3
372
373 ADJ_etnthmu2 = ADJ_term3*u + ADJ_etnthmu2
374 ADJ_u = etnthmu2*ADJ_term3 + ADJ_u
375 ADJ_quartmu = ADJ_term2*t + ADJ_quartmu
376 ADJ_t = quartmu*ADJ_term2 + ADJ_t
377
378 ! new term1,2,3
379
380 term1 = s - sprim
381 term2 = quartmu*(t - tprim)
382 term3 = etnthmu2*(u - uprim)
383
384 ADJ_dplus = - ADJ_zhint*term1 + ADJ_dplus
385 ADJ_term1 = - dplus*ADJ_zhint
386 ADJ_cplus = ADJ_zhint*term2 + ADJ_cplus
387 ADJ_term2 = cplus*ADJ_zhint
388 ADJ_term3 = - ADJ_zhint
389
390 ADJ_dmin = ADJ_zgint*term1 + ADJ_dmin
391 ADJ_term1 = dmin*ADJ_zgint + ADJ_term1
392 ADJ_cmin = ADJ_zgint*term2 + ADJ_cmin
393 ADJ_term2 = cmin*ADJ_zgint + ADJ_term2
394 ADJ_term3 = ADJ_zgint + ADJ_term3
395
396 ADJ_etnthmu2 = ADJ_term3*(u - uprim) + ADJ_etnthmu2
397 ADJ_u = etnthmu2*ADJ_term3 + ADJ_u
398 ADJ_uprim = - etnthmu2*ADJ_term3 + ADJ_uprim
399
400 ADJ_quartmu = ADJ_term2*(t - tprim) + ADJ_quartmu
401 ADJ_t = quartmu*ADJ_term2 + ADJ_t
402 ADJ_tprim = - quartmu*ADJ_term2 + ADJ_tprim
403
404 ADJ_s = ADJ_term1 + ADJ_s
405 ADJ_sprim = - ADJ_term1 + ADJ_sprim
406
407
408 ADJ_ezhvvv = ADJ_uprim*hv*chivvv + ADJ_ezhvvv
409 ADJ_hv = ezhvvv*ADJ_uprim*chivvv + ADJ_hv
410 ADJ_chivvv = ezhvvv*hv*ADJ_uprim + ADJ_chivvv
411 ADJ_ezhovv = 9.0d0*ADJ_uprim*h21*chiovv + ADJ_ezhovv
412 ADJ_h21 = 9.0d0*ezhovv*ADJ_uprim*chiovv + ADJ_h21
413 ADJ_chiovv = 9.0d0*ezhovv*h21*ADJ_uprim + ADJ_chiovv
414 ADJ_ezhoov = 9.0d0*ADJ_uprim*h12*chioov + ADJ_ezhoov
415 ADJ_h12 = 9.0d0*ezhoov*ADJ_uprim*chioov + ADJ_h12
416 ADJ_chioov = 9.0d0*ezhoov*h12*ADJ_uprim + ADJ_chioov
417 ADJ_ezhooo = ADJ_uprim*ho*chiooo + ADJ_ezhooo
418 ADJ_ho = ezhooo*ADJ_uprim*chiooo + ADJ_ho
419 ADJ_chiooo = ezhooo*ho*ADJ_uprim + ADJ_chiooo
420
421 ADJ_sigooo = ADJ_u*ho + ADJ_sigooo
422 ADJ_ho = sigooo*ADJ_u + ADJ_ho
423 ADJ_sigovv = 9.0d0*ADJ_u*h21 + ADJ_sigovv
424 ADJ_h21 = 9.0d0*sigovv*ADJ_u + ADJ_h21
425 ADJ_sigoov = 9.0d0*ADJ_u*h12 + ADJ_sigoov
426 ADJ_h12 = 9.0d0*sigoov*ADJ_u + ADJ_h12
427 ADJ_sigvvv = ADJ_u*hv + ADJ_sigvvv
428 ADJ_hv = sigvvv*ADJ_u + ADJ_hv
429
430 ADJ_ezhoo = ADJ_tprim*ho*chioo + ADJ_ezhoo
431 ADJ_ho = ezhoo*ADJ_tprim*chioo + ADJ_ho
432 ADJ_chioo = ezhoo*ho*ADJ_tprim + ADJ_chioo
433 ADJ_ezhov = 4.0d0*ADJ_tprim*newh11*chiov + ADJ_ezhov
434 ADJ_newh11 = 4.0d0*ezhov*ADJ_tprim*chiov + ADJ_newh11
435 ADJ_chiov = 4.0d0*ezhov*newh11*ADJ_tprim + ADJ_chiov
436 ADJ_ezhvv = ADJ_tprim*hv*chivv + ADJ_ezhvv
437 ADJ_hv = ezhvv*ADJ_tprim*chivv + ADJ_hv
438 ADJ_chivv = ezhvv*hv*ADJ_tprim + ADJ_chivv
439
440 ADJ_sigoo = ADJ_t*ho + ADJ_sigoo
441 ADJ_ho = sigoo*ADJ_t + ADJ_ho
442 ADJ_sigov = 4.0d0*ADJ_t*newh11 + ADJ_sigov
443 ADJ_newh11 = 4.0d0*sigov*ADJ_t + ADJ_newh11
444 ADJ_sigvv = ADJ_t*hv + ADJ_sigvv
445 ADJ_hv = sigvv*ADJ_t + ADJ_hv
446
447 ADJ_ezho = ADJ_sprim*ho*chio + ADJ_ezho
448 ADJ_ho = ezho*ADJ_sprim*chio + ADJ_ho
449 ADJ_chio = ezho*ho*ADJ_sprim + ADJ_chio
450 ADJ_ezhv = ADJ_sprim*hv*chiv + ADJ_ezhv
451 ADJ_hv = ezhv*ADJ_sprim*chiv + ADJ_hv
452 ADJ_chiv = ezhv*hv*ADJ_sprim + ADJ_chiv
453
454 ADJ_sigo = ADJ_s*ho + ADJ_sigo
455 ADJ_ho = sigo*ADJ_s + ADJ_ho
456 ADJ_sigv = ADJ_s*hv + ADJ_sigv
457 ADJ_hv = sigv*ADJ_s + ADJ_hv
458
459 ADJ_ezhvv = ADJ_ezhvvv*ezhv + ADJ_ezhvv
460 ADJ_ezhv = ezhvv*ADJ_ezhvvv + ADJ_ezhv
461 ADJ_ezhoo = ADJ_ezhooo*ezho + ADJ_ezhoo
462 ADJ_ezho = ezhoo*ADJ_ezhooo + ADJ_ezho
463 ADJ_ezhoo = ADJ_ezhoov*ezhv + ADJ_ezhoo
464 ADJ_ezhv = ezhoo*ADJ_ezhoov + ADJ_ezhv
465 ADJ_ezho = ADJ_ezhovv*ezhvv + ADJ_ezho
466 ADJ_ezhvv = ezho*ADJ_ezhovv + ADJ_ezhvv
467 ADJ_ezhv = 2.0*ezhv*ADJ_ezhvv + ADJ_ezhv
468 ADJ_ezho = ADJ_ezhov*ezhv + ADJ_ezho
469 ADJ_ezhv = ezho*ADJ_ezhov + ADJ_ezhv
470 ADJ_ezho = 2.0*ezho*ADJ_ezhoo + ADJ_ezho
471 ADJ_sigvv = ADJ_sigvvv*sigv + ADJ_sigvv
472 ADJ_sigv = sigvv*ADJ_sigvvv + ADJ_sigv
473 ADJ_sigo = ADJ_sigovv*sigvv + ADJ_sigo
474 ADJ_sigvv = sigo*ADJ_sigovv + ADJ_sigvv
475 ADJ_sigoo = ADJ_sigoov*sigv + ADJ_sigoo
476 ADJ_sigv = sigoo*ADJ_sigoov + ADJ_sigv
477 ADJ_sigoo = ADJ_sigooo*sigo + ADJ_sigoo
478 ADJ_sigo = sigoo*ADJ_sigooo + ADJ_sigo
479 ADJ_sigv = 2.0*sigv*ADJ_sigvv + ADJ_sigv
480 ADJ_sigo = 2.0*sigo*ADJ_sigoo + ADJ_sigo
481 ADJ_sigo = ADJ_sigov*sigv + ADJ_sigo
482 ADJ_sigv = sigo*ADJ_sigov + ADJ_sigv
483
484 ! WHY?
485 ! ADJ_chiv = ADJ_chiv
486 ! ADJ_chio = ADJ_chio
487
488 ! new chio chiv
489
490 chio = chio_save
491 chiv = chiv_save
492
493 ADJ_chivv = ADJ_chivvv + ADJ_chivv
494 ADJ_chiv = ADJ_chivvv + ADJ_chiv
495
496 ADJ_chioo = ADJ_chiooo + ADJ_chioo
497 ADJ_chio = ADJ_chiooo + ADJ_chio
498
499 ADJ_chio = ADJ_chiovv + ADJ_chio
500 ADJ_chivv = ADJ_chiovv + ADJ_chivv
501
502 ADJ_chioo = ADJ_chioov + ADJ_chioo
503 ADJ_chiv = ADJ_chioov + ADJ_chiv
504
505 ADJ_chiv = ADJ_chivv + ADJ_chiv
506 ADJ_chiv = ADJ_chivv + ADJ_chiv
507
508 ADJ_chio = ADJ_chioo + ADJ_chio
509 ADJ_chio = ADJ_chioo + ADJ_chio
510
511 ADJ_chio = ADJ_chiov + ADJ_chio
512 ADJ_chiv = ADJ_chiov + ADJ_chiv
513
514 ADJ_h11 = -1.0d0*newh11*newh11*ADJ_newh11 + ADJ_h11
515
516 ADJ_h11 = -1.0d0*h12*h12*ADJ_h12 + ADJ_h11
517 ADJ_hoinv = -1.0d0*h12*h12*ADJ_h12 + ADJ_hoinv
518
519 ADJ_h11 = -1.0d0*h21*h21*ADJ_h21 + ADJ_h11
520 ADJ_hvinv = -1.0d0*h21*h21*ADJ_h21 + ADJ_hvinv
521
522 ADJ_hoinv = ADJ_h11 + ADJ_hoinv
523 ADJ_hvinv = ADJ_h11 + ADJ_hvinv
524
525 ADJ_cmin = ADJ_dmin + ADJ_cmin
526 ! ADJ_dmin = ADJ_dmin
527 dmin = dmin_save
528
529 ADJ_cplus = ADJ_dplus + ADJ_cplus
530 ! ADJ_dplus = ADJ_dplus
531 dplus = dplus_save
532
533 ADJ_dplus = ADJ_dmin + ADJ_dplus
534 ADJ_halfmu2 = ADJ_dplus*alph2 + ADJ_halfmu2
535 ADJ_alph2 = halfmu2*ADJ_dplus + ADJ_alph2
536 ADJ_mualph = - ADJ_cmin + ADJ_mualph
537 ADJ_mualph = ADJ_cplus + ADJ_mualph
538 ADJ_mu = ADJ_mualph*alpha + ADJ_mu
539 ADJ_alpha = mu*ADJ_mualph + ADJ_alpha
540
541 ADJ_mu2 = 0.5d0*ADJ_halfmu2 + ADJ_mu2
542 ADJ_mu = 0.25d0*ADJ_quartmu + ADJ_mu
543 ADJ_mu2 = ADJ_etnthmu2/18.0d0 + ADJ_mu2
544 ADJ_mu2 = ADJ_sixthmu2/6.0d0 + ADJ_mu2
545 ADJ_mu = 0.5d0*ADJ_halfmu + ADJ_mu
546 ADJ_mu = 2.0*mu*ADJ_mu2 + ADJ_mu
547
548 ADJ_beta = ADJ_beta3*beta2 + ADJ_beta
549 ADJ_beta2 = beta*ADJ_beta3 + ADJ_beta2
550 ADJ_beta = 2.0*beta*ADJ_beta2 + ADJ_beta
551 ADJ_ezho = ADJ_beta + ADJ_ezho
552 ADJ_ezhv = ADJ_beta + ADJ_ezhv
553 ADJ_alpha = ADJ_alph3*alph2 + ADJ_alpha
554 ADJ_alph2 = alpha*ADJ_alph3 + ADJ_alph2
555 ADJ_alpha = 2.0*alpha*ADJ_alph2 + ADJ_alpha
556 ADJ_sigo = ADJ_alpha + ADJ_sigo
557 ADJ_sigv = ADJ_alpha + ADJ_sigv
558 ADJ_sigv = ADJ_ezhv*exp(-chiv) + ADJ_sigv
559 ADJ_chiv = -ADJ_ezhv*ezhv + ADJ_chiv
560 ADJ_sigo = ADJ_ezho*exp(-chio) + ADJ_sigo
561 ADJ_chio = -ADJ_ezho*ezho + ADJ_chio
562 ADJ_zcld = ADJ_chiv*hvinv + ADJ_zcld
563 ADJ_hvinv= zcld*ADJ_chiv + ADJ_hvinv
564 ADJ_zcld = ADJ_chio*hoinv + ADJ_zcld
565 ADJ_hoinv = zcld*ADJ_chio + ADJ_hoinv
566 ADJ_hv = -1.0d0*hvinv*hvinv*ADJ_hvinv + ADJ_hv
567 ADJ_ho = -1.0d0*hoinv*hoinv*ADJ_hoinv + ADJ_ho
568
569 if (trace_use) call da_trace_exit("da_effht_adj")
570
571 end subroutine da_effht_adj
572
573