anchor.diff:      !
       logical :: eof,if_halfwidth_defined = .false., if_species_defined = .false., if_QN_defined = .false.
       character(len=cl) :: w,v
  +    character(len=wl) :: vl
       integer(ik)   :: i,ifilter,iE,iS,npoints0,ierror,igrid
       type(HitranErrorT),pointer :: HITRAN
       real(rk) :: f_t
  
positive.code:        !
         Jmax = JmaxAll
         !
         allocate(species(i)%gammaQN(0:Jmax,-1:1),stat=info)
         call ArrayStart('gammaQN',info,size(species(i)%gammaQN),kind(species(i)%gammaQN))
         species(i)%gammaQN(:,:) = species(i)%gamma
         !
         allocate(species(i)%nQN(0:Jmax,-1:1),stat=info)
         !         
         call ArrayStart('nQN',info,size(species(i)%nQN),kind(species(i)%nQN))
         species(i)%nQN(:,:) = species(i)%N
  
negative.code:          end select
           !
         enddo
         !
         ! using the gamma(Jmax) value for all gamms for J>Jmax
         !
         forall(k=-2:2) species(i)%gammaQN(Jmax+1:,k) = species(i)%gammaQN(Jmax,k)
         forall(k=-2:2) species(i)%nQN(Jmax+1:,k) = species(i)%nQN(Jmax,k)
         !
         close(bunit)
         !
  