From bdcb82fe47f28d44cd644dbc09023851817a181f Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Wed, 27 Aug 2025 09:07:11 -0600 Subject: [PATCH 1/3] cam should specify this requirement itself --- cime_config/buildcpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cime_config/buildcpp b/cime_config/buildcpp index fac7dcbf68..0acb2a8f9b 100644 --- a/cime_config/buildcpp +++ b/cime_config/buildcpp @@ -78,7 +78,10 @@ def buildcpp(case): if cam_dycore == 'fv3': config_opts += ["-fv3core_libdir", os.path.join(exeroot,"atm","obj","atmos_cubed_sphere")] - + libs = case.get_values("CASE_SUPPORT_LIBRARIES") + if libs is not None and "FMS" not in libs: + libs.extend(["gptl","pio","csm_share","FMS") + case.set_value("CASE_SUPPORT_LIBRARIES", ",".join(libs)) # The ocean component setting is only used by CAM to do attribute matching for # setting default tuning parameter values. In SOM mode we want to use the same # tunings as the fully coupled B compset, so set the ocean component to pop in From 56b1e84a8543d583fe99df46fac9f6e2e3238842 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 28 Aug 2025 07:38:41 -0600 Subject: [PATCH 2/3] updates buildcpp to add support libraries --- cime_config/buildcpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/buildcpp b/cime_config/buildcpp index 0acb2a8f9b..8f444558b3 100644 --- a/cime_config/buildcpp +++ b/cime_config/buildcpp @@ -80,7 +80,7 @@ def buildcpp(case): config_opts += ["-fv3core_libdir", os.path.join(exeroot,"atm","obj","atmos_cubed_sphere")] libs = case.get_values("CASE_SUPPORT_LIBRARIES") if libs is not None and "FMS" not in libs: - libs.extend(["gptl","pio","csm_share","FMS") + libs.extend(["gptl","pio","csm_share","FMS"]) case.set_value("CASE_SUPPORT_LIBRARIES", ",".join(libs)) # The ocean component setting is only used by CAM to do attribute matching for # setting default tuning parameter values. In SOM mode we want to use the same From 20e48d2008ffbcce0e19cfabe034487be93f27fe Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 28 Aug 2025 09:51:11 -0600 Subject: [PATCH 3/3] improve backward compatiblity --- cime_config/buildcpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cime_config/buildcpp b/cime_config/buildcpp index 8f444558b3..09b4fc31a9 100644 --- a/cime_config/buildcpp +++ b/cime_config/buildcpp @@ -78,10 +78,13 @@ def buildcpp(case): if cam_dycore == 'fv3': config_opts += ["-fv3core_libdir", os.path.join(exeroot,"atm","obj","atmos_cubed_sphere")] - libs = case.get_values("CASE_SUPPORT_LIBRARIES") - if libs is not None and "FMS" not in libs: - libs.extend(["gptl","pio","csm_share","FMS"]) - case.set_value("CASE_SUPPORT_LIBRARIES", ",".join(libs)) + try: + libs = case.get_values("CASE_SUPPORT_LIBRARIES") + if libs is not None and "FMS" not in libs: + libs.extend(["gptl","pio","csm_share","FMS"]) + case.set_value("CASE_SUPPORT_LIBRARIES", ",".join(libs)) + except: + pass # The ocean component setting is only used by CAM to do attribute matching for # setting default tuning parameter values. In SOM mode we want to use the same # tunings as the fully coupled B compset, so set the ocean component to pop in