anchor.diff:    integer, private, save :: FLUKA_impacts_unit, FLUKA_impacts_all_unit, coll_scatter_unit, FirstImpacts_unit, RHIClosses_unit
     integer, private, save :: twisslike_unit, sigmasettings_unit, distsec_unit, efficiency_unit, efficiency_dpop_unit
     integer, private, save :: coll_summary_unit, amplitude_unit, amplitude2_unit, betafunctions_unit, orbitchecking_unit, distn_unit
  -  integer, private, save :: filename_dis_unit, CollPositions_unit, all_absorptions_unit, efficiency_2d_unit
  +  integer, private, save :: CollPositions_unit, all_absorptions_unit, efficiency_2d_unit
     integer, private, save :: collsettings_unit, outlun
     ! These are not in use
     !integer, save :: betatron_unit, beta_beat_unit
  
positive.code:   do j=1,napx
      if(mynex > zero .and. myney == zero) then ! halo in x
  10    continue
        myemitx = myemitx0*(mynex+(rndm4()*mdex))**2
        xsigmax = sqrt(mybetax*myemitx)
        xv1(j)  = xsigmax * sin_mb(twopi*rndm4())
        if(abs(xv1(j)).lt.cutoff) goto 10
  
negative.code:       iErr = .true.
        return
      end if
      if(nSplit > 1)  call chr_cast(lnSplit(2), cdist_ampX,     iErr)
      if(nSplit > 2)  call chr_cast(lnSplit(3), cdist_smearX,   iErr)
      if(nSplit > 3)  call chr_cast(lnSplit(4), cdist_ampY,     iErr)
      if(nSplit > 4)  call chr_cast(lnSplit(5), cdist_smearY,   iErr)
      if(nSplit > 5)  call chr_cast(lnSplit(6), cdist_spreadE,  iErr)
      if(nSplit > 6)  call chr_cast(lnSplit(7), cdist_bunchLen, iErr)
  
    case("DIST_FILE")
      if(nSplit /= 2) then
  