anchor.diff:                !
                 acoef = acoef_ram(iswap)
                 !
  -              if (Asum(ilevelf)<0) Asum(ilevelf) = 0
  +              if (isnan(Asum(ilevelf))) Asum(ilevelf) = 0
                 !
                 Asum(ilevelf) = Asum(ilevelf) + acoef+acoef/(exp(c2/temp*tranfreq)-1.0_rk)
                 !
  
positive.code:       !
        if (trim(proftype)=='LIFETIME'.or.trim(proftype)=='T-LIFETIME') THEN
          !
          ! allocate the matrix for the sum of the A-coeffs
          !
          allocate(Asum(nlines),stat=info)
          call ArrayStart('Asum',info,size(Asum),kind(Asum))
          !
          Asum = -1.0_rk
          !
        endif
        !
  
negative.code:          write(out,"('Vibrational energies prepared for non-LTE')")
           !
           if(vibpopulation_do) then
              write(print_fmt,'(a,i3,a)') '(i8,f15.6,1x,',ivib2-ivib1+1,'a5,2x,e11.4)'
           else
              write(print_fmt,'(a,i3,a)') '(i8,f15.6,1x,',ivib2-ivib1+1,'a5)'
           endif
           !
           do ivib  = 1,Nvib_states
  