anchor.diff:                !           
                 if(vibpopulation_do) then
                    ! apply vibrational population keeping the rotational part as Boltzmann
  -                 read(quantum_numbers(QN%dens_col-4,i),*) ndensity
  +                 !read(quantum_numbers(QN%dens_col-4,i),*) ndensity
  +                 !
  +                 ndensity = dens_vib(ivib)
  +                 !
                    partfunc=partfunc+gtot(i)*exp(-c2/temp*ener_rot)*ndensity
                 else 
                    ! split PF into a product of vib and rot parts 
  
positive.code:              do kitem = 5,nitems
                  call reada(quantum_numbers_vib(kitem-4,ivib))
               enddo
               !
             endif
             !
  
negative.code:    integer(ik),allocatable :: indexi_RAM(:),indexf_RAM(:)
     integer(ik),allocatable :: ileveli_RAM(:),ilevelf_RAM(:),gamma_idx_RAM(:)
     integer(ik) :: nswap_,nswap,iswap,iswap_,iomp,ichunk
     real(rk),allocatable :: energies_vib(:),dens_vib(:)
     integer(ik),allocatable :: ivib_state(:)
     !
     integer(ik),allocatable :: nchars_quanta(:)  ! max number of characters used for each quantum number
     !
     character(len=9) :: npoints_fmt  !text variable containing formats for reads/writes
     character(len=9) :: b_fmt
     character(len=9) :: a_fmt
     integer(hik):: Nintens(-60:60)
     !   
     logical :: eof
     character(len=cl) :: w,print_fmt
     !
     integer(ik) :: imol,iostat_,isotope
     real(rk)    :: gf,gi,mem_t,temp_gamma_n,offset_
  