Storing PulseSequencesΒΆ

Every time a PulseSequence is passed to the Layout to be targeted to the experimental setup, a copy of the PulseSequence can be stored on the computer. The PulseSequence is stored as a Python pickle, along with a timestamp. This can be a useful feature for logging, as the timestamp allows you to see what PulseSequence was targeted at a given time. To setup PulseSequence storage, the folder needs to be passed to the Layout during its initialization, as such

>>> layout = Layout(store_pulse_sequences_folder={folder_path})

where {folder_path} is an absolute path to the folder.

Stored PulseSequences can be later retrieved either directly using pickle, or relative to a dataset using

>>> dataset.get_pulse_sequence()

By default the first pulse sequence will be retrieved that was targeted after the dataset is created. Additional arguments can be specified to retrieve a specific later PulseSequence.

Note

Due to the way pickling works, when a PulseSequence is retrieved, it will use the current version of SilQ QCoDeS to recreate the actual PulseSequence object. If the source code of either has changed significantly in the time between storage of the PulseSequence and its retrieval, it could be that the PulseSequence cannot be recreated and an error is raised. In this case it is recommended to revert to an earlier version of SilQ/QCoDeS, preferrably the version existing when the PulseSequence was stored.