anchor.diff:      znkeepmax=100
       if(zuseteof==1)then
           nc = ntv
  -        ncf = nt
  -        no = ns
  -        nsv = ns
  +        no = nsv
           trflag = 'T'
           odim = 1
           cdim = 2
       else ! classic
           nc = nsv
  -        ncf = ns
  -        no = nt
  -        ntv = nt
  +        no = ntv
           trflag = 'N'
           odim = 2
           cdim = 1
  
positive.code:         if(present(errmsg))then
              write(msg,*)'iend greater than the number of '// &
                  &     'avalaible modes => reduced to',iend
              errmsg = errmsg // msg // ' | '
          endif
      end if
      if(zistart>ziend)then
  
negative.code:         endif
          return
      end if
      
      ! Missing value
      if(present(mv))then
          zmv = mv
      else
          zmv = default_missing_value
      endif
      if(zmv==0d0)then
          zdmv = 1d0
      else
          zdmv = 1d0/zmv
      endif
      
  
      ! What does the user want?
      ! ------------------------
      if(present(xeof))xeof=zmv
      if(present(pc))pc=zmv
      if(present(ev))ev=0d0
      if(present(ev_sum))ev_sum=0d0
      if(.not.present(xeof).and..not.present(pc)&
        &.and..not.present(ev))then
          if(present(errmsg))&
  