@@ -793,19 +793,25 @@ def _copy(log, source, dest, name, root, shallow, without_attrs, if_exists,
793793 kws .setdefault ('compression' , source .compression )
794794 kws .setdefault ('compression_opts' , source .compression_opts )
795795 kws .setdefault ('shuffle' , source .shuffle )
796+ kws .setdefault ('fletcher32' , source .fletcher32 )
797+ kws .setdefault ('fillvalue' , source .fillvalue )
796798 else :
797799 # h5py -> zarr; use zarr default compression options
798- pass
800+ kws . setdefault ( 'fill_value' , source . fillvalue )
799801 else :
800802 if dest_h5py :
801803 # zarr -> h5py; use some vaguely sensible defaults
802804 kws .setdefault ('chunks' , True )
803805 kws .setdefault ('compression' , 'gzip' )
804806 kws .setdefault ('compression_opts' , 1 )
805807 kws .setdefault ('shuffle' , False )
808+ kws .setdefault ('fillvalue' , source .fill_value )
806809 else :
807810 # zarr -> zarr; preserve compression options by default
808811 kws .setdefault ('compressor' , source .compressor )
812+ kws .setdefault ('filters' , source .filters )
813+ kws .setdefault ('order' , source .order )
814+ kws .setdefault ('fill_value' , source .fill_value )
809815
810816 # create new dataset in destination
811817 ds = dest .create_dataset (name , shape = source .shape ,
0 commit comments