anchor.diff:           !
            iloggf = nint(log(gf))
            !
  +         jf = jrot(ilevelf)
  +         ji = jrot(ileveli)
  +         !
  +         gamma1 = species(1)%gamma
  +         n1     = species(1)%n
  +         !
  +         Jpp = nint(Ji)
  +         Jp  = nint(Jf)
  +         !
  +         if ( trim(species(1)%filename)/="" ) then
  +           gamma1 = species(1)%gammaQN(Jpp,Jp-Jpp)
  +           n1     = species(1)%nQN(Jpp,Jp-Jpp)
  +         endif
  +         !
  +         if ( trim(species(2)%filename)/="" ) then
  +           gamma2 = species(2)%gammaQN(Jpp,Jp-Jpp)
  +         endif
  +         !
            write(out,"(i12,1x,f12.6,1x,i6,1x,f12.4,1x,f11.4,1x,f11.4,1x,f11.4,'||')") &
                        iso,lambda,iloggf,energyi,&
  -                     species(1)%gamma,species(2)%gamma,species(1)%n
  +                     gamma1,gamma2,n1
        enddo
        !
        !ielion, wl, gf-value, xi, igr, igs, igw
  
positive.code:          !
          else
           !
           write(out,"('Jmax = 0 in ',a)") trim(species(i)%filename)
           stop 'Jmax = 0 in a broadening file'
           !
         endif
         !
  
negative.code:      !
       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,gamma1,gamma2,n1,ji,jf
       integer(ik),intent(in) :: gtot(nlines)
       integer(ik) :: i,iloggf,ileveli,ilevelf,jp,jpp
       real(rk) :: lambda
       !
       do i = 1,nswap
           !
  