Add app modules for ALSU SR commissioning#27
Open
thellert wants to merge 11 commits intokparasch:developfrom
Open
Add app modules for ALSU SR commissioning#27thellert wants to merge 11 commits intokparasch:developfrom
thellert wants to merge 11 commits intokparasch:developfrom
Conversation
Check for 'name' key in level_conf dict instead of in level_conf['name'] string, which was always checking if the substring 'name' existed in the value.
Replace at.load_mat with at.load_lattice, which dispatches to the correct loader based on file extension (.mat, .m, .seq, .lte, etc.). Add loader_kwargs field for passing format-specific options through the config.
- Add gain_corrections_x/y fields (initialized to ones) as multiplicative corrections applied in capture_orbit, capture_injection, and capture_kick - Parse n_particles as int from injection config - Allow capture_injection to optionally return transmission array
Add extra="forbid" to the 14 remaining models that used the default extra="ignore", which silently discards unknown kwargs. This fixes a real bug where BBAAnalysis(total_rejections=...) silently lost data. - Add total_rejections field to BBAAnalysis (was passed but discarded) - Update deprecated outputs_plane -> output_planes in c_minus.py - AbstractInterface intentionally excluded (subclassed externally)
…feature/test-suite
- codes.py: Fix DispersionCode.DONE value collision with HORIZONTAL - response.py: Replace np.concat with np.concatenate - response_matrix.py: Fix disable_all_outputs_but copy-paste bug, fix MICADO UnboundLocalError - bpm_system.py: Fix reconstruct_true_orbit gain inversion - tune.py: Store tune_response_matrix on self - tuning_core.py: Guard wiggle_last_corrector against UnboundLocalError
- bba.py: Fix reject_bpm_outlier np.abs usage, add total_rejections field - bpm_system_conf.py: Fix config pattern matching - general.py: Prevent scale_error_table from mutating input arrays - rf_conf.py: Fix 'frequncy' typo - injection.py: Fix injection tracking - magnetsettings.py: Fix add_individually_powered indentation logic - rdt.py: Fix fjklm phase wrapping
Tests cover all core modules (configuration, core, tuning, apps, utils) with 53 test files providing structural and behavioral coverage.
New application modules needed for ALSU storage ring commissioning simulations. Multipoles module includes bug fixes (accumulation, truncated random), new parameters (main_order, main_component, zero_orders), numpy array input support, and read_multipole_table for parsing MATLAB-format multipole files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
+=, truncated random), new parameters (main_order,main_component,zero_orders), numpy array input, andread_multipole_tablefor parsing MATLAB-format multipole filesDependencies
This branch is based on
feature/test-suite(the comprehensive unit test branch) and should merge after that branch.Test plan
pytest tests/apps/test_multipoles.py -v— 32 tests passpytest tests/ -x— full suite: 371 passed, 10 xfailed, 0 failures