take_iv fails with SystemError: <class 'numpy.linalg.LinAlgError'> returned a result with an error set #379
-
filepaths from log:
|
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 3 replies
-
first saw this behavior on crate 1 slot 2 (Mv9), now also seeing on crate 1 slot 7 (Mv15) |
Beta Was this translation helpful? Give feedback.
-
I just put in a PR #380 This just skips any channel that fails to polyfit, since that would be junk any way and I'd prefer the whole function to not fail on account of any one channel. I don't know the specifics for why this error occurred though, and this just sweeps the issue under the rug. |
Beta Was this translation helpful? Give feedback.
-
I'm investigating what is causing this, and I think there is a bug in the IV analysis code. This code is what is selecting the timestream region for a given bias in the IV: sodetlib/sodetlib/operations/iv.py Lines 324 to 333 in 5a579b5 where the start/stop times are set here: sodetlib/sodetlib/operations/iv.py Lines 624 to 627 in 5a579b5 Based on this, the bias level should never change in a given segment... however if we look at the bias in a selected region, we see that it does change, and it is far from the bias we expect. If we select the region based on So this issue was happening because for the last few bias points, it was trying to grab a region of the timestream that doesn't have any data, due to the mismatch in "time" units. This becomes a problem and throws this error if the sc_index is close to the end of the timestream, in which case it's trying to polyfit a bunch of nans. I think this can be solved by just switching |
Beta Was this translation helpful? Give feedback.
-
Just wanted to comment here, but setting up NTP on smurf-servers (timing sever and smurf-srv20) did seem to fix the timestamp difference between Timing System time and UnixTime: |
Beta Was this translation helpful? Give feedback.
I just put in a PR #380
This just skips any channel that fails to polyfit, since that would be junk any way and I'd prefer the whole function to not fail on account of any one channel. I don't know the specifics for why this error occurred though, and this just sweeps the issue under the rug.