Skip to content

Commit 362d2eb

Browse files
committed
Manage chunksizes for 2d or more vector in netcdf
1 parent d8d7700 commit 362d2eb

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/py_eddy_tracker/observations/observation.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,17 @@ def create_variable(
839839
scale_factor=None,
840840
add_offset=None,
841841
):
842+
dims = kwargs_variable.get('dimensions', None)
843+
# Manage chunk in 2d case
844+
if dims is not None and len(dims) > 1:
845+
chunk = [1]
846+
cum = 1
847+
for dim in dims[1:]:
848+
nb = len(handler_nc.dimensions[dim])
849+
chunk.append(nb)
850+
cum *= nb
851+
chunk[0] = int(400000 / cum)
852+
kwargs_variable['chunksizes'] = chunk
842853
var = handler_nc.createVariable(zlib=True, complevel=1, **kwargs_variable)
843854
attrs = list(attr_variable.keys())
844855
attrs.sort()

0 commit comments

Comments
 (0)