Skip to content

Commit edaa22c

Browse files
committed
#116 Assign dim coords to DataArray first
1 parent 2fe1c18 commit edaa22c

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

xarray_dataclasses/dataarray.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,12 @@ def asdataarray(
116116
dataarray = dataoptions.factory(model.data[0](reference))
117117

118118
for coord in model.coord:
119-
dataarray.coords.update({coord.name: coord(dataarray)})
119+
if coord.name in dataarray.dims:
120+
dataarray.coords.update({coord.name: coord(dataarray)})
121+
122+
for coord in model.coord:
123+
if coord.name not in dataarray.dims:
124+
dataarray.coords.update({coord.name: coord(dataarray)})
120125

121126
for attr in model.attr:
122127
dataarray.attrs.update({attr.name: attr()})

xarray_dataclasses/dataset.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,12 @@ def asdataset(
119119
dataset.update({data.name: data(reference)})
120120

121121
for coord in model.coord:
122-
dataset.coords.update({coord.name: coord(dataset)})
122+
if coord.name in dataset.dims:
123+
dataset.coords.update({coord.name: coord(dataset)})
124+
125+
for coord in model.coord:
126+
if coord.name not in dataset.dims:
127+
dataset.coords.update({coord.name: coord(dataset)})
123128

124129
for attr in model.attr:
125130
dataset.attrs.update({attr.name: attr()})

0 commit comments

Comments
 (0)