anchor.diff:        iErr = .true.
         return
       end if
  -    if(nSplit > 1) call chr_cast(lnSplit(2), mynex,       iErr)
  -    if(nSplit > 2) call chr_cast(lnSplit(3), mdex,        iErr)
  -    if(nSplit > 3) call chr_cast(lnSplit(4), myney,       iErr)
  -    if(nSplit > 4) call chr_cast(lnSplit(5), mdey,        iErr)
  -    if(nSplit > 5) call chr_cast(lnSplit(6), enerror,     iErr)
  -    if(nSplit > 6) call chr_cast(lnSplit(7), bunchlength, iErr)
  +    call chr_cast(lnSplit(2), mynex, iErr)
  +    call chr_cast(lnSplit(3), mdex,  iErr)
  +    call chr_cast(lnSplit(4), myney, iErr)
  +    call chr_cast(lnSplit(5), mdey,  iErr)
  +    if(nSplit == 7) then
  +      call chr_cast(lnSplit(6), enerror,     iErr)
  +      call chr_cast(lnSplit(7), bunchlength, iErr)
  +    end if
   
     case("DIST_FILE")
       if(nSplit /= 2) then
  
positive.code:       iErr = .true.
        return
      end if
      if(nSplit > 0)  call chr_cast(lnSplit(1), n_slices,   iErr)
      if(nSplit > 1)  call chr_cast(lnSplit(2), smin_slices,iErr)
      if(nSplit > 2)  call chr_cast(lnSplit(3), smax_slices,iErr)
      if(nSplit > 3)  call chr_cast(lnSplit(4), recenter1,  iErr)
      if(nSplit > 4)  call chr_cast(lnSplit(5), recenter2,  iErr)
  
    case(7)
      if(nSplit /= 7) then
  
negative.code:       iErr = .true.
        return
      end if
      call chr_cast(lnSplit(1), do_select,        iErr)
      call chr_cast(lnSplit(2), do_nominal,       iErr)
      call chr_cast(lnSplit(3), rnd_seed,         iErr)
      call chr_cast(lnSplit(4), dowrite_dist,     iErr)
      name_sel = lnSplit(5)
      call chr_cast(lnSplit(6), do_oneside,       iErr)
      call chr_cast(lnSplit(7), dowrite_impact,   iErr)
      call chr_cast(lnSplit(8), dowrite_secondary,iErr)
      call chr_cast(lnSplit(9), dowrite_amplitude,iErr)
  
    case(11)
      if(nSplit /= 4) then
  