@classmethod
def run(cls, h5_path, base_layer, excl_dict, power_density=1, hsds=False,
    min_area=None, kernel='queen', check_layers=False):
    """
        compute tech-potential

        Parameters
        ----------
        h5_path : str
            Path to .h5 file containing CF means and exclusion layers
        base_layer : str
            Name of dataset in .h5 file containing base layer
        excl_dict : dcit
            Dictionary of exclusion LayerMask arugments {layer: {kwarg: value}}
        power_density : float
            Multiplier to convert CF means to generation means
        hsds : bool
            Boolean flag to use h5pyd to handle .h5 'files' hosted on AWS
            behind HSDS
        min_area : float | NoneType
            Minimum required contiguous area in sq-km
        kernel : str
            Contiguous filter method to use on final exclusion
        check_layers : bool
            Run a pre-flight check on each layer to ensure they contain
            un-excluded values

        Returns
        -------
        mask : ndarray
            Base layer with exclusions masked out
        """
    with cls(h5_path, base_layer, excl_dict, power_density=power_density,
        hsds=hsds, min_area=min_area, kernel=kernel, check_layers=check_layers
        ) as f:
        mask = f.mask
    return mask
