Description
Currently, this package is coupled to NCO-HPC/prod_util such that when prod_util is upgraded, this package also needs to be upgraded. This is because prod_util is listed in versions/run.ver and loaded in include/head.h. This introduces more work for an upgrade to prod_util because an upgrade to our ecflow package requires an ecFlow server switch.
This makes introducing small, manageable changes into prod_util inefficient due to the extra work of needing to perform an ecFlow server switch. The current approach is to collect multiple changes to prod_util and then upgrade the package with all of these changes. However, if one aspect of the upgrade turns out to need modification, then (a) all of the changes need to be rolled back, and (b) another ecFlow server switch needs to be performed.
This package uses the following prod_util utilities:
ush/err_exit - called once in include/envir-p1.h
ush/mail.py - called four times in include/switch_fun.h
Aside from loading prod_util in include/head.h and the calls above, I do not see another place where ecflow uses prod_util.
Proposed Solution
To maintain the module load for prod_util in include/head.h while introducing flexibility for upgrades to prod_util, I suggest we set prod_util_ver as an ecFlow variable.
CC: @CarlosMDiaz-NCO
Description
Currently, this package is coupled to NCO-HPC/prod_util such that when
prod_utilis upgraded, this package also needs to be upgraded. This is becauseprod_utilis listed inversions/run.verand loaded ininclude/head.h. This introduces more work for an upgrade toprod_utilbecause an upgrade to our ecflow package requires an ecFlow server switch.This makes introducing small, manageable changes into prod_util inefficient due to the extra work of needing to perform an ecFlow server switch. The current approach is to collect multiple changes to prod_util and then upgrade the package with all of these changes. However, if one aspect of the upgrade turns out to need modification, then (a) all of the changes need to be rolled back, and (b) another ecFlow server switch needs to be performed.
This package uses the following
prod_utilutilities:ush/err_exit- called once ininclude/envir-p1.hush/mail.py- called four times ininclude/switch_fun.hAside from loading
prod_utilininclude/head.hand the calls above, I do not see another place whereecflowusesprod_util.Proposed Solution
To maintain the module load for
prod_utilininclude/head.hwhile introducing flexibility for upgrades toprod_util, I suggest we setprod_util_veras an ecFlow variable.CC: @CarlosMDiaz-NCO