simonsobs / simonsobs/sodetlib

Relock issue after failure in take_squid_curves in squid_curves module

Open
#229 2 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.