Dummy platform support for QubitTuneup#23
Open
al100-aleo wants to merge 9 commits into
Open
Conversation
… py file to distinguish between qick MHz units and dummy Hz units to fix the resspecvsgain plot in html report
…d sat spec plotting and also changed simphi from 0 to .4 to help res spec vs gain plotting
…tocol-support branch to make pr request up to date with changes on main
…hich caused an attribute error when compiling the QubitTuneup html report because the parameter got deleted, so I am adding the increase echos back so the report can compile
…arams because it shouldnt be included in t2e check
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What these changes do:
Why this was done:
What specifically was done:
Removed "+ self.readout_lo()" after "frequencies" from the sweep function in res_spec.py (though readout_lo didn't change the function because it was initialized to zero and then added to another quantity). It was unregistered and thus a work-around would be to either remove it (which is implemented here) or register it (but that might run into issues when the qick platform is selected because qick may not provide a readout_lo value).
Added corresponding '_dummy_getter' and '_dummy_setter' within the Corrections parameters, since the qick setters and getters were all written already and the paths are platform-independent; i.e. the dummy setters and getters are added by duplicating these existing paths in res_spec.py, res_spec_vs_gain.py, sat_spec.py, power_rabi.py, pi_spec.py, res_spec_after_pi.py, t1.py, t2r.py, and t2e.py.
Similar to above, added '_dummy_getter' and '_dummy_setter' to SaturationSpecDriveGain in parameters.py.
Added 56 corrections.* parameters and 6 measurement parameters to the dummy parameter json file located at src/cqedtoolbox/protocols/configs/parameter-manager_dummy-config.json. To implement this, create a file in your working directory where you uv run the instrument server configuration and title the file parameter_manager-parameter_manager.json, and populate the file with the contents from this parameter-manager_dummy-config.json file. These 56+ or so parameters are the ones getting passed through the dummy getters/setters recently added.
Changed the Res Spec Max Window shifting parameter to zero in the dummy parameter json file because there was no need to shift the window for the dummy platform (which was already looking at the correct window).
Changed the _SIM_PHI value in res_spec.py from 0 to 0.4, which helped with plotting in ResonatorSpectroscopyVsGain, which allowed the complete QubitTuneup html report to get plotted and compile.
Also added a helper function in res_spec.py to distinguish between platforms because qick used MHz and dummy used Hz units.
As per Oliver's suggestion, set the SNR threshold parameters to 1.5 in the dummy param json file. This also ended up helping to resolve plotting issues that sat spec was encountering because it keep trying corrections despite having a good fit and tightening the snr threshold from 3 down to 1.5 made the correction process work more smoothly.
Oliver added OPX getters and setters to res_spec.py, res_spec_vs_gain.py, sat_spec.py, power_rabi.py, pi_spec.py, res_spec_after_pi.py, t1.py, t2r.py, and t2e.py and pushed the changes to the main branch, so to re-update this pr with these new changes on the main branch, I did an additional commit to this pr to merge the changes.
After merging the changes, I noticed that deleting IncreaseEchosCorrection from t2e.py during the merge caused compiling the QubitTuneup html report to fail because of an attribute error where the Echos parameter didn't exist and thus couldn't be passed. So I removed additional instances of EchosCorrection in t2e.py and now the QubitTuneup report compiles again.
Removed qubit.start_f and qubit.end_f from dummy param json as per Oliver's request, because he noticed they weren't being loaded anywhere.
Known limitations: