anchor.diff:       !
        integer(ik),intent(in) :: iso,nswap,nlines,ilevelf_ram(nswap),ileveli_ram(nswap)
        real(rk),intent(in) :: acoef_ram(nswap),jrot(nlines),energies(nlines)
  -     real(rk)  :: gf,acoef,tranfreq,energyf,energyi
  +     real(rk)  :: gf,acoef,tranfreq,energyf,energyi,gamma1,gamma2,n1,ji,jf
        integer(ik),intent(in) :: gtot(nlines)
  -     integer(ik) :: i,iloggf,ileveli,ilevelf
  +     integer(ik) :: i,iloggf,ileveli,ilevelf,jp,jpp
        real(rk) :: lambda
  -     !
  -     !halfwidth=get_Voigt_gamma_n(Nspecies,Jf,Ji)
        !
        do i = 1,nswap
            !
  
positive.code:     endif
      !
      !   half width for Doppler profiling
      if (proftype(1:3)=='VOI'.or.proftype(1:3)=='PSE'.or.proftype(1:3)=='LOR'.and.Nspecies>0) then
        !
        halfwidth = 0
        !
  
negative.code:                write(out,"(4i12,2x,3es16.8)") ilevelf,ileveli,indexf,indexi,acoef,energyf,energyi
                 stop 'wrong order of indices'
                 cycle loop_swap
               elseif (energyf-energyi<small_) then
                 cycle loop_swap
               endif
               !
  