def METHOD_NAME(
    sharded_tensors: List[ShardedTensor], checkpoint_dir: Path
) -> List[zarr.Array]:
    arrays = []
    for ten in sharded_tensors:
        if _should_create_array(ten):
            _create_zarr_array(ten, checkpoint_dir)
            # TODO: maybe reuse the opened arrays
    torch.distributed.barrier()
    for ten in sharded_tensors:
        # if is_main_replica(ten.replica_id) and set(ten.global_offset) == {0}:
        #     continue
        open_kwargs = {}
        if ten.flattened_range is not None:
            open_kwargs['synchronizer'] = zarr.ProcessSynchronizer(
                str(checkpoint_dir / f'{ten.key}.sync')
            )
        arr = zarr.open(checkpoint_dir / ten.key, 'r+', **open_kwargs)
        arrays.append(arr)
    return arrays