html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/issues/2313#issuecomment-1062761948,https://api.github.com/repos/pydata/xarray/issues/2313,1062761948,IC_kwDOAMm_X84_WHXc,30007270,2022-03-09T10:13:09Z,2022-03-09T10:13:09Z,NONE,"Seconding @dcherian's comment in #4901 on an example for `.encoding['source']`. Working off @raybellwaves' example, something like this would have been useful to me:
```
>>> import xarray as xr
>>> import numpy as np
>>> model1 = xr.DataArray(np.arange(2), coords=[np.arange(2)], name=""f"")
>>> model1.to_dataset().to_netcdf(""model1.nc"")
>>> model2 = xr.DataArray(np.arange(2), coords=[np.arange(2)], name=""f"")
>>> model2.to_dataset().to_netcdf(""model2.nc"")
>>> ds = xr.open_mfdataset(
... [""model1.nc"", ""model2.nc""],
... preprocess=lambda ds: ds.expand_dims(
... {""model_name"": [ds.encoding[""source""].split(""/"")[-1].split(""."")[0]]}
... ),
... )
>>> ds
Dimensions: (dim_0: 2, model_name: 2)
Coordinates:
* dim_0 (dim_0) int64 0 1
* model_name (model_name) object 'model1' 'model2'
Data variables:
f (model_name, dim_0) int64 dask.array
```
On that note, the example above seems to work with some slight changes:
```
>>> import numpy as np
>>> import xarray as xr
>>>
>>> f1 = xr.DataArray(np.arange(2), coords=[np.arange(2)], dims=[""a""], name=""f1"")
>>> f1 = f1.assign_coords(t='t0')
>>> f1.to_dataset().to_netcdf(""f1.nc"")
>>>
>>> f2 = xr.DataArray(np.arange(2), coords=[np.arange(2)], dims=[""a""], name=""f2"")
>>> f2 = f2.assign_coords(t='t1')
>>> f2.to_dataset().to_netcdf(""f2.nc"")
>>>
>>> # Concat along t
>>> def preprocess(ds):
... return ds.expand_dims(""t"")
...
>>>
>>> ds = xr.open_mfdataset([""f1.nc"", ""f2.nc""], concat_dim=""t"", preprocess=preprocess)
>>> ds
Dimensions: (a: 2, t: 2)
Coordinates:
* t (t) object 't0' 't1'
* a (a) int64 0 1
Data variables:
f1 (t, a) float64 dask.array
f2 (t, a) float64 dask.array
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,344614881