From 7fcb3302a412139748f07b53971131145bb2004b Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Fri, 11 Jul 2025 16:08:47 +0200 Subject: [PATCH 1/4] enkf_clm: do not load CLMSA-specific subroutines --- interface/model/clm5_0/enkf_clm_5.F90 | 4 ++++ interface/model/eclm/enkf_clm_5.F90 | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/interface/model/clm5_0/enkf_clm_5.F90 b/interface/model/clm5_0/enkf_clm_5.F90 index ab11532e7..7d0861826 100644 --- a/interface/model/clm5_0/enkf_clm_5.F90 +++ b/interface/model/clm5_0/enkf_clm_5.F90 @@ -194,7 +194,9 @@ end subroutine clm_init !-------------------------------------------------------------------------- subroutine clm_advance(ntstep, tstartcycle, mype) bind(C,name="clm_advance") use cime_comp_mod, only : cime_run +#if defined CLMSA use enkf_clm_mod, only : set_clm_statevec +#endif use iso_C_binding implicit none @@ -224,7 +226,9 @@ subroutine clm_finalize() bind(C,name="clm_finalize") ! use ESMF, only : ESMF_Initialize, ESMF_Finalize use cime_comp_mod, only : cime_final +#if defined CLMSA use enkf_clm_mod, only : cleanup_clm_statevec +#endif implicit none diff --git a/interface/model/eclm/enkf_clm_5.F90 b/interface/model/eclm/enkf_clm_5.F90 index ab11532e7..7d0861826 100644 --- a/interface/model/eclm/enkf_clm_5.F90 +++ b/interface/model/eclm/enkf_clm_5.F90 @@ -194,7 +194,9 @@ end subroutine clm_init !-------------------------------------------------------------------------- subroutine clm_advance(ntstep, tstartcycle, mype) bind(C,name="clm_advance") use cime_comp_mod, only : cime_run +#if defined CLMSA use enkf_clm_mod, only : set_clm_statevec +#endif use iso_C_binding implicit none @@ -224,7 +226,9 @@ subroutine clm_finalize() bind(C,name="clm_finalize") ! use ESMF, only : ESMF_Initialize, ESMF_Finalize use cime_comp_mod, only : cime_final +#if defined CLMSA use enkf_clm_mod, only : cleanup_clm_statevec +#endif implicit none From f26e9822efa5fe37e1e6f14731c199241df0b6dc Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Fri, 11 Jul 2025 16:09:21 +0200 Subject: [PATCH 2/4] enkf_clm: COUP_OAS_PFL, experimental `cime_pre_init1` call --- interface/model/clm5_0/enkf_clm_5.F90 | 8 ++++++++ interface/model/eclm/enkf_clm_5.F90 | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/interface/model/clm5_0/enkf_clm_5.F90 b/interface/model/clm5_0/enkf_clm_5.F90 index 7d0861826..730d9a2de 100644 --- a/interface/model/clm5_0/enkf_clm_5.F90 +++ b/interface/model/clm5_0/enkf_clm_5.F90 @@ -100,10 +100,18 @@ subroutine clm_init(finname, pdaf_id, pdaf_max, mype) bind(C,name="clm_init") !!>> TSMP PDAF comment out beginning ! call cime_pre_init1(esmf_logfile_option) !!>> TSMP PDAF addition beginning +#if defined CLMSA call cime_pre_init1(esmf_logfile_option, & COMM_model_clm, & pdaf_id=pdaf_id, & pdaf_max=pdaf_max) +#endif + +#if defined COUP_OAS_PFL + ! EXPERIMENTAL: For eCLM-ParFlow-PDAF, the whole management of + ! communicators has to be re-traced + call cime_pre_init1(esmf_logfile_option) +#endif !!<< TSMP PDAF addition end end_count = shr_sys_irtc(irtc_rate) diff --git a/interface/model/eclm/enkf_clm_5.F90 b/interface/model/eclm/enkf_clm_5.F90 index 7d0861826..730d9a2de 100644 --- a/interface/model/eclm/enkf_clm_5.F90 +++ b/interface/model/eclm/enkf_clm_5.F90 @@ -100,10 +100,18 @@ subroutine clm_init(finname, pdaf_id, pdaf_max, mype) bind(C,name="clm_init") !!>> TSMP PDAF comment out beginning ! call cime_pre_init1(esmf_logfile_option) !!>> TSMP PDAF addition beginning +#if defined CLMSA call cime_pre_init1(esmf_logfile_option, & COMM_model_clm, & pdaf_id=pdaf_id, & pdaf_max=pdaf_max) +#endif + +#if defined COUP_OAS_PFL + ! EXPERIMENTAL: For eCLM-ParFlow-PDAF, the whole management of + ! communicators has to be re-traced + call cime_pre_init1(esmf_logfile_option) +#endif !!<< TSMP PDAF addition end end_count = shr_sys_irtc(irtc_rate) From 9c6c608cea958acddffb33dcc5ad99fd33c4963d Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Wed, 29 Oct 2025 10:42:13 +0100 Subject: [PATCH 3/4] fortitude fix --- interface/model/eclm/enkf_clm_5.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/model/eclm/enkf_clm_5.F90 b/interface/model/eclm/enkf_clm_5.F90 index 8a5991d7f..077b53e38 100644 --- a/interface/model/eclm/enkf_clm_5.F90 +++ b/interface/model/eclm/enkf_clm_5.F90 @@ -210,7 +210,7 @@ end subroutine clm_init subroutine clm_advance(ntstep, tstartcycle, mype) bind(C,name="clm_advance") use cime_comp_mod, only : cime_run #if defined CLMSA - use enkf_clm_mod, only : set_clm_statevec + use enkf_clm_mod, only : set_clm_statevec #endif use enkf_clm_mod, only : set_clm_statevec use iso_C_binding, only : c_int From 81710946b7fc9618af79e228ff5a8b2815a2fa18 Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Wed, 29 Oct 2025 10:53:29 +0100 Subject: [PATCH 4/4] fix --- interface/model/eclm/enkf_clm_5.F90 | 1 - 1 file changed, 1 deletion(-) diff --git a/interface/model/eclm/enkf_clm_5.F90 b/interface/model/eclm/enkf_clm_5.F90 index 077b53e38..4dd6bda2d 100644 --- a/interface/model/eclm/enkf_clm_5.F90 +++ b/interface/model/eclm/enkf_clm_5.F90 @@ -212,7 +212,6 @@ subroutine clm_advance(ntstep, tstartcycle, mype) bind(C,name="clm_advance") #if defined CLMSA use enkf_clm_mod, only : set_clm_statevec #endif - use enkf_clm_mod, only : set_clm_statevec use iso_C_binding, only : c_int implicit none