anchor.diff:               allocate(e%bcgs(npts))
                allocate(e%ncgsnth(npts)); allocate(e%p(npts))
                call initialize_polsynchpl(e%neq) !I guess this is right?
  +           CASE (EMAXJUTT) !alwinnote 2015/03/05
  +             allocate(e%tcgs(npts)); allocate(e%ncgs(npts))
  +             allocate(e%bcgs(npts))
              CASE (EPOLSYNCHTH)
                allocate(e%tcgs(npts)); allocate(e%ncgs(npts))
                allocate(e%bcgs(npts))
  
positive.code:                   ESYNCHPL=3,EPOLSYNCHPL=4,EBREMS=5,ELINE=6, &
                    EIRON=7,EBB=8,EBBPOL=9,EINTERP=10,EFBB=11,ERHO=12, &
                    ESYNCHTHAV=13, ESYNCHTHAVNOABS=14, EHYBRIDTHPL = 20, &
                    EHYBRIDTH=21, EHYBRIDPL=22
  
         type emis
           real(kind=8), dimension(:,:), allocatable :: j,K
  
negative.code: 
           integer :: i
           select  case(e%type)
             case(emaxjutt)
  !alwinnote 2015/03/05 Below is just copied from ehybridthpl not currently functional
  !need to ensure unit conversions are safe before continuing
  !convert theta_min in units of theta = kT/m_e c^2 to tcgs units
  !nu is just a frequency
  !ncgs just gets multiplied by dimensionless weights
  !bcgs is just an input
                call polsynchth(nu,e%ncgs,e%bcgs,e%tcgs,e%incang,Kth)
                call polsynchpl(nu,e%ncgsnth,e%bcgs,e%incang,e%p,e%gmin, &
                 e%gmax,Kpl)
                K = Kth + Kpl
             case(ehybridthpl)
                call polsynchth(nu,e%ncgs,e%bcgs,e%tcgs,e%incang,Kth)
                call polsynchpl(nu,e%ncgsnth,e%bcgs,e%incang,e%p,e%gmin, &
  