anchor.diff:            !
             hitran_do = .true.
             !
  -          call read_line(eof) ; if (eof) exit
  -          call readu(w)
  -          !
  -          do while (trim(w)/="".and.trim(w)/="END")
  -            !
  -            select case(w)
  -            !
  -            case('WRITE')
  -            !
  -            hitran_do = .false.
  -            stick_hitran = .true.
  -            !
  -            case('ID')
  -              !
  -              call readi(hitran%molec_id)
  -              !
  -              if (hitran%molec_id<0) call report ("Illegal molec_id "//trim(w),.true.)
  -              !
  -            case ("ISO","ISO_ID")
  -              !
  -              call readi(hitran%molec_iso_id)
  -              !
  -            case default
  -              !
  -              call report ("Unrecognized unit name "//trim(w),.true.)
  -              !
  -            end select
  -            !
  -            call read_line(eof) ; if (eof) exit
  -            call readu(w)
  -            !
  -          enddo          !
  +          if (nitems>1) then 
  +            call readu(w) 
  +            if (trim(w)/="READ".and.trim(w)/="WRITE") then 
  +              call report ("Illegal HITRAN keyword: only read and write are legal"//trim(w),.true.)
  +            endif
  +            !
  +            if (trim(w)=="WRITE") then
  +              !
  +              hitran_do = .false.
  +              stick_hitran = .true.
  +              !
  +            endif
  +            !
  +          endif
  +          !
           case ("SELECT","FILTER")
             !
             filter  = .true.
  
positive.code:            !
             if (stick_hitran) then 
               !
               write(out,"(i2,i1,f12.6,e10.3,e10.3,f5.4,f5.3,f10.4,f4.2,f8.6)",advance="no") &
                           hitran%molec_id,hitran%molec_iso_id,tranfreq,abscoef,acoef,&
                           species(1)%gamma,species(2)%gamma,&
                           energyi,species(1)%n,species(1)%delta
               !
               !
               nchars_ = 0 
               !
               do kitem = 2,maxitems 
                 !
                 l = len(trim(quantum_numbers(kitem,ilevelf)))
                 !
  
negative.code:     !
    end type speciesT
    !
    type(selectT) :: upper(filtermax),lower(filtermax)
    !
    integer(ik)    :: Nspecies = 0, Nfilters = 0
    type(speciesT) :: species(nspecies_max)
    !
    logical :: partfunc_do = .true., filter = .false., histogram = .false., hitran_do = .false.,  histogramJ = .false., stick_hitran = .false.
    !
  