From 305dbd7af56ef9757ae31f1f70cf4b52f971eac0 Mon Sep 17 00:00:00 2001 From: anton-seaice Date: Thu, 20 Feb 2025 14:57:06 +1100 Subject: [PATCH] add avaialble_diags output --- payu/models/mom6.py | 20 +++++++++++++------- test/models/test_mom6.py | 4 ++-- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/payu/models/mom6.py b/payu/models/mom6.py index 0d73b335..73f7efb6 100644 --- a/payu/models/mom6.py +++ b/payu/models/mom6.py @@ -23,7 +23,7 @@ from payu.models.mom_mixin import MomMixin from payu.git_utils import GitRepository -MOM6_DOCS = "MOM_parameter_doc.*" +MOM6_DOCS = ["MOM_parameter_doc.*","available_diags.*"] def mom6_add_parameter_files(model): """Add parameter files defined in input.nml to model configuration files. @@ -53,19 +53,25 @@ def mom6_save_docs_files(model): mkdir_p(docs_folder) # copy everything that matches MOM_parameter_doc.* to the control dir - for f in glob(os.path.join(model.work_path, MOM6_DOCS)): - try: - shutil.copy(f, docs_folder) - except Exception as e: - warn(e) + for pattern in MOM6_DOCS: + for f in glob(os.path.join(model.work_path, pattern)): + try: + shutil.copy(f, docs_folder) + except Exception as e: + warn(e) if model.expt.runlog.enabled: #if runlog true, default to true # commit new files to the control dir repo = GitRepository(repo_path = model.control_path) + paths_to_commit = [] + for pattern in MOM6_DOCS: + for i in glob(os.path.join(docs_folder, pattern)): + paths_to_commit.append(i) + repo.commit( commit_message = "payu archive: documentation of MOM6 run-time configuration" , - paths_to_commit = glob(os.path.join(docs_folder, MOM6_DOCS)) + paths_to_commit = paths_to_commit ) class Mom6(MomMixin, Fms): diff --git a/test/models/test_mom6.py b/test/models/test_mom6.py index e764e097..050527da 100644 --- a/test/models/test_mom6.py +++ b/test/models/test_mom6.py @@ -152,7 +152,7 @@ def mom_parameter_doc(request): @pytest.mark.parametrize( "mom_parameter_doc", - [["MOM_parameter_doc.all","MOM_parameter_doc.debug","MOM_parameter_docs.debug"]], + [["MOM_parameter_doc.all","MOM_parameter_doc.debug","MOM_parameter_docs.debug", "available_diags.000000"]], indirect=True ) @pytest.mark.filterwarnings("error") @@ -167,7 +167,7 @@ def test_mom6_save_doc_files(mom_parameter_doc): payu.models.mom6.mom6_save_docs_files(mom_parameter_doc) # Check MOM_parameter_doc.* are added to control_path - for file in ["MOM_parameter_doc.all","MOM_parameter_doc.debug"]: + for file in ["MOM_parameter_doc.all","MOM_parameter_doc.debug", "available_diags.000000"]: filename = os.path.join(mom_parameter_doc.control_path, "docs", file) assert os.path.isfile(filename)==True , "Payu did not move MOM_parameter_doc.* files into docs folder" os.remove(filename)