-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JP-2609: Fix ignored step-pars during cmdline pipeline run #57
JP-2609: Fix ignored step-pars during cmdline pipeline run #57
Conversation
Codecov Report
@@ Coverage Diff @@
## master #57 +/- ##
======================================
Coverage 0.00% 0.00%
======================================
Files 25 25
Lines 3027 3060 +33
======================================
- Misses 3027 3060 +33
Continue to review full report at Codecov.
|
Note: the simple trick failed. WIP |
@stscieisenhamer I committed the first implementation of the refactored config building; the version with the original pipeline.merge_config() ordering (commit "this version has no step-pars values") still gets the step-pars overwritten by the combined spec-defaults+explicit cmdline par setting, while the most recent commit with the merge_config order swapped clobbers all spec+cmdline settings with the values contained in the step-pars file. I believe the issue is still a depth problem - the flow in cmdline.py being modified is only been accessed while a) overwrites both the spec and the steps.tweakreg.kernel_fwhm with the step-pars values or b) overwrites the step-pars with spec + cmdline definitions. Because of the depth in loading step-pars configs while building a pipeline config, either the cmdline args need to make it all the way into pipline init or we need to make a pipeline version of one of these methods to push the cmdline args into the config merges another way. |
This update pushes any parameter specifications: either through command line arguments like downstream to the Pipeline init, due to the problem that any step-specific pars files provided in a pipeline initialization aren't loaded as a configobj until the pipeline is instantiated and begins working through its step_defs to instantiate the steps inside. The current method has broken every test it could possibly break in jwst/stpipe, and is still a WIP. |
…rgs to accommodate .call() stream
4440727
to
4289a74
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks OK to me. As long as it works properly.
At some point we should probably also include an entry for this fix in the jwst change log, just to have a record of the bug in jwst pipeline usage being fixed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested and confirmed it works with romancal
This PR broke support for list arguments |
Currently, running a pipeline while providing a pars-{step} file overwrites the user-supplied pars with the default pars. It appears as though a simple swap in a merge may be all that's required to get this functioning - the overwrite priority is now flipped for parameters which are specified in both the default spec and the user pars file.
Addresses JP-2609