anchor.diff:      character(len=cl) :: w,v
       integer(ik)   :: i,ifilter,iE,iS,npoints0,ierror
       type(HitranErrorT),pointer :: HITRAN
  +    real(rk) :: f_t
       ! -----------------------------------------------------------
       !
       write(out,"('Read the input')")
  
positive.code:      integer(ik) :: nchars_,kitem,ierror_nu,iE,ierror_i,ierror,ierror_S,l,qni,qnf,ierror_f,&
                      ilevelf,ileveli,iswap,nchars_tot
       character(9) b_fmt
       integer(ik) :: Jpp,Jp
       real(rk)    :: gamma1,gamma2,n1
       !
       !
       do iswap = 1,nswap
  
negative.code:          write(sunit,'(i1)',advance="no") HITRAN_Delta%ierr
           !
           write(sunit,"(' 0 0 0 0 0 0 ',f7.1,f7.1)",advance="yes") real(gtot(ilevelf)),real(gtot(ileveli))
           !
         elseif (stick_oxford) then
           !
           Jp  = int(Jf)
           Jpp = int(Ji)
           !
           gamma1 = species(1)%gammaQN(Jpp,Jp-Jpp)
           gamma2 = species(2)%gammaQN(Jpp,Jp-Jpp)
           gamma3 = species(3)%gammaQN(Jpp,Jp-Jpp)
           n1 = species(1)%nQN(Jpp,Jp-Jpp)
           n2 = species(2)%nQN(Jpp,Jp-Jpp)
           n3 = species(3)%nQN(Jpp,Jp-Jpp)
           !
           write(sunit,"(i3,f12.6,e10.3,3(f5.4,f4.2),f10.4,1x)",advance="no") &
                       iso,tranfreq,abscoef,&
                       gamma1,n1,gamma2,n2,gamma3,n3,&
                       energyi
           !
           nchars_tot = 1
           nchars_ = 1
           !
           do i = QN%Vibcol(1),QN%Vibcol(2)
             !
             kitem=i-4
             !
             !l = len(trim(quantum_numbers(kitem,ilevelf)))
             !
             write(b_fmt,"('(a',i1,')')") nchars_quanta(kitem)
             !
             nchars_  = nchars_ + nchars_quanta(kitem)
             !
             if (nchars_>21) cycle
             nchars_tot = nchars_tot + nchars_quanta(kitem)
             !
             write(sunit,b_fmt,advance="no") trim(quantum_numbers(kitem,ilevelf))
             !
           enddo
           !
           write(sunit,'(1x)',advance="no")
           !
           nchars_tot = nchars_tot + 1
           !
           nchars_ = 1
           do i = QN%Vibcol(1),QN%Vibcol(2)
             !
             kitem=i-4
             !
             write(b_fmt,"('(a',i1,')')") nchars_quanta(kitem)
             !
             nchars_  = nchars_ + nchars_quanta(kitem)
             !
             if (nchars_>21) cycle
             nchars_tot = nchars_tot + nchars_quanta(kitem)
             !
             write(sunit,b_fmt,advance="no") trim(quantum_numbers(kitem,ileveli))
             !
           enddo
           !
           ! topup to 42
           do kitem = nchars_tot+1,42
             !
             write(sunit,'(1x)',advance="no")
             !
           enddo
           !
           write(sunit,'(1x)',advance="no")
           !
           if ( mod(nint(2*Jf),2)==0 ) then
             !
             write(sunit,'(i4,1x)',advance="no") nint(Jf)
             nchars_ = 5
             do i = 1,2
               kitem=QN%Rotcol(i)-4
               !
               write(b_fmt,"('(a',i1,')')") nchars_quanta(kitem)
               nchars_  = nchars_ + nchars_quanta(kitem)
               !
               if (nchars_>9) cycle
               nchars_tot = nchars_tot + nchars_quanta(kitem)
               !
               write(sunit,b_fmt,advance="no") trim(quantum_numbers(kitem,ilevelf))
               !
             enddo
             !
             write(sunit,'(i4,1x)',advance="no") nint(Ji)
             nchars_ = 5
             do i = 1,2
               kitem=QN%Rotcol(i)-4
               !
               write(b_fmt,"('(a',i1,')')") nchars_quanta(kitem)
               nchars_  = nchars_ + nchars_quanta(kitem)
               !
               if (nchars_>9) cycle
               nchars_tot = nchars_tot + nchars_quanta(kitem)
               !
               write(sunit,b_fmt,advance="no") trim(quantum_numbers(kitem,ileveli))
               !
             enddo
               !
           else
             !
             write(sunit,'(f5.1,1x,a1,a1)',advance="no") Jf,trim(quantum_numbers(1,ilevelf)),trim(quantum_numbers(2,ilevelf))
             write(sunit,'(f5.1,1x,a1,a1)',advance="no") Ji,trim(quantum_numbers(1,ileveli)),trim(quantum_numbers(2,ileveli))
             !
           endif
           !
           ierror_nu = 0
           !
           do iE = 1,HITRAN_E(1)%N
              !
              read(quantum_numbers(HITRAN_E(iE)%iqn,ileveli),*) qni
              read(quantum_numbers(HITRAN_E(iE)%iqn,ilevelf),*) qnf
              !
              ierror_i = 0
              do ierror = 0,6
                if (qni<=HITRAN_E(iE)%error_vmax(ierror)) ierror_i = ierror
                if (qnf<=HITRAN_E(iE)%error_vmax(ierror)) ierror_f = ierror
              enddo
              !
              ierror_nu = max(ierror_i,ierror_f)
              !
           enddo
           !
           ierror_S = 0
           !
           do iE = 1,HITRAN_S(1)%N
              !
              read(quantum_numbers(HITRAN_S(iE)%iqn,ileveli),*) qni
              read(quantum_numbers(HITRAN_S(iE)%iqn,ilevelf),*) qnf
              !
              ierror_i = 0
              do ierror = 0,6
                if (qni<=HITRAN_S(iE)%error_vmax(ierror)) ierror_i = ierror
                if (qnf<=HITRAN_S(iE)%error_vmax(ierror)) ierror_f = ierror
              enddo
              !
              ierror_S = max(ierror_i,ierror_f)
              !
           enddo
           !
           write(sunit,'(1x,i1)',advance="no") ierror_nu
           write(sunit,'(i1)',advance="no") ierror_S
           write(sunit,'(i1)',advance="no") HITRAN_Air%ierr
           write(sunit,'(i1)',advance="no") HITRAN_Self%ierr
           write(sunit,'(i1)',advance="no") HITRAN_n%ierr
           write(sunit,'(i1)',advance="yes") HITRAN_Delta%ierr
           !
         else
            !
  