@@ -102,7 +102,11 @@ def _first_pass(self, agg_dims: list = None) -> tuple:
102102 ds , d , pure_dimensions , coord_variables ,
103103 agg_dims = agg_dims , first_time = first_time )
104104
105- dim_info = self ._update_info (ds .dimensions [d ], dim_info , new_info )
105+ if new_info ['type' ] == 'coord' :
106+ # Only coordinate dimensions can have attributes
107+ dim_info = self ._update_info (ds [d ], dim_info , new_info )
108+ else :
109+ dim_info [d ] = new_info
106110
107111 if arr_components is not None :
108112 if first_time :
@@ -137,7 +141,7 @@ def _first_pass(self, agg_dims: list = None) -> tuple:
137141 '_FillValue' : fill ,
138142 }
139143
140- var_info = self ._update_info (ds . variables [v ], var_info , new_info )
144+ var_info = self ._update_info (ds [v ], var_info , new_info )
141145
142146 arranged_files [tuple (fcoord )] = file
143147
@@ -532,7 +536,7 @@ def _write_dimensions(self):
532536 axis_var [:] = di ['array' ]
533537
534538 else :
535- for k , v in di [ 'attrs' ] .items ():
539+ for k , v in di . get ( 'attrs' ,{}) .items ():
536540 real_part .setncattr (k , v )
537541
538542 return f_dims
0 commit comments