code: def read_data( self, step, filename = None ):
          
          filename = get_default( filename, self.filename )
  
          out = {}
  
          fd = open( self.filename, 'r' )
          while 1:
              line = skip_read_line(fd, no_eof=True).split()
              if line[0] == 'POINT_DATA':
                  break
  
          n_nod = int(line[1])
  
          while 1:
              line = skip_read_line(fd)
              if not line:
                  break
  
              line = line.split()
  
              if line[0] == 'SCALARS':
                  name, dtype, nc = line[1:]
                  assert_(int(nc) == 1)
                  fd.readline() # skip lookup table line
                  
                  data = nm.zeros((n_nod,), dtype=nm.float64)
                  ii = 0
                  while ii < n_nod:
                      data[ii] = float(fd.readline())
                      ii += 1
  
                  out[name] = Struct( name = name,
                                      mode = 'vertex',
                                      data = data,
                                      dofs = None )
  
              elif line[0] == 'VECTORS':
                  name, dtype = line[1:]
                  data = []
                  ii = 0
                  while ii < n_nod:
                      data.append([float(val) for val in fd.readline().split()])
                      ii += 1
  
                  out[name] = Struct( name = name,
                                      mode = 'vertex',
                                      data = nm.array(data, dtype=nm.float64),
                                      dofs = None )
  
              elif line[0] == 'CELL_DATA':
                  break
  
              line = fd.readline()
  
          fd.close()
  
          return out
docs: Point data only!