@@ -938,7 +938,7 @@ def tracking(self, other):
938938
939939 return i_self , i_other , cost_mat [i_self , i_other ]
940940
941- def to_zarr (self , handler ):
941+ def to_zarr (self , handler , ** kwargs ):
942942 handler .attrs ['track_extra_variables' ] = "," .join (self .track_extra_variables )
943943 if self .track_array_variables != 0 :
944944 handler .attrs ['track_array_variables' ] = self .track_array_variables
@@ -963,6 +963,7 @@ def to_zarr(self, handler):
963963 scale_factor = VAR_DESCR [name ].get ("scale_factor" , None ),
964964 add_offset = VAR_DESCR [name ].get ("add_offset" , None ),
965965 filters = VAR_DESCR [name ].get ("filters" , None ),
966+ ** kwargs
966967 )
967968 self .set_global_attr_zarr (handler )
968969
@@ -1060,10 +1061,12 @@ def create_variable_zarr(
10601061 data ,
10611062 scale_factor = None ,
10621063 add_offset = None ,
1063- filters = None
1064+ filters = None ,
1065+ compressor = None
10641066 ):
10651067 kwargs_variable ['shape' ] = data .shape
1066- kwargs_variable ['compressor' ] = zarr .Blosc (cname = 'zstd' , clevel = 5 , shuffle = zarr .blosc .BITSHUFFLE )
1068+ kwargs_variable ['compressor' ] = \
1069+ zarr .Blosc (cname = 'zstd' , clevel = 2 ) if compressor is None else compressor
10671070 kwargs_variable ['filters' ] = list ()
10681071 store_dtype = kwargs_variable .pop ('store_dtype' , None )
10691072 if scale_factor is not None or add_offset is not None :
0 commit comments