@classmethod
def run(cls, excl_fpath, h5_fpath, tm_dset, *agg_dset, excl_dict=None,
    area_filter_kernel='queen', min_area=None, check_excl_layers=False,
    resolution=64, gids=None, agg_method='mean', excl_area=0.0081,
    max_workers=None, chunk_point_len=1000, out_fpath=None):
    """Get the supply curve points aggregation summary.

        Parameters
        ----------
        excl_fpath : str
            Filepath to exclusions h5 with techmap dataset.
        h5_fpath : str
            Filepath to .h5 file to aggregate
        tm_dset : str
            Dataset name in the techmap file containing the
            exclusions-to-resource mapping data.
        agg_dset : str
            Dataset to aggreate, can supply multiple datasets
        excl_dict : dict | None
            Dictionary of exclusion LayerMask arugments {layer: {kwarg: value}}
        area_filter_kernel : str
            Contiguous area filter method to use on final exclusions mask
        min_area : float | None
            Minimum required contiguous area filter in sq-km
        check_excl_layers : bool
            Run a pre-flight check on each exclusion layer to ensure they
            contain un-excluded values
        resolution : int | None
            SC resolution, must be input in combination with gid. Prefered
            option is to use the row/col slices to define the SC point instead.
        gids : list | None
            List of gids to get aggregation for (can use to subset if running
            in parallel), or None for all gids in the SC extent.
        agg_method : str
            Aggregation method, either mean or sum/aggregate
        excl_area : float
            Area of an exclusion cell (square km).
        max_workers : int | None
            Number of cores to run summary on. None is all
            available cpus.
        chunk_point_len : int
            Number of SC points to process on a single parallel worker.
        out_fpath : str
            Output .h5 file path

        Returns
        -------
        agg : dict
            Aggregated values for each aggregation dataset
        """
    agg = cls(excl_fpath, h5_fpath, tm_dset, *agg_dset, excl_dict=excl_dict,
        area_filter_kernel=area_filter_kernel, min_area=min_area,
        check_excl_layers=check_excl_layers, resolution=resolution, gids=gids)
    aggregation = agg.aggregate(agg_method=agg_method, excl_area=excl_area,
        max_workers=max_workers, chunk_point_len=chunk_point_len)
    if out_fpath is not None:
        agg.save_agg_to_h5(out_fpath, aggregation)
    return aggregation
