anchor.diff:    select case(vtk(rf)%f)         
   
       case(ascii)
  -! not implemented
  +
  +      rewind(unit=vtk(rf)%u, iostat=E_IO)
  +      E_IO = move(inside='UnstructuredGrid', to_find='Piece', repeat=np, cf=rf, buffer=s_buffer) ! find the 'np' piece
  +      call get_int(buffer=s_buffer, attrib='NumberOfPoints', val=NN, E_IO=E_IO)
  +      if(E_IO == 0) then
  +        call get_int(buffer=s_buffer, attrib='NumberOfCells', val=NC, E_IO=E_IO)
  +        E_IO = search(inside='Points', to_find='DataArray', with_attribute='Name', of_value='Points', &
  +                      buffer=s_buffer,content=data)
  +        call get_char(buffer=s_buffer, attrib='format', val=fmt,  E_IO=E_IO)
  +        call get_char(buffer=s_buffer, attrib='type', val=type,  E_IO=E_IO)
  +        if (trim(adjustlt(Upper_Case(fmt)))/='ASCII' .or. &
  +            trim(adjustlt(Upper_Case(type)))/='FLOAT32') then
  +          E_IO = -1_I4P 
  +        else
  +          allocate(X(NN), Y(NN), Z(NN), stat=E_IO)
  +          read(data, fmt=*, iostat=E_IO) (X(i), Y(i), Z(i), i=1,NN) !get ascii array
  +        endif
  +        if(allocated(data)) deallocate(data)
  +      endif
   
       case(binary)
   ! not implemented
  
positive.code:   select case(trim(Upper_Case(input_format)))
    case('ASCII')
      vtk(rf)%f = ascii
  ! Not implemented
  
    case('BINARY')
      vtk(rf)%f = binary
  
negative.code:   select case(vtk(rf)%f)         
  
      case(ascii)
  
        rewind(unit=vtk(rf)%u, iostat=E_IO)
        E_IO = move(inside='StructuredGrid', to_find='Piece', repeat=np, cf=rf, buffer=s_buffer) ! find the 'np' piece
  