The hierarchy of workflows in Boulder Opal
Understand how experiments, routines, and solutions compose into a three-tier calibration workflow
Boulder Opal Scale Up organizes calibration work into three tiers: Experiments, Routines, and Solutions. Each tier is built from the one below it and adds a layer of automation, so you can enter at the level that fits your task and drop down to a lower tier when components need more direct tuning.
This document describes each tier, how data flows between them, and how to recover when a routine fails.
1. Introduction
The three tiers form a hierarchy of increasing scope:
- An experiment runs a single measurement program on the QPU and returns fitted parameters.
- A routine runs a sequence of experiments against one component type and writes the updated parameters to the virtual device.
- A solution runs a set of routines to calibrate the full QPU in one invocation.
The tier you pick sets the scope of the run and the amount of control you keep. The table below summarizes the solutions, routines, and experiments currently available in Boulder Opal. Use it as a reference for the capabilities supported in the current release.
| Solution | Routine | Experiment |
|---|---|---|
| Characterization | Resonator Mapping | Feedline Discovery |
| Resonator Spectroscopy | ||
| Resonator Spectroscopy by Power | ||
| Resonator Spectroscopy by Bias | ||
| Transmon Discovery | Transmon Spectroscopy | |
| Transmon Anharmonicity | ||
| PowerRabi | ||
| Readout Classifier | ||
| Transmon Coherence | T1 | |
| T2 | ||
| T2 Echo | ||
| Coupler Discovery | Chi01 Scan | |
| CZ Spectroscopy by Bias | ||
| ZZ Ramsey | ||
| Calibration | 1Q Calibration | Ramsey |
| Drag Leakage Calibration | ||
| Fine Amplitude Calibration | ||
| One Qubit RB | ||
| 2Q Calibration | TBD |
Note that solutions are not yet fully deployed within Boulder Opal, but are expected later in 2026.
The rest of this document covers each tier in order, then shows how parameter data moves between them and how to recover from a routine failure.
2. Experiments
An experiment runs one control sequence on the QPU and returns fitted parameters for a single component.
Each experiment class takes its required parameters like component identifiers (for a transmon or resonator), sweeps (frequency or power ranges), or shot count.
Pass the defined experiment to client.run, which will return a job ID that you can use to retrieve the experiment data.
See our tutorial on running jobs for a more detailed guide.
3. Routines
A routine runs a sequence of experiments to characterize or calibrate one component type and writes the updated parameters to the virtual device. Before each experiment, the routine reads the current device state to set sweep ranges and initial guesses. As with experiments, its routine has its own set of parameters to control its logic, and can be executed via client.run.
You can see some of the currently available routines in the table above. Each one covers a separate calibration task and runs its related experiments.
4. Data integration and the virtual device
Parameter data flows through the tiers as a closed loop:
- Experiments produce raw measurement data and fitted parameters.
- The parameters are written to the
SuperconductingProcessorin the virtual device. - Routines analyze the validated parameters, experiment results, and updated device state to define the next experiment.
Each calibration step starts from the most recent values, and every successful measurement updates the device model.
It is also possible to manually update device parameters, see the relevant user guide.
Next steps
- Running your first job for a more detailed guide.
- Reviewing job results and device history: navigate job history and inspect device state in depth.
- How to debug a failed routine user guide.
