@@ -5166,9 +5166,11 @@ namespace BasisClasses
51665166 auto dcpl3 = HighFive::DataSetCreateProps{}; // covariance
51675167
51685168 // Properties for sample stats
5169- if (H5compress) {
5169+ // Note: Sample stats only use Deflate compression, not Szip
5170+ if (H5compress > 0 ) {
51705171 unsigned int csz = sampleCounts.size ();
51715172 dcpl1.add (HighFive::Chunking ({csz, 1 }));
5173+ // Only apply shuffle filter when Deflate compression is enabled (guaranteed by outer if)
51725174 if (H5shuffle) dcpl1.add (HighFive::Shuffle ());
51735175 dcpl1.add (HighFive::Deflate (H5compress));
51745176 }
@@ -5207,7 +5209,7 @@ namespace BasisClasses
52075209 stanza.createAttribute <unsigned >
52085210 (" fullCovar" , HighFive::DataSpace::From (icov)).write (icov);
52095211
5210- if (H5compress) {
5212+ if (H5compress > 0 || H5szip ) {
52115213 // Szip parameters
52125214 const int options_mask = H5_SZIP_NN_OPTION_MASK;
52135215 const int pixels_per_block = 8 ;
@@ -5218,6 +5220,7 @@ namespace BasisClasses
52185220 HighFive::Chunking data_dims2{std::min<unsigned >(csz2, H5chunk), 1 };
52195221
52205222 dcpl2.add (data_dims2);
5223+ // Only apply shuffle filter when compression is enabled (guaranteed by outer if)
52215224 if (H5shuffle) dcpl2.add (HighFive::Shuffle ());
52225225 if (H5szip) {
52235226 dcpl2.add (HighFive::Szip (options_mask, pixels_per_block));
@@ -5231,6 +5234,7 @@ namespace BasisClasses
52315234 HighFive::Chunking data_dims3{std::min<unsigned >(csz3, H5chunk), 1 };
52325235
52335236 dcpl3.add (data_dims3);
5237+ // Only apply shuffle filter when compression is enabled (guaranteed by outer if)
52345238 if (H5shuffle) dcpl3.add (HighFive::Shuffle ());
52355239 if (H5szip) {
52365240 dcpl3.add (HighFive::Szip (options_mask, pixels_per_block));
0 commit comments