Preparation station

The staging and editing area for experiment parameters: preview, reorder and fine-tune tasks before they are pushed into the queue.

Overview

PrepStation is a tab in a top dock of the experiment browser (Browser) that acts as the “staging area” of the experiment queue: tasks that are not yet ready are kept here and are pushed into ExperimentQ for execution once confirmed. The task list is persisted in configuration/browser/prepfile.json and can be viewed and manipulated from the experiment console on the browser side (Web remote control).

Functions

OperationDescription
StageClicking the Prep button in the experiment window stages the current parameters (including the scan definition) in the task list
PushCopies the selected task into ExperimentQ (the queue retains the complete task number, priority and scan parameters)
Add to loopAdds the selected task to a Looper loop group (push_to_looper)
ReorderMoves tasks up/down to change their order
SleepMarks a task as Sleeping so that it takes no part in pushes for the time being
Edit/viewOpens the task parameter editor or a read-only view
Save/loadSaves a parameter set as JSON (experiment_params/<experiment>/<date>/)

Task data structure

Every staged task has the same structure as a queue task (generated by the experiment window’s setup_task_dict()):

task = {
    'task': 12,                 # task number
    'expName': 'Absorption',    # experiment name
    'label': 'scan: freq 2:1',  # label (includes the scan prefix)
    'priority': 0,
    'args': {'count': 5},       # experiment parameters
    'nRuns': 21,                # number of scan points
    'scanpars': ['freq'],       # scan parameters
    'scanvals': [[...]],        # scan values
    'scansequence': [...],      # scan order (after randomisation)
    'nReps': 1,
    'status': 'Queued',         # Queued / Sleeping / Waiting
    'filepath': '.../absorption.py',
}

Persistence and sharing

  • The task list is kept in configuration/browser/prepfile.json and is restored automatically when the browser restarts;
  • The desktop GUI and the Web remote control platform share the same file, so tasks staged, pushed, reordered or slept on one side are immediately visible on the other.