code: def _persist(source, path, component=None, storage_options=None,
                   **kwargs):
          
          from dask.array import to_zarr, from_array
          from ..source.zarr import ZarrArraySource
          try:
              arr = source.to_dask()
          except NotImplementedError:
              arr = from_array(source.read(), chunks=-1).rechunk('auto')
          to_zarr(arr, path, component=None,
                  storage_options=storage_options, **kwargs)
  
          source = ZarrArraySource(path, storage_options, component)
          return source
docs: Save array to local persistent store
  
          Makes a parquet dataset out of the data using zarr.
          This then becomes a data entry in the persisted datasets catalog.
          Only works locally for the moment.
  
          Parameters
          ----------
          source: a DataSource instance to save
          name: str or None
              Key to refer to this persisted dataset by. If not given, will
              attempt to get from the source's name
          kwargs: passed on to zarr array creation, see