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