@classmethod
def run(cls, power_rose_h5_fpath, excl_fpath, agg_dset='powerrose_100m',
    tm_dset='techmap_wtk', resolution=128, excl_area=0.0081, max_workers=
    None, chunk_point_len=1000, out_fpath=None):
    """
        Aggregate powerrose to supply curve points, find neighboring supply
        curve point gids and rank them based on prominent powerrose direction

        Parameters
        ----------
        power_rose_h5_fpath : str
            Filepath to .h5 file containing power rose data, of same format as
            WTK data with directions on axis 0 (rows) and sites on axis 1
            (columns)
        excl_fpath : str
            Filepath to exclusions h5 with techmap dataset.
        agg_dset : str, optional
            Powerrose dataset to aggreate, by default 'powerrose_100m'
        tm_dset : str, optional
            Dataset name in the techmap file containing the
            exclusions-to-resource mapping data,
            by default 'techmap_wtk'
        resolution : int, optional
            SC resolution, must be input in combination with gid. Prefered
            option is to use the row/col slices to define the SC point instead,
            by default 64
        excl_area : float, optional
            Area of an exclusion cell (square km), by default 0.0081
        max_workers : int | None, optional
            Number of cores to run summary on. None is all
            available cpus, by default None
        chunk_point_len : int, optional
            Number of SC points to process on a single parallel worker,
            by default 100
        out_fpath : str
            Path to .csv file to save output table to

        Returns
        -------
        sc_pr : pandas.DataFrame
            Update meta data table with neighboring supply curve point gids
            and power-rose value at each cardinal direction
        """
    pr = cls(power_rose_h5_fpath, excl_fpath, agg_dset=agg_dset, tm_dset=
        tm_dset, resolution=resolution)
    sc_pr = pr.prominent_directions(excl_area=excl_area, max_workers=
        max_workers, chunk_point_len=chunk_point_len)
    if out_fpath:
        sc_pr.to_csv(out_fpath, index=False)
    return sc_pr
