anchor.diff:       !
      enddo
      !
  -   allocate(gamma_idx(0:JmaxAll,-1:1),stat=info)
  +   allocate(gamma_idx(0:JmaxAll,-2:2),stat=info)
      call ArrayStart('gamma_idx',info,size(gamma_idx),kind(gamma_idx))
  -   allocate(gamma_comb(0:JmaxAll,-1:1),stat=info)
  +   allocate(gamma_comb(0:JmaxAll,-2:2),stat=info)
      call ArrayStart('gamma_comb',info,size(gamma_comb),kind(gamma_comb))
      !
      gamma_idx = 1
      gamma_comb = -1
      do i=0,JmaxAll
  -     do j= max(0,i-1),min(JmaxAll,i+1)    
  +     do j= max(0,i-2),min(JmaxAll,i+2)
         gamma_comb(j,i-j) = get_Voigt_gamma_val(Nspecies,real(i,rk),real(j,rk))
        enddo
      enddo
  
positive.code:          endif
           !
           call read_line(eof) ; if (eof) exit
           call reada(w)
           v = trim(w)
           call upcase(w)
           !
           do while (trim(w)/="".and.trim(w)/="END")
  
negative.code:        !
         Jmax = JmaxAll
         !
         allocate(species(i)%gammaQN(0:Jmax,-2:2),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,-2:2),stat=info)
         !         
         call ArrayStart('nQN',info,size(species(i)%nQN),kind(species(i)%nQN))
         species(i)%nQN(:,:) = species(i)%N
  