@Michael_Sumner my previous comment has now developed into the VirtualiZarr package (see Pangeo Showcase: "VirtualiZarr: Create virtual Zarr stores using xarray syntax")
I have also suggested some ideas for how this might all be integrated upstream and made more automatic in Splitting out lazy indexing layer and backends layer as zarr-python features · Issue #9281 · pydata/xarray · GitHub and Zarr as a "universal reader" for netCDF etc., via new CF decoding codecs · Issue #303 · zarr-developers/zarr-specs · GitHub .