Description
UFSDA jobs were not included in the initial COM refactor work (#1421). These jobs will all need to be updated to use the new structure and templates before they can run again.
Requirements
UFSDA ATM ensemble analysis jobs that utilize the new COM templates to generate COM directory paths.
Acceptance Criteria (Definition of Done)
UFSDA ATM ensemble jobs that work as well as before the COM refactor
(Optional): Suggest A Solution
There are two approaches we can take. The first is to define the full paths in the j-job using the templates, as is done for most of the existing global-workflow jobs, and update the python to expect full paths (with dates and cycles). The second is to use the templates directly in the python (reading the *_TMPL variables from the environment) and using Rahul's Template class to fill in the variables.
Recommend the first for now where feasible, though the latter may be needed if iterating over members in python (similar to how the EnKF exscripts have to do it). The Template class will need a minor update to proceed with option 2: The templates reply on the bash substitution replacing undefined variables with an empty string (mainly to replacing $MEMDIR for the deterministic files), but the class currently leaves any variables it doesn't have substitutions for as-is. It will need to be updated to provide the option to replace undefined variables with an empty string.
Description UFSDA jobs were not included in the initial COM refactor work (#1421). These jobs will all need to be updated to use the new structure and templates before they can run again.
Requirements UFSDA ATM ensemble analysis jobs that utilize the new COM templates to generate COM directory paths.
Acceptance Criteria (Definition of Done) UFSDA ATM ensemble jobs that work as well as before the COM refactor
(Optional): Suggest A Solution There are two approaches we can take. The first is to define the full paths in the j-job using the templates, as is done for most of the existing global-workflow jobs, and update the python to expect full paths (with dates and cycles). The second is to use the templates directly in the python (reading the
*_TMPL
variables from the environment) and using Rahul's Template class to fill in the variables.Recommend the first for now where feasible, though the latter may be needed if iterating over members in python (similar to how the EnKF exscripts have to do it). The Template class will need a minor update to proceed with option 2: The templates reply on the bash substitution replacing undefined variables with an empty string (mainly to replacing
$MEMDIR
for the deterministic files), but the class currently leaves any variables it doesn't have substitutions for as-is. It will need to be updated to provide the option to replace undefined variables with an empty string.