simonsobs / simonsobs/sodetlib
Relock issue after failure in take_squid_curves in squid_curves module
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5
- Forks
- 0
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 4
Description
After running take_squid_curves in the squid_curves module, I get a ValueError in uxm_relock.uxm_relock(...)
Note: take_squid_curves returned a failure before it resets feedback.
Logs located at:
/data/smurf_data/20220325/ufm_mv11/1648244184/outputs/1648244184.log
ValueErrorTraceback (most recent call last)
<ipython-input-5-02cf8711644e> in <module>
1 # Here setup_notches = False, this speeds things up a lot but if it fails to get back to a good state the first thing I would do is toggle that to True.
----> 2 out = uxm_relock.uxm_relock(S, cfg, bands, setup_notches=False, show_plots=True)
/usr/local/src/pysmurf/python/pysmurf/client/util/pub.py in wrapper(S, pub_action, *args, **kwargs)
48 S.pub._action_ts = S.get_timestamp()
49
---> 50 rv = func(S, *args, **kwargs)
51
52 finally:
/sodetlib/sodetlib/operations/uxm_relock.py in uxm_relock(S, cfg, bands, disable_bad_chans, show_plots, setup_notches, new_master_assignment, reset_rate_khz, nphi0)
153 tr = relock_tracking_setup(
154 S, cfg, bands, show_plots=show_plots,
--> 155 reset_rate_khz=reset_rate_khz, nphi0=nphi0
156 )
157 summary['tracking_setup_results'] = tr
/usr/local/src/pysmurf/python/pysmurf/client/util/pub.py in wrapper(S, pub_action, *args, **kwargs)
48 S.pub._action_ts = S.get_timestamp()
49
---> 50 rv = func(S, *args, **kwargs)
51
52 finally:
/sodetlib/sodetlib/operations/tracking.py in relock_tracking_setup(S, cfg, bands, reset_rate_khz, nphi0, show_plots)
527 tk.update({'lms_freq_hz': lms_freqs[i]})
528 f, df, sync = S.tracking_setup(band, **tk)
--> 529 res.add_band_data(band, f, df, sync, tracking_kwargs=tk)
530
531 res.find_bad_chans()
/sodetlib/sodetlib/operations/tracking.py in add_band_data(self, band, f, df, sync, tracking_kwargs)
170
171 self.tracking_kwargs[band] = tracking_kwargs
--> 172 r2 = compute_tracking_quality(self._S, f, df, sync)
173
174 if self.f is not None:
/sodetlib/sodetlib/operations/tracking.py in compute_tracking_quality(S, f, df, sync)
40 for i in range(nstacks):
41 si = sync_idxs[i]
---> 42 fstack[:seg_size] += (sig)[si:si+seg_size] / nstacks
43
44 # calculates quality of estimate wrt real data
ValueError: operands could not be broadcast together with shapes (150,512) (149,512) (150,512)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the logged take_squid_curves and uxm_relock call, then inspect sodetlib/operations/tracking.py at compute_tracking_quality and TrackingResults.add_band_data, along with the failure paths in squid_curves and uxm_relock. Done means a failed take_squid_curves resets feedback and the reported shape mismatch no longer causes relocking to fail; use the linked log to compare behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100