From 14f4c386cca465234dea057452733a4053eb7c0a Mon Sep 17 00:00:00 2001 From: Chris Blanton Date: Tue, 14 Apr 2026 18:53:03 -0400 Subject: [PATCH 1/9] #853 Update schemas submodule with plugin name changes --- fre/gfdl_msd_schemas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fre/gfdl_msd_schemas b/fre/gfdl_msd_schemas index d5a42a3b4..2bbabb243 160000 --- a/fre/gfdl_msd_schemas +++ b/fre/gfdl_msd_schemas @@ -1 +1 @@ -Subproject commit d5a42a3b423265262aefe9a4a6ba9add90d784ab +Subproject commit 2bbabb2435407ebb8b3796290a213e9c20c244f5 From c974c1bce21c6682491465edd4099efb87eb9451 Mon Sep 17 00:00:00 2001 From: Chris Blanton Date: Tue, 14 Apr 2026 20:53:13 -0400 Subject: [PATCH 2/9] #853 Update fre pp configure-yaml with plugin name changes --- fre/gfdl_msd_schemas | 2 +- fre/pp/configure_script_yaml.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fre/gfdl_msd_schemas b/fre/gfdl_msd_schemas index 2bbabb243..e4ac0273f 160000 --- a/fre/gfdl_msd_schemas +++ b/fre/gfdl_msd_schemas @@ -1 +1 @@ -Subproject commit 2bbabb2435407ebb8b3796290a213e9c20c244f5 +Subproject commit e4ac0273f3603a810381c2b476e8e5dc7195c5ad diff --git a/fre/pp/configure_script_yaml.py b/fre/pp/configure_script_yaml.py index a6fec203b..44fb33bac 100644 --- a/fre/pp/configure_script_yaml.py +++ b/fre/pp/configure_script_yaml.py @@ -143,9 +143,9 @@ def set_rose_suite(yamlfile: dict, rose_suite: metomi.rose.config.ConfigNode) -> # Account for multiple scripts for refinediag # Fail if multiple scripts defined for preanalysis (not implemented yet) - if pp_key == "preanalysis": + if pp_key == "first-step-user-scripts": for k2, v2 in pp_value.items(): - switch = v2["do_preanalysis"] + switch = v2["switch"] if switch is True: script = v2["script"] @@ -157,9 +157,9 @@ def set_rose_suite(yamlfile: dict, rose_suite: metomi.rose.config.ConfigNode) -> pa_scripts += f"{script} " - if pp_key == "refinediag": + if pp_key == "refinediag-user-scripts": for k2, v2 in pp_value.items(): - switch = v2["do_refinediag"] + switch = v2["switch"] if switch is True: script = v2["script"] rd_scripts += f"{script} " From 5521699404e2594936f340217c4be743a0d838f6 Mon Sep 17 00:00:00 2001 From: Chris Blanton Date: Fri, 17 Apr 2026 19:30:41 -0400 Subject: [PATCH 3/9] #853 Update names for user scripts --- fre/pp/configure_script_yaml.py | 4 ++-- fre/pp/tests/AM5_example/yaml_include/settings.yaml | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fre/pp/configure_script_yaml.py b/fre/pp/configure_script_yaml.py index ac19b0bb6..854f850e3 100644 --- a/fre/pp/configure_script_yaml.py +++ b/fre/pp/configure_script_yaml.py @@ -150,7 +150,7 @@ def set_rose_suite(yamlfile: dict, rose_suite: metomi.rose.config.ConfigNode) -> # Fail if multiple scripts defined for preanalysis (not implemented yet) if pp_key == "first-step-user-scripts": for k2, v2 in pp_value.items(): - switch = v2["switch"] + switch = v2["user_script_on"] if switch is True: script = v2["script"] @@ -164,7 +164,7 @@ def set_rose_suite(yamlfile: dict, rose_suite: metomi.rose.config.ConfigNode) -> if pp_key == "refinediag-user-scripts": for k2, v2 in pp_value.items(): - switch = v2["switch"] + switch = v2["user_script_on"] if switch is True: script = v2["script"] rd_scripts += f"{script} " diff --git a/fre/pp/tests/AM5_example/yaml_include/settings.yaml b/fre/pp/tests/AM5_example/yaml_include/settings.yaml index 1057fc6d5..7a63c30fa 100644 --- a/fre/pp/tests/AM5_example/yaml_include/settings.yaml +++ b/fre/pp/tests/AM5_example/yaml_include/settings.yaml @@ -19,19 +19,19 @@ postprocess: switches: &shared_switches clean_work: True do_atmos_plevel_masking: True - preanalysis: + first-step-user-scripts: vitals: script: "/path/to/vitals-script" inputs: ['atmos_month', 'aerosol_month'] - do_preanalysis: True - refinediag: + user_script_on: True + refinediag-user-scripts: ocean: script: "/path/to/ocean-script" inputs: ['ocean_monthly', 'ocean_bgc'] outputs: ['ocean_refined'] - do_refinediag: True + user_script_on: True aerosol: script: "/path/to/aerosol-script" inputs: ['aerosol_month'] outputs: ['aerosol_refined'] - do_refinediag: True + user_script_on: True From 03a090e6155a4c24b49ddc45dc1c5f33d78f0b90 Mon Sep 17 00:00:00 2001 From: Chris Blanton Date: Fri, 17 Apr 2026 20:27:07 -0400 Subject: [PATCH 4/9] Update schemas submodule --- fre/gfdl_msd_schemas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fre/gfdl_msd_schemas b/fre/gfdl_msd_schemas index 9ad0a2ef3..8b650f7a4 160000 --- a/fre/gfdl_msd_schemas +++ b/fre/gfdl_msd_schemas @@ -1 +1 @@ -Subproject commit 9ad0a2ef34be8b2687dcdcd676fe766b542761bf +Subproject commit 8b650f7a4d1647797fcf511695a76f659add0253 From 6754766967c4f4e002c59c419fb406d38bec58e8 Mon Sep 17 00:00:00 2001 From: Chris Blanton Date: Mon, 20 Apr 2026 18:43:48 -0400 Subject: [PATCH 5/9] #853 update schemas submodule --- fre/gfdl_msd_schemas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fre/gfdl_msd_schemas b/fre/gfdl_msd_schemas index 8b650f7a4..c2acbf06e 160000 --- a/fre/gfdl_msd_schemas +++ b/fre/gfdl_msd_schemas @@ -1 +1 @@ -Subproject commit 8b650f7a4d1647797fcf511695a76f659add0253 +Subproject commit c2acbf06ee80cdb7490ed0e7ac2bb9e2cbb4f857 From 8b5007e7e5068edce2acec656045e74a91f73416 Mon Sep 17 00:00:00 2001 From: Chris Blanton Date: Fri, 24 Apr 2026 14:16:14 -0400 Subject: [PATCH 6/9] Update test yaml with analysis name change --- fre/yamltools/tests/AM5_example/am5.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fre/yamltools/tests/AM5_example/am5.yaml b/fre/yamltools/tests/AM5_example/am5.yaml index c34be59f3..1f0d78137 100644 --- a/fre/yamltools/tests/AM5_example/am5.yaml +++ b/fre/yamltools/tests/AM5_example/am5.yaml @@ -52,7 +52,7 @@ experiments: pp: - "pp_yamls/pp.c96_amip.yaml" - "pp_yamls/pp-TEST.c96_amip.yaml" - analysis: + final-step-user-scripts: - "analysis_yamls/clouds.yaml" - "analysis_yamls/land.yaml" cmor: # cmor-tool development, not part of official am5.yaml (yet) From 839dd5e1b98431d8a732f24a9e0e563b498d65b3 Mon Sep 17 00:00:00 2001 From: Chris Blanton Date: Mon, 25 May 2026 15:07:40 -0400 Subject: [PATCH 7/9] Update gfdl_msd_schemas submodule with new analysis script schema Co-Authored-By: Claude Sonnet 4.6 --- fre/gfdl_msd_schemas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fre/gfdl_msd_schemas b/fre/gfdl_msd_schemas index c2acbf06e..84fa092a9 160000 --- a/fre/gfdl_msd_schemas +++ b/fre/gfdl_msd_schemas @@ -1 +1 @@ -Subproject commit c2acbf06ee80cdb7490ed0e7ac2bb9e2cbb4f857 +Subproject commit 84fa092a9bba91b43a9cd36f5f27f620f1729ba3 From 3c204b202f44f53d20a911ae48c5c4a7fc93ef00 Mon Sep 17 00:00:00 2001 From: Chris Blanton Date: Mon, 25 May 2026 15:16:59 -0400 Subject: [PATCH 8/9] Update gfdl_msd_schemas submodule: rename trigger to workflow Co-Authored-By: Claude Sonnet 4.6 --- fre/gfdl_msd_schemas | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fre/gfdl_msd_schemas b/fre/gfdl_msd_schemas index 84fa092a9..68138197d 160000 --- a/fre/gfdl_msd_schemas +++ b/fre/gfdl_msd_schemas @@ -1 +1 @@ -Subproject commit 84fa092a9bba91b43a9cd36f5f27f620f1729ba3 +Subproject commit 68138197dfdbb74c8bb1759150457f82d8f9a3dd From fbe28aa2ee3855163f8025c59830f7abe12e466c Mon Sep 17 00:00:00 2001 From: Chris Blanton Date: Mon, 25 May 2026 16:08:37 -0400 Subject: [PATCH 9/9] #853 update configure_script_yaml.py with the new plugin name --- fre/pp/configure_script_yaml.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/fre/pp/configure_script_yaml.py b/fre/pp/configure_script_yaml.py index 854f850e3..f95eca58f 100644 --- a/fre/pp/configure_script_yaml.py +++ b/fre/pp/configure_script_yaml.py @@ -75,8 +75,6 @@ def rose_init(experiment: str, platform: str, target: str) -> metomi.rose.config rose_suite = metomi.rose.config.ConfigNode() # disagreeable; these should be optional rose_suite.set(keys=['template variables', 'DO_ANALYSIS_ONLY'], value='False') - rose_suite.set(keys=['template variables', 'DO_MDTF'], value='False') - rose_suite.set(keys=['template variables', 'PP_DEFAULT_XYINTERP'], value='0,0') # set some rose suite vars rose_suite.set(keys=['template variables', 'EXPERIMENT'], value=f'"{experiment}"') @@ -122,7 +120,7 @@ def set_rose_suite(yamlfile: dict, rose_suite: metomi.rose.config.ConfigNode) -> """ pp=yamlfile.get("postprocess") dirs=yamlfile.get("directories") - analysis=yamlfile.get("analysis") + analysis=yamlfile.get("final-step-user-scripts") if dirs is not None: for key,value in dirs.items(): @@ -205,16 +203,14 @@ def set_rose_suite(yamlfile: dict, rose_suite: metomi.rose.config.ConfigNode) -> do_analysis_switch = [] for an_key, an_value in analysis.items(): - an_workflow_info = an_value["workflow"] - # if analysis_on key is actually set, evaluate and save its value in a list - if "analysis_on" in an_workflow_info: - do_analysis_switch.append(an_workflow_info["analysis_on"]) - #if analysis_on key is NOT set, save its value as True in the list + # if user_script_on key is set, save its value in a list + if "user_script_on" in an_value: + do_analysis_switch.append(an_value["user_script_on"]) + # if it's not set, save its value as True (i.e. default on) else: do_analysis_switch.append("True") - # if ANY of the analysis components do not set analysis_on or set analysis_on as True, - # set DO_ANALYSIS=True in the rose_suite.conf + # if ANY of the analysis components are on set DO_ANALYSIS=True in the rose_suite.conf if any(do_analysis_switch): rose_suite.set( keys = ['template variables', 'DO_ANALYSIS'], value = 'True' )