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/5208#issuecomment-829638401,https://api.github.com/repos/pydata/xarray/issues/5208,829638401,MDEyOklzc3VlQ29tbWVudDgyOTYzODQwMQ==,34353851,2021-04-29T22:33:05Z,2021-04-29T22:33:05Z,NONE,"import numpy as np import xarray as xr # Creates DataArrays nt = 4 time = np.arange (nt) * 86400.0 time = xr.DataArray (time, coords=[time,], dims=[""time"",]) aa = time * 2.0 # Adding attributes to DataArrays time.attrs['units'] = ""second"" aa.attrs['units'] = ""whatever"" # Attributes are visible in the DataArrays print ('----------> time DataArray: ') print (time) print ('----------> aa DataArray : ' ) print (aa) print ('----------> aa attributes : ') print (aa.attrs ) # Creating a Dataset ds = xr.Dataset( { ""aa"": ([""time"",], aa), }, coords={""time"": ([""time"",], time), }, ) # Attributes are not visible in the Dataset print ('----------> DataSet before setting attributes') print (ds) # My request #1 : attributes of the DataArrays should be added to the DataSet (may be optional) print ('----------> Attributes of aa in DataSet : none') print ( ds['aa'].attrs ) print ('----------> Attributes of aa outside DataSet : still here') print ( aa.attrs ) print ('----------> Attributes are not written to the NetCDF file') ds.to_netcdf ('sample1.nc') # Adding attributes directly to the Dataset # Attributes are still not visible in the Dataset print ('----------> DataSet after setting attributes : attributes not shown' ) ds=ds.assign_attrs({'Visible':'NotInvisibleMan'}) ds['time'].attrs['units']=""second"" ds['aa'].attrs['units']=""whatever"" ds.to_netcdf('safeReturn.nc') print(xr.open_dataset('safeReturn.nc').attrs) print(xr.open_dataset('safeReturn.nc')['aa'].attrs) print(xr.open_dataset('safeReturn.nc')['time'].attrs)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,865003095 https://github.com/pydata/xarray/issues/5208#issuecomment-828647680,https://api.github.com/repos/pydata/xarray/issues/5208,828647680,MDEyOklzc3VlQ29tbWVudDgyODY0NzY4MA==,1217238,2021-04-28T17:39:56Z,2021-04-28T17:39:56Z,MEMBER,You can see variable attributes if you write `dataset.info()`. They aren't included in the default for `print(dataset)` because variable attributes can be very long for datasets with many variables.,"{""total_count"": 2, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 1}",,865003095 https://github.com/pydata/xarray/issues/5208#issuecomment-828423751,https://api.github.com/repos/pydata/xarray/issues/5208,828423751,MDEyOklzc3VlQ29tbWVudDgyODQyMzc1MQ==,2853966,2021-04-28T12:43:06Z,2021-04-28T12:43:06Z,NONE,"dcherian, thank you for your help. But a problem (feature ?) remains : when a Dataset is created, the command `print(Dataset)` doesn't show variables attributes. But attributes are shown when the Dataset is readed in a NetCDF file. Is there a reason for this difference a behaviour ? Olivier","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,865003095 https://github.com/pydata/xarray/issues/5208#issuecomment-824927779,https://api.github.com/repos/pydata/xarray/issues/5208,824927779,MDEyOklzc3VlQ29tbWVudDgyNDkyNzc3OQ==,2448579,2021-04-22T15:10:53Z,2021-04-22T15:10:53Z,MEMBER,"``` # Creating a Dataset ds = xr.Dataset( { ""aa"": ([""time"",], aa), }, coords={""time"": ([""time"",], time), }, ) ``` This syntax recreates the DataArray `aa`. Since you don't provide attributes in `([""time"",], aa)`, the resulting DataArray has no attributes Instead try ``` ds = xr.Dataset({""aa"": aa}) # works when aa is already a DataArray ``` ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,865003095