MCPcopy Create free account
hub / github.com/DedalusProject/dedalus / merge_task

Method merge_task

dedalus/core/evaluator.py:846–864  ·  view source on GitHub ↗

Merge virtual dataset into regular dataset.

(file, task_name, overwrite=False)

Source from the content-addressed store, hash-verified

844
845 @staticmethod
846 def merge_task(file, task_name, overwrite=False):
847 """Merge virtual dataset into regular dataset."""
848 # Create new dataset
849 old_dset = file['tasks'][task_name]
850 if not old_dset.is_virtual:
851 raise ValueError("Specified dataset is not a virtual dataset.")
852 new_name = f"{task_name}_merged"
853 new_shape = (1,) + old_dset.shape[1:] # shape[0] = 1 to automatically chunk within writes
854 new_dset = file['tasks'].create_dataset(name=new_name, shape=new_shape, maxshape=old_dset.maxshape, dtype=old_dset.dtype)
855 new_dset.resize(old_dset.shape[0], axis=0)
856 # Copy attributes and scales
857 new_dset.attrs.update(old_dset.attrs)
858 # Copy data chunk by chunk
859 for chunk in new_dset.iter_chunks():
860 new_dset[chunk] = old_dset[chunk]
861 # Overwrite old dataset if requested
862 if overwrite:
863 del file['tasks'][task_name]
864 file['tasks'].move(new_name, task_name)
865

Callers

nothing calls this directly

Calls 1

updateMethod · 0.80

Tested by

no test coverage detected