def set_dimensions(child: Block, generator: CompoundGenerator) -> List[Future]: num_dims = len(generator.dimensions) assert num_dims <= 10, "Can only do 10 dims, you gave me %s" % num_dims attr_dict: Dict = dict(numExtraDims=num_dims - 1) # Fill in dim name and size # NOTE: HDF writer has these filled with fastest moving first # while dimensions is slowest moving first for i in range(10): suffix = SUFFIXES[i] if i < num_dims: forward_i = num_dims - i - 1 index_name = "d%d" % forward_i index_size = generator.dimensions[forward_i].size else: index_name = "" index_size = 1 attr_dict["posNameDim%s" % suffix] = index_name attr_dict["extraDimSize%s" % suffix] = index_size futures = child.put_attribute_values_async(attr_dict) return futures