Added script that solves satv1 pointing model parameters.#999
Added script that solves satv1 pointing model parameters.#999
Conversation
mhasself
left a comment
There was a problem hiding this comment.
Thanks! Here's the round 1 review (there will be more rounds).
As a site_pipeline script, this should conform to site_pipeline standards (which I admit are not evenly enforced):
- Reformulate
main(...), add aget_parser()function, and useutil.main_launcher. Seesite_pipeline/preprocess_tod.pyfor a correct example. - Register the function in
site_pipeline/cli.pyso it can be run from the command line usingso-site-pipelineentry point. - Add an entry in docs/site_pipeline.rst. Make sure the text includes an example config file. If command line args are non-trivial, it should include those two. Both of those things can be "automagically" dropped in by sphinx, from the module code / docstrings, with the right constructions. (See other examples in site_pipeline.rst)
One more big request for overall scope: I know this fitter has been validated on this dataset, elsewhere. But when it is used on future data sets it will be essential to visualize the results, to see the residuals, and explore param combos. So... please include plotting functionality in here.
(Also a few minor comments inline.)
Added plotting functionality, added fit iteration, added documentation.
|
I had to do lots of the code editing on site computing while NERSC was down, so when I copied it back to NERSC to do the git push-ing, it makes it look like every line of code is new! Sorry |
Merging master with this branch so latest pointing model version is usable.
…olve_pointing I forgot to push a rebase, then Saianeesh made a commit.
|
Just a heads up that the tests on the most recent push will fail. so3g and toast both had releases in the last couple hours and I'm about to merge a PR that updates the sotodlib interfaces in a couple places. I'll post more info on dm-support shortly. |
…ombineFlags, implemented MPI parallel processing, and other syntax updates.
…y wafer and final full wafer products
…ts through to the outputs of finalize focal plane. Useful for per-obs usecase, and when loaded with Receiver.load the values will be under det_boresight
…etector pointing not included in inputs
* feat: lat v2 pointing model * Update sotodlib/coords/pointing_model.py Co-authored-by: Matthew Hasselfield <mhasself@users.noreply.github.com> * Update sotodlib/coords/pointing_model.py Co-authored-by: Matthew Hasselfield <mhasself@users.noreply.github.com> * feat: quiver plot * fix: use correct roll * fix: remove unused lines * feat: add option for optics tubes to float and moved some fitter options to config file * fix: dont run second iteration if there are no cut points and fix missing comma * fix: apply ot offsets when plotting * fix: use same xieta_mode when making final plots and save ot offsets seperately --------- Co-authored-by: Matthew Hasselfield <mhasself@users.noreply.github.com>
perdetector azimuth changes to finalize_focal_plane and fp_coords will function.
…aving of lmfit parameter errors and correlations matrix. Simplifies loading of data into axis managers.
…n of differential xi and eta in analyze_PM_with_all_dets function. Feature plot of correlation matrix.
| test_params = epoch["solver_aman"].pointing_model_i1 | ||
| else: | ||
| test_params = epoch["solver_aman"].pointing_model | ||
| if "ot_float_aman" in epoch["solver_aman"]._assignments: |
There was a problem hiding this comment.
Had a question about why the if "ot_float_aman" statement is only on this second statement. We could have it make the fancy plots for both first and second fits. If that was the case, should the ot_float statement also apply to both minimizations?
elle-shaw
left a comment
There was a problem hiding this comment.
Quick changes look good to me, I just have the one question on the ot_float option handling on the analyze_PM_with_all_dets plotting section.
Script that solves for pointing model parameters given an input config and saves manifest/metadata.