<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
<A NAME='DA_EPSALT_ADJ'><A href='../../html_code/ssmi/da_epsalt_adj.inc.html#DA_EPSALT_ADJ' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>

subroutine da_epsalt_adj(f,t,ssw,ADJ_t, ADJ_epsr, ADJ_epsi) 1,2

   implicit none

   !---------------------------------------------------------------------------
   ! Purpose: TBD
   ! Output: ADJ_t      (ssw is treated as a constant now)
   ! Input: ADJ_epsr, ADJ_epsi, epsr, epsi
   !---------------------------------------------------------------------------

   real, intent(in)    :: f, t
   real, intent(inout) :: ADJ_t
   real, intent(inout) :: ssw
   real, intent(in)    :: ADJ_epsr, ADJ_epsi

   complex :: cdum1,cdum2,cdum3
   complex :: ADJ_cdum1,ADJ_cdum2,ADJ_cdum3
   real    :: ssw2,ssw3,t2,t3,es,a,esnew,tau,b,sig,taunew
   real    :: delt,delt2,beta,signew,om,d1,d2
   real    :: ADJ_t2,ADJ_t3,ADJ_es,ADJ_a,ADJ_esnew,ADJ_tau,ADJ_b,ADJ_taunew
   real    :: ADJ_delt,ADJ_delt2,ADJ_beta,ADJ_signew
   real    :: ADJ_d1,ADJ_d2

   if (trace_use) call da_trace_entry("da_epsalt_adj")

   ssw2=0.0
   ssw3=0.0 
   t2=0.0
   t3=0.0
   es=0.0
   a=0.0
   esnew=0.0
   tau=0.0
   b=0.0
   sig=0.0
   taunew=0.0
   delt=0.0
   delt2=0.0
   beta=0.0 
   signew=0.0
   om=0.0
   d1=0.0
   d2=0.0
   ADJ_t2=0.0
   ADJ_t3=0.0
   ADJ_es=0.0
   ADJ_a=0.0
   ADJ_esnew=0.0
   ADJ_tau=0.0
   ADJ_b=0.0
   ADJ_taunew=0.0
   ADJ_delt=0.0
   ADJ_delt2=0.0
   ADJ_beta=0.0
   ADJ_signew=0.0
   ADJ_d1=0.0
   ADJ_d2=0.0

   if (ssw .lt. 0.0) ssw = 32.54

   ssw2     = ssw*ssw
   ssw3     = ssw2*ssw
   t2     = t*t
   t3     = t2*t
   es     = 87.134 - 1.949e-1*t - 1.276e-2*t2 + 2.491e-4*t3
   a      = 1.0 + 1.613e-5*ssw*t - 3.656e-3*ssw + 3.21e-5*ssw2 - &amp;
            4.232e-7*ssw3
   esnew  = es*a

   tau    = 1.768e-11 - 6.086e-13*t + 1.104e-14*t2 - 8.111e-17*t3
   b      = 1.0 + 2.282e-5*ssw*t - 7.638e-4*ssw - 7.760e-6*ssw2 + &amp;
            1.105e-8*ssw3
   taunew = tau*b

   sig    = ssw*(0.182521 - 1.46192e-3*ssw + 2.09324e-5*ssw2 - &amp;
            1.28205e-7*ssw3)
   delt   = 25.0 - t
   delt2  = delt*delt
   beta   =   2.033e-2 + 1.266e-4*delt      + 2.464e-6*delt2       &amp;
            - ssw*(1.849e-5 - 2.551e-7*delt + 2.551e-8*delt2)
   signew  =   sig*exp(-beta*delt)

   om  = 2.0e9*pi*f
   cdum1  = cmplx(0.0,om*taunew)
   cdum2  = cmplx(0.0,signew/(om*8.854e-12))

   cdum3  = 4.9 + (esnew-4.9)/(1.0 + cdum1) - cdum2

   ADJ_cdum3  = ADJ_epsr + ADJ_epsi *(0.0,1.0)
   ADJ_esnew  =   REAL(ADJ_cdum3/((1.0,0.0) + cdum1))
   ADJ_cdum1  = - ADJ_cdum3*(esnew-4.9)/((1.0 + cdum1)*(1.0 + cdum1))
   ADJ_cdum2  = - ADJ_cdum3


   ADJ_signew = -aimag(ADJ_cdum2/(om*8.854e-12)) 

   ADJ_taunew = om*(-aimag(ADJ_cdum1))

   ADJ_beta   = - signew*ADJ_signew*delt
   ADJ_delt   = - signew*beta*ADJ_signew

   ADJ_delt   =   1.266e-4*ADJ_beta     + ADJ_delt
   ADJ_delt2  =   2.464e-6*ADJ_beta
   ADJ_delt   =   ssw*2.551e-7*ADJ_beta + ADJ_delt
   ADJ_delt2  = - ssw*2.551e-8*ADJ_beta + ADJ_delt2

   ADJ_delt   = 2.0*delt*ADJ_delt2 + ADJ_delt

   ADJ_t      =  - ADJ_delt + ADJ_t

   ADJ_tau    = ADJ_taunew*b 
   ADJ_b      = tau*ADJ_taunew

   ADJ_t      = 2.282e-5*ssw*ADJ_b  + ADJ_t

   ADJ_t      = - 6.086e-13*ADJ_tau + ADJ_t
   ADJ_t2     =   1.104e-14*ADJ_tau
   ADJ_t3     = - 8.111e-17*ADJ_tau

   ADJ_es     = ADJ_esnew*a
   ADJ_a      = es*ADJ_esnew
   ADJ_t      = 1.613e-5*ssw*ADJ_a  + ADJ_t
   ADJ_t      = - 1.949e-1*ADJ_es   + ADJ_t
   ADJ_t2     = - 1.276e-2*ADJ_es   + ADJ_t2
   ADJ_t3     =   2.491e-4*ADJ_es   + ADJ_t3

   ADJ_t2     = ADJ_t3*t     + ADJ_t2
   ADJ_t      = t2*ADJ_t3    + ADJ_t
   ADJ_t      = 2.0*t*ADJ_t2  + ADJ_t

   if (trace_use) call da_trace_exit("da_epsalt_adj")

end subroutine da_epsalt_adj