diff --git a/CIME/XML/env_batch.py b/CIME/XML/env_batch.py index 655f33ddee2..69a6560ae49 100644 --- a/CIME/XML/env_batch.py +++ b/CIME/XML/env_batch.py @@ -259,7 +259,13 @@ def make_batch_script(self, input_template, job, case, outfile=None): overrides=overrides, ) env_workflow = case.get_env("workflow") - self._hidden_batch_script[job] = env_workflow.get_value("hidden", subgroup=job) + + hidden = env_workflow.get_value("hidden", subgroup=job) + if hidden is None or hidden == "True" or hidden == "true": + self._hidden_batch_script[job] = True + else: + self._hidden_batch_script[job] = False + output_name = ( get_batch_script_for_job( job, diff --git a/CIME/data/config/xml_schemas/config_workflow.xsd b/CIME/data/config/xml_schemas/config_workflow.xsd index 6a10b167347..5b09913a4b6 100644 --- a/CIME/data/config/xml_schemas/config_workflow.xsd +++ b/CIME/data/config/xml_schemas/config_workflow.xsd @@ -13,7 +13,7 @@ - + diff --git a/CIME/tests/test_sys_create_newcase.py b/CIME/tests/test_sys_create_newcase.py index b99ca4f10c4..1be636aff36 100644 --- a/CIME/tests/test_sys_create_newcase.py +++ b/CIME/tests/test_sys_create_newcase.py @@ -74,7 +74,7 @@ def test_a_createnewcase(self): # on systems (like github workflow) that do not have batch, set this for the next test if batch_system == "none": self.run_cmd_assert_result( - './xmlchange --subgroup case.run BATCH_COMMAND_FLAGS="-q \$JOB_QUEUE"', + r'./xmlchange --subgroup case.run BATCH_COMMAND_FLAGS="-q \$JOB_QUEUE"', from_dir=testdir, ) diff --git a/CIME/utils.py b/CIME/utils.py index 1b7337d1669..85fa30017b0 100644 --- a/CIME/utils.py +++ b/CIME/utils.py @@ -2530,11 +2530,11 @@ def run_bld_cmd_ensure_logging(cmd, arg_logger, from_dir=None, timeout=None): expect(stat == 0, filter_unicode(errput)) -def get_batch_script_for_job(job, hidden="True"): +def get_batch_script_for_job(job, hidden=None): # this if statement is for backward compatibility - if job == "case.st_archive" and not hidden: - hidden = "False" - return "." + job if not hidden or hidden == "True" else job + if hidden is None: + hidden = job != "case.st_archive" + return "." + job if hidden else job def string_in_list(_string, _list):