Skip to content

Commit 3ea4c68

Browse files
Refactor chunking logic in write_dataset_band_by_band_with_validation to use actual variable dimensions for improved alignment.
1 parent e55cd98 commit 3ea4c68

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

eopf_geozarr/conversion/geozarr.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1221,8 +1221,14 @@ def write_dataset_band_by_band_with_validation(
12211221
# Ensure the dataset is properly chunked to align with encoding
12221222
if var in var_encoding and 'chunks' in var_encoding[var]:
12231223
target_chunks = var_encoding[var]['chunks']
1224+
# Create chunk dict using the actual dimensions of the variable
1225+
var_dims = single_var_ds[var].dims
1226+
chunk_dict = {}
1227+
for i, dim in enumerate(var_dims):
1228+
if i < len(target_chunks):
1229+
chunk_dict[dim] = target_chunks[i]
12241230
# Rechunk the dataset to match the target chunks
1225-
single_var_ds = single_var_ds.chunk({var: target_chunks})
1231+
single_var_ds = single_var_ds.chunk(chunk_dict)
12261232
else:
12271233
single_var_ds = single_var_ds.chunk()
12281234

0 commit comments

Comments
 (0)