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):