H5repack with multiple layouts

Hello, everyone! I need to make a script to change datasets chunk layouts and I’m trying to use h5repack to accomplish this. I’m using a bash script.

My first problem is that h5repack throws an error if the chunk layout chosen is greater than the datasets dimensions. For example, suppose one dataset has dimensions 100x100x100 and chunk layout 1x10x10; and another dataset has dimensions 100x90x1 and chunk layout 1x2x1. At first, I thought if I passed 20x20x20 as chunk layout for h5repack, it would work and the final layouts would be 20x20x20 for the first dataset and 20x20x1 for the second one.

Unfortunately, that’s not the case. h5repack throws and error because the chunk layout can’t be greater than the dataset size. I thought the tool would automatically use the dimension size in this case, but it isn’t like that.

My second try was to use h5repack passing multiple parameters, one chunk layout per dataset, but every command I tried resulted in error. Is it possible to specify a chunk layout per dataset with h5repack? If so, how? If not, which are the alternatives?

Thank you very much!

Can you give examples of the h5repack commands you tried?

1 Like

Thanks for replying! I’ve managed to execute it successfully. One just needs to pass several -l options and each option follow the dataset:CHUNK=layout structure.