File tree 1 file changed +11
-1
lines changed 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -1178,8 +1178,16 @@ def _overwrite_indexes(
1178
1178
new_coord_names = self ._coord_names .copy ()
1179
1179
new_indexes = dict (self .xindexes )
1180
1180
1181
+ for name , var in variables .items ():
1182
+ old_var = self ._variables .get (name )
1183
+ if old_var is not None :
1184
+ # propagate attrs and encoding
1185
+ # TODO: needs a test
1186
+ var .attrs = {** old_var .attrs , ** var .attrs }
1187
+ var .encoding = {** old_var .encoding , ** var .encoding }
1188
+ new_variables [name ] = var
1189
+
1181
1190
for name in indexes :
1182
- new_variables [name ] = variables [name ]
1183
1191
new_indexes [name ] = indexes [name ]
1184
1192
1185
1193
for name in drop_variables :
@@ -2346,6 +2354,8 @@ def isel(
2346
2354
indexes .pop (var_name , None )
2347
2355
continue
2348
2356
if indexes and var_name in indexes :
2357
+ # TODO benbovy - flexible indexes: this won't be always desirable
2358
+ # (e.g., 1-d out-of-core coordinate, "meta"-index, etc.)
2349
2359
if var_value .ndim == 1 :
2350
2360
indexes [var_name ] = var_value ._to_xindex ()
2351
2361
else :
You can’t perform that action at this time.
0 commit comments