Closed yuhanwyhan closed 1 year ago
Hi Yuhan, I'm about to start reviewing this, but do you think you can post here (or in the docstring) like the overall strategy for how this works? Something like a flow-chart that documents what it will try to do at each step under what conditions, etc. would be really helpful for understanding this at a higher level
Hi Yuhan, I'm about to start reviewing this, but do you think you can post here (or in the docstring) like the overall strategy for how this works? Something like a flow-chart that documents what it will try to do at each step under what conditions, etc. would be really helpful for understanding this at a higher level
the main logic is described in 4.2.2 of https://arxiv.org/pdf/2208.05997.pdf
extra parts of this script is for handling failures of bias_step and handling extreme situations of detectors stucked in SC state or in normal state
Hi Yuhan, finally was able to read through the entire function. Here are the notes I took about the control flow. Do you agree with this as the intended behavior?
bsa_0
overbias_needed
bgs
overbias_dets
on bgs that need overbiasing, and waitstestbed_100mK_bias_voltage
bg_detectors_normal
array if they meet itinitial_dc_biases
vspread
is diff between median normal and median SC voltages based on IVinit +/- 0.15*vspread
where +/-
is determined by
whether or not the median Rfrac is > or < than 0.5bsa_1
) and retry if neededv_estimate = (v0 (target - Rfrac_1) + v1 (Rfrac_0 - target)) / (Rfrac_0 - Rfrac_1)
vnew = median(v_estimate[bg])
, or if all are nan, vnew = (v1 - v0) / 2
vnew
and retake bias steps bsa_2
(with retry if needed)
abs(Rfrac - target) < 0.05
vspread
in the appropriate directionv_estimate2 = (v0 (target - Rfrac_1) + v1 (Rfrac_0 - target)) / (Rfrac_0 - Rfrac_1)
v0= prev estimate
and v1 = prev estimate + delta
v_estimate2
, retake bias steps.Can you give an estimate of the run-time?
Can you give an estimate of the run-time?
4 mins if start from in-transition, 14 mins if start from SC. (tested in LATRt)
I like this description of the flow of the function. Since @yuhanwyhan gave the thumbs up to the description can you commit that to the docs rst file along with a link to Yuhan's conference proceedings @jlashner ?
there is one potential rare failure mode I just realized. let's assume a situation that there is one bad biasline that causes heating or that biasline is short to a FR, and we don't want to touch it at all. The current script will still take a few bias_steps on this biasline. Although if a biasline is bad, we will not put bias_voltage on it to start with, so taking a biasstep round 0 voltage shouldn't do much damage, still....
the solution for this issue will require some re-writing.
the current script forces taking bg map for all 12 biaslines because when it calculates the v_estimate, it does the calculation for all biaslines and then apply the bg_map. One possible fix will be adding a for loop looping over the chosen biaslines and apply the bg_map inside the for loop such that the script only calculate the v_estimate for the chosen biaslines.
I suggest adding this fix into the later version of this script when we can test it cold again. Right now without a cold cryostat and MF/UHF UFMs, I am not confident that this change won't break the code.
a way to make the script faster will be only running the R_tes calculation from biasstep except the final biasstep (running only the _compute_R0_I0_Pj part). An estimation of the run-time for each analysis block of the current biasstep function will be nice.
Added a simple docs page linking to the spie paper, and made the function a pysmurf action. I think I am happy to merge this in now and solve any problems with it as they come up.
@kmharrington mentioned 2 additional things needed for this to be used within the site data operations, and packaging:
I’m happy to wait on 2 until later but if 1 is a simple-ish modification I would like to get that in before merge. We want to use this soon in SAT-MF1 though so if not simple ok to merge and open new issue/or with these additional things.
Right, thanks for reminding me. Latest commit should do that, and sets all g3_tags to oper,biasstep_rebias
Right, thanks for reminding me. Latest commit should do that, and sets all g3_tags to
oper,biasstep_rebias
Thanks let's get this merged then
this contains the script of re-biasing detectors using biasstep. this function has recently been tested in LATR-t with different loading conditions. this plot is showing the result of re-biasing detectors when LATR-t ful exposed to the room
this plot is showing the result of re-biasing detectors after covering the LATR-t with a metal plate
Notice the tests were done with UHF detectors (Uv31), and the change of loading between these two test are very large. in the field we expect lower and more gradually change of loadings.
The next level thing is to make the script run faster, this might involve only running part of the analysis code for bias-step.