Skip to content

Commit fe37a5c

Browse files
Remove _FillValue from attributes in dmrpp _parse_variable
1 parent 2b32174 commit fe37a5c

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

virtualizarr/readers/dmrpp.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -411,8 +411,9 @@ def _parse_variable(self, var_tag: ET.Element) -> Variable:
411411
attrs: dict[str, Any] = {}
412412
for attr_tag in var_tag.iterfind("dap:Attribute", self._NS):
413413
attrs.update(self._parse_attribute(attr_tag))
414-
# Fill value is placed in encoding and thus removed from attributes
415-
fill_value = attrs.get("_FillValue", None)
414+
# Fill value is placed in zarr array's fill_value and variable encoding and removed from attributes
415+
encoding = {k: attrs.get(k) for k in self._ENCODING_KEYS if k in attrs}
416+
fill_value = attrs.pop("_FillValue", None)
416417
# create ManifestArray and ZArray
417418
zarray = ZArray(
418419
chunks=chunks_shape,
@@ -423,7 +424,6 @@ def _parse_variable(self, var_tag: ET.Element) -> Variable:
423424
shape=shape,
424425
)
425426
marr = ManifestArray(zarray=zarray, chunkmanifest=chunkmanifest)
426-
encoding = {k: attrs.get(k) for k in self._ENCODING_KEYS if k in attrs}
427427
return Variable(dims=dims.keys(), data=marr, attrs=attrs, encoding=encoding)
428428

429429
def _parse_attribute(self, attr_tag: ET.Element) -> dict[str, Any]:

virtualizarr/tests/test_readers/test_dmrpp.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,6 @@ def test_parse_variable(tmp_path):
307307
"coordinates": "x y z",
308308
"add_offset": 298.15,
309309
"scale_factor": 0.001,
310-
"_FillValue": -32768,
311310
}
312311

313312

0 commit comments

Comments
 (0)