The OFC xref currently has 3 options: x00, x0, and 0. I have observed with my test at NCSA that at least x0 does not work as expected. (It worked a couple of weeks ago. So I believe a recent change to the code affected this).
The working version of the test has a permanent link here (cells 54-110)
Here is a description of what should be expected:
when xref=x0, it means we are referencing the current positions of the DOFs for motion penalty. So if I add the same aberration twice, the visitDOF resulted from the first addAberration command should be equal to the visitDOF resulted from the 2nd addAberration command.
So, basically, I do
await aos.cmd_addAberration.set_start(wf = zernikes, config=config_yaml)
then check the event evt_degreeOfFreedom.visitDOF
then repeat the above, the two visitDOFs should be equal. But right now they are not (in the notebook linked above, they are. But not if I re-execute the notebook with the latest version of MTAOS)
when we set xref=x00, they will not be equal. If we compare individual DOFs, I expect the 2nd to be generally smaller than the first.
In case that you want to check xref=0 option as well:
my understanding is that if we have all zeros in dof_state0_filename, which is the default, the behavior should be the same as x00.
Note: This ticket is also used to fix the bug of butler change in the up-stream.