def METHOD_NAME(self):
    """Parse the header and load metadata"""
    with open(self.pdir / "Header", 'r') as fh:
        # Skip first line
        fh.readline()
        self.ndim = int(fh.readline().strip())
        self.num_reals = int(fh.readline().strip())
        self.real_var_names = [fh.readline().strip() for _ in
                               range(self.num_reals)]
        self.num_ints = int(fh.readline().strip())
        self.int_var_names = [fh.readline().strip() for _ in
                              range(self.num_ints)]
        # skip flag
        fh.readline()
        self.num_particles = int(fh.readline().strip())
        self.next_id = int(fh.readline().strip())
        self.finest_level = int(fh.readline().strip())
        self.num_grids = np.empty((self.finest_level+1,), dtype=np.int)
        self.grid_info = []
        for lev in range(self.finest_level+1):
            ginfo = []
            self.num_grids[lev] = int(fh.readline().strip())
            for _ in range(self.num_grids[lev]):
                ginfo.append(
                    [int(ix) for ix in fh.readline().strip().split()])
            self.grid_info.append(ginfo)