-
Notifications
You must be signed in to change notification settings - Fork 38
Description
This was discovered in discussion #1703. The Hovmoeller use case failed to run on Hera due to the current approach.
Currently the METPLOTPY_BASE environment variable is set in 2 use case config files.
s2s/UserScript_obsPrecip_obsOnly_Hovmoeller.conf:
METPLOTPY_BASE = {METPLUS_BASE}/../METplotpy
s2s/UserScript_obsPrecip_obsOnly_CrossSpectraPlot.conf:
METPLOTPY_BASE = {METPLUS_BASE}/METplotpy
This may not always be the location of the METplotpy install. Also, the information is inconsistent between the two. Apparently it is not actually used for the CrossSpectraPlot use case.
Describe the Problem
Come up with a better way to set this environment variable on install so that it is consistent for all use cases.
- Remove setting of env var from individual use case config files
- For the automated tests, this could be set via [user_env_vars] in the .github/parm/test_settings.conf file so it is used for all use cases:
[user_env_vars]
METPLOTPY_BASE = {METPLUS_BASE}/../METplotpy
- Consider adding the [user_env_vars] section and the variable commented out in the parm/metplus_config/defaults.conf file with instructions to uncomment and set to the appropriate location upon install
- On Hera, the environment variable is set in the module load script for METplotpy, so it doesn't need to be set in METplus defaults.conf. This would allow users to easily load a different METplotpy module and METplus would use that version. Variables set in [user_env_vars] take precedence over environment variables set in the user's environment.
Expected Behavior
Use cases will run properly regardless of location, i.e. Hera
Environment
Describe your runtime environment:
1. Machine: Hera
To Reproduce
Describe the steps to reproduce the behavior:
1. Log into Hera
2. Run the module load commands to obtain METplus, METplotpy, METcalcpy, and METdatadb (METdataio)
3. Run the Hovmoeller use case and confirm it fails
Note: I commented out setting METPLOTPY_BASE in the use case config file for METplus-4.1.0 so other users could run the use case. To test the original behavior, copy the conf file, uncomment the variable, and run the use case.
Relevant Deadlines
5.0.0 and 4.1.3
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 Organization level Project for support of the current coordinated release
- Select Repository level Project for development toward the next official release or add alert: NEED PROJECT ASSIGNMENT label
- Select Milestone as the next bugfix version
Define Related Issue(s)
Consider the impact to the other METplus components.
Bugfix 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 main_<Version>.
Branch name:bugfix_<Issue Number>_main_<Version>_<Description>
- Fix the bug 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 main_<Version>.
Pull request:bugfix <Issue Number> main_<Version> <Description>
- Define the pull request metadata, as permissions allow.
Select: Reviewer(s) and Linked issues
Select: Organization level software support Project for the current coordinated release
Select: Milestone as the next bugfix version - Iterate until the reviewer(s) accept and merge your changes.
- Delete your fork or branch.
- Complete the steps above to fix the bug on the develop branch.
Branch name:bugfix_<Issue Number>_develop_<Description>
Pull request:bugfix <Issue Number> develop <Description>
Select: Reviewer(s) and Linked issues
Select: Repository level development cycle Project for the next official release
Select: Milestone as the next official version - Close this issue.