-
Notifications
You must be signed in to change notification settings - Fork 38
Labels
METplus: Configurationalert: NEED ACCOUNT KEYNeed to assign an account key to this issueNeed to assign an account key to this issuealert: NEED MORE DEFINITIONNot yet actionable, additional definition requiredNot yet actionable, additional definition requiredcomponent: code cleanupCode cleanup and maintenance issueCode cleanup and maintenance issuecomponent: code optimizationCode optimization issueCode optimization issuecomponent: python wrapperpriority: highHigh PriorityHigh Priorityrequestor: METplus TeamMETplus Development TeamMETplus Development Teamrequired: FOR DEVELOPMENT RELEASERequired to be completed in the development release for the assigned projectRequired to be completed in the development release for the assigned projecttype: enhancementImprove something that it is currently doingImprove something that it is currently doing
Milestone
Description
Discussion #1278 contains some information about this change.
There are a variety of benefits from removing this functionality, including more consistent behavior, more flexibility for configuring the wrappers, easier maintenance/room for enhancement of the existing code, and easier implementation of new wrappers.
Describe the Enhancement
- Modify the config parsing logic to ignore the LOOP_ORDER variable and always execute the behavior for LOOP_ORDER=processes
- Update default behavior for wrappers that behave differently based on the LOOP_ORDER value to preserve existing functionality (TCPairs, StatAnalysis, etc.)
- Ensure all existing use cases still work as expected
- Update documentation to note LOOP_ORDER is deprecated
- Modify all wrappers to inherit from RuntimeFreqWrapper and set default runtime frequency that is appropriate for each wrapper (consider implementing multiple inheritance of wrapper classes to isolate runtime frequency/time looping class functions -- this would allow wrappers that support MET config files to also inherit from a class that contains the functions needed for that)
Time Estimate
2-5 days?
Sub-Issues
Consider breaking the enhancement down into sub-issues.
- Add a checkbox for each sub-issue here.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Define the source of funding and account keys here or state NONE.
Define the Metadata
Assignee
- Select engineer(s) or no engineer required
- Select scientist(s) or no scientist required
Labels
- Select component(s)
- Select priority
- Select requestor(s)
Projects and Milestone
- Select Repository and/or Organization level Project(s) or add alert: NEED PROJECT ASSIGNMENT label
- Select Milestone as the next official version or Future Versions
Define Related Issue(s)
Consider the impact to the other METplus components.
Enhancement Checklist
See the METplus Workflow for details.
- Complete the issue definition above, including the Time Estimate and Funding Source.
- Fork this repository or create a branch of develop.
Branch name:feature_<Issue Number>_<Description>
- Complete the development and test your changes.
- Add/update log messages for easier debugging.
- Add/update unit tests.
- Add/update documentation.
- Add any new Python packages to the METplus Components Python Requirements table.
- Push local changes to GitHub.
- Submit a pull request to merge into develop.
Pull request:feature <Issue Number> <Description>
- Define the pull request metadata, as permissions allow.
Select: Reviewer(s) and Linked issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version - Iterate until the reviewer(s) accept and merge your changes.
- Delete your fork or branch.
- Close this issue.
Metadata
Metadata
Assignees
Labels
METplus: Configurationalert: NEED ACCOUNT KEYNeed to assign an account key to this issueNeed to assign an account key to this issuealert: NEED MORE DEFINITIONNot yet actionable, additional definition requiredNot yet actionable, additional definition requiredcomponent: code cleanupCode cleanup and maintenance issueCode cleanup and maintenance issuecomponent: code optimizationCode optimization issueCode optimization issuecomponent: python wrapperpriority: highHigh PriorityHigh Priorityrequestor: METplus TeamMETplus Development TeamMETplus Development Teamrequired: FOR DEVELOPMENT RELEASERequired to be completed in the development release for the assigned projectRequired to be completed in the development release for the assigned projecttype: enhancementImprove something that it is currently doingImprove something that it is currently doing