Simplify _Q_opt in parmest with block scenario structure.#3789
Conversation
|
@djlaky @adowling2 Here are my initial thoughts on the redesign. Please provide feedback on code layout to this point. |
|
Dan and I had a good conversation today about the functional things needed in the redesign, and how to go about adding components to the overall block and sub-models. Working to implement changes, closely related to what is done currently in doe's _generate_scenario_blocks. |
|
@adowling2 @djlaky Added case for bootstrap, now works with theta_est, theta_est_bootstrap, and theta_est_leaveNout if I replace _Q_opt with _Q_opt_blocks. Please review. I am aware of the duplicated code, but when I attempted to unify them using n_scenarios = len(self.exp_list) or len(bootlist), I am getting an error for bootstrap I am still working out. Would we want to fully transition to using theta_est for obj and theta, and cov_est for covariance and add an error/warning? Or should I make it work to calculate cov if calc_cov=True? Thanks! |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3789 +/- ##
=======================================
Coverage 90.11% 90.12%
=======================================
Files 905 905
Lines 107502 107490 -12
=======================================
- Hits 96878 96874 -4
+ Misses 10624 10616 -8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@adowling2 @djlaky Should I tag larger team on this? Please review when available. Thanks! |
…ocks" This reverts commit 1aea99f.
|
@mrmundt Please rerun the one failing check. It failed really early. |
mrmundt
left a comment
There was a problem hiding this comment.
I have two comments about what look like residual comments / blocks, but they aren't critical to remove.
|
@blnicho Requested changes are applied, please rerun failing tests as the issues are related to windows installation. Thanks! |
This was before I made one more small change. Hopefully new set is all passing. |
|
@blnicho One bad windows check. Please rerun. Thank you!! |
|
@blnicho Please let me know if I need to add a few more tests or good as is. Some of the uncovered portion in the patch is due to me moving the deprecated functions down, and will be addressed soon in a PR. Thank you! |
Fixes # .
Summary/Motivation:
_Q_opt, the main model building and solving function within parmest, is still heavily dependent on MPISPPY, and the code is becoming outdated and difficult to interpret. The goal of this PR is to redesign _Q_opt to work without this dependence, retaining all the current functionality
Changes proposed in this PR:
-_Q_opt redesign, using a block structure, with minimal changes needed to functions that utilize it.
Legal Acknowledgement
By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution: