Conversation
ykyohei
left a comment
There was a problem hiding this comment.
Thanks for the PR! I have some comments and inlince comments.
-
To make this metadata easier to use, we need to make additional ManifestDb for the CMB or other calibration observations.
I thinkupdate_bgmap_delayis good example.
sotodlib/sotodlib/site_pipeline/update_bgmap_delay.py
Lines 1156 to 1171 in cce97f0
-
readout_delayandstm_gain_with_tau_correctionare also important calibration parameters that users will use, but it's not included in "stm_gain" and "stm_timeconstant" archives now. -
I'm not sure if we need to make "stm_gain" and "stm_timeconstant" archives. For example, we can use "load_fields" to load only stm_gain, stm_tau, readout_delay etc from stm_cal archive.
sotodlib/sotodlib/core/metadata/loader.py
Lines 850 to 857 in cce97f0
-
Could you also make (draft) PR of config files for this pipeline in site-pipeline-configs repository?
https://github.com/simonsobs/site-pipeline-configs/tree/main/lat
|
Hi Kyohei, Thanks for the review comments!
|
There was a problem hiding this comment.
Thanks for all the changes. I suggest to reduce the number of manifest dbs from 4 to 2.
- stm_gain.sqlite
- stm_time_constant.sqlite
- stm_gain_with_tau_correction.sqlite -> drop
- stm_readout_delay.sqlite -> drop
There are two reasons.
stimulator time constant and readout delay should always exist together.
I also think observation with time_constant tag is supposed to produce both gain and time_constant, because the gain will be calculated with lowest chopping frequency part of data. I should confirm to @YudaiSeino.
sotodlib/sotodlib/stimulator/stimulator.py
Lines 122 to 126 in cce97f0
Then the context file will be
- db: '.../lat_stimulator_cal_260913m/stm_gain.sqlite'
label: stm_gain
load_fields:
- stm_gain
- db: '.../lat_stimulator_cal_260913m/stm_time_constant.sqlite'
label: stm_tau
load_fields:
- stm_tau
- readout_delay
- stm_gain_with_tau_correction
For the update_obs_corresp, if I understand correctly this runs over all the observations everytime, is this intentional? Do we only need to run new obsevations because this runs after the stimulator data processing?
This PR adds pipline code for the stimulator.
The
make_stm_cal.pyis the main script for this pipeline, where it makes HDF5 output files as output products of stimulator's gain and time constant analysis usingstimulator.py.Small modification on the
stimulator.pyis intended to fix the assignment so that concatenation of the AxisManager works properly.Modification on
pyproject.tomlshould be needed sincestimulator.pyusesrupturespackage.