@classmethod
def preload_SAM(cls, h5_path, sites, hub_heights, unscale=True, str_decode=
    True, require_wind_dir=False, precip_rate=False, icing=False, means=False):
    """
        Placeholder for classmethod that will pre-load project_points for SAM

        Parameters
        ----------
        h5_path : str
            Path to directory containing multi-file resource file sets.
            Available formats:
                /h5_dir/
                /h5_dir/prefix*suffix
        sites : list
            List of sites to be provided to SAM
        hub_heights : int | float | list
            Hub heights to extract for SAM
        unscale : bool
            Boolean flag to automatically unscale variables on extraction
        str_decode : bool
            Boolean flag to decode the bytestring meta data into normal
            strings. Setting this to False will speed up the meta data read.
        require_wind_dir : bool
            Boolean flag as to whether wind direction will be loaded.
        precip_rate : bool
            Boolean flag as to whether precipitationrate_0m will be preloaded
        icing : bool
            Boolean flag as to whether icing is analyzed.
            This will preload relative humidity.
        means : bool
            Boolean flag to compute mean resource when res_array is set

        Returns
        -------
        SAM_res : SAMResource
            Instance of SAMResource pre-loaded with Solar resource for sites
            in project_points
        """
    with cls(h5_path, unscale=unscale, str_decode=str_decode) as res:
        SAM_res = res._preload_SAM(sites, hub_heights, require_wind_dir=
            require_wind_dir, precip_rate=precip_rate, icing=icing, means=means
            )
    return SAM_res
