From e15789dc12bc8f45a4a6615602a7e31710e08b0d Mon Sep 17 00:00:00 2001 From: John Alex Date: Wed, 14 Jun 2023 10:35:17 -0600 Subject: [PATCH 01/27] Delete unused hist_add_subscript method (no references in the CTSM repo) --- src/main/histFileMod.F90 | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/src/main/histFileMod.F90 b/src/main/histFileMod.F90 index d5175342f0..1461d3922b 100644 --- a/src/main/histFileMod.F90 +++ b/src/main/histFileMod.F90 @@ -138,7 +138,6 @@ module histFileMod public :: hist_addfld1d ! Add a 1d single-level field to the master field list public :: hist_addfld2d ! Add a 2d multi-level field to the master field list public :: hist_addfld_decomp ! Add a 2d multi-level field to the master field list - public :: hist_add_subscript ! Add a 2d subscript dimension public :: hist_printflds ! Print summary of master field list public :: hist_htapes_build ! Initialize history file handler for initial or continue run public :: hist_update_hbuf ! Updates history buffer for all fields and tapes @@ -5806,31 +5805,6 @@ integer function pointer_index () end function pointer_index - !----------------------------------------------------------------------- - subroutine hist_add_subscript(name, dim) - ! - ! !DESCRIPTION: - ! Add a history variable to the output history tape. - ! - ! !ARGUMENTS: - character(len=*), intent(in) :: name ! name of subscript - integer , intent(in) :: dim ! dimension of subscript - ! - ! !LOCAL VARIABLES: - character(len=*),parameter :: subname = 'hist_add_subscript' - !----------------------------------------------------------------------- - - num_subs = num_subs + 1 - if (num_subs > max_subs) then - write(iulog,*) trim(subname),' ERROR: ',& - ' num_subs = ',num_subs,' greater than max_subs= ',max_subs - call endrun(msg=errMsg(sourcefile, __LINE__)) - endif - subs_name(num_subs) = name - subs_dim(num_subs) = dim - - end subroutine hist_add_subscript - !----------------------------------------------------------------------- subroutine strip_null(str) From ecdddf3384d510c1eac1c7ada1385a28708ee394 Mon Sep 17 00:00:00 2001 From: John Alex Date: Wed, 21 Jun 2023 09:27:21 -0600 Subject: [PATCH 02/27] Remove data only used by hist_add_subscript --- src/main/histFileMod.F90 | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/main/histFileMod.F90 b/src/main/histFileMod.F90 index 1461d3922b..39c9d9a0d2 100644 --- a/src/main/histFileMod.F90 +++ b/src/main/histFileMod.F90 @@ -182,10 +182,6 @@ module histFileMod ! is 255. But this can't be increased until all hard ! coded values throughout the i/o stack are updated. integer, parameter :: max_chars = 199 ! max chars for char variables - integer, parameter :: max_subs = 100 ! max number of subscripts - integer :: num_subs = 0 ! actual number of subscripts - character(len=32) :: subs_name(max_subs) ! name of subscript - integer :: subs_dim(max_subs) ! dimension of subscript ! type field_info character(len=max_namlen) :: name ! field name @@ -2434,9 +2430,6 @@ subroutine htape_create (t, histrest) ! (although on the history file it will go 1:(nec+1) rather than 0:nec) call ncd_defdim(lnfid, 'elevclas' , maxpatch_glc + 1, dimid) - do n = 1,num_subs - call ncd_defdim(lnfid, subs_name(n), subs_dim(n), dimid) - end do call ncd_defdim(lnfid, 'string_length', hist_dim_name_length, strlen_dimid) call ncd_defdim(lnfid, 'scale_type_string_length', scale_type_strlen, dimid) call ncd_defdim( lnfid, 'levdcmp', nlevdecomp_full, dimid) From b85efc1312739bc060df598d59a3970bd12cfd16 Mon Sep 17 00:00:00 2001 From: John Alex Date: Wed, 21 Jun 2023 11:26:20 -0600 Subject: [PATCH 03/27] Doc that masterlist's actflag is only set for primary history tape in practice. --- src/main/histFileMod.F90 | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/histFileMod.F90 b/src/main/histFileMod.F90 index 2497a14667..3377bb8b29 100644 --- a/src/main/histFileMod.F90 +++ b/src/main/histFileMod.F90 @@ -239,8 +239,11 @@ end subroutine copy_entry_interface end interface ! Additional per-field metadata. See also history_entry. - ! These values are specified in hist_addfld* calls but then can be - ! overridden by namelist params like hist_fincl1. + ! For the primary history tape, some fields are enabled here (inside hist_addfld* + ! call) but then can be overridden by namelist params (like hist_fincl1). The + ! fields for other history tapes are theoretically settable here but in + ! practice are all disabled. Fields for those tapes have to be specified + ! explicitly and manually via hist_fincl2 et al. type, extends(entry_base) :: master_entry logical :: actflag(max_tapes) ! which history tapes to write to. character(len=avgflag_strlen) :: avgflag(max_tapes) ! type of time averaging @@ -290,8 +293,8 @@ end subroutine copy_entry_interface type (clmpoint_ra) :: clmptr_ra(max_mapflds) ! Real array data (2D) ! ! History field metadata including which history tapes (if any) it should be output to, and - ! type of accumulation to perform. The field ordering is arbitrary, depending on the order of - ! hist_addfld* calls in the code. + ! type of accumulation to perform. This list contains all possible fields, and their field ordering + ! is arbitrary, as it depends on the order of hist_addfld* calls in the code. ! For the field data itself, see 'tape'. ! type (master_entry) :: masterlist(max_flds) ! master field list From 89e9f328459a36dc93ea7edfc79d85dd3be4da70 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Wed, 25 Sep 2024 12:03:12 -0600 Subject: [PATCH 04/27] Update WhatsNewInCTSM5.3.md --- WhatsNewInCTSM5.3.md | 63 ++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 34 deletions(-) diff --git a/WhatsNewInCTSM5.3.md b/WhatsNewInCTSM5.3.md index b1f753081b..1fabfd1192 100644 --- a/WhatsNewInCTSM5.3.md +++ b/WhatsNewInCTSM5.3.md @@ -1,53 +1,48 @@ -Purpose and description of changes since ctsm5.2.005 ----------------------------------------------------- +# What's new in CTSM 5.3 (tag `ctsm5.3.0`) -Bring in updates needed for the CESM3.0 science capability/functionality "chill". Most importantly bringing -in: CN Matrix to speed up spinup for the BGC model, updated surface datasets, updated Leung 2023 dust emissions, -explicit Air Conditioning for the Urban model, updates to crop calendars. For clm6_0 physics these options are now -default turned on in addition to Sturm snow, and excess ice. +## Purpose and description of changes since CTSM 5.2 (tag `ctsm5.2.005`) +- Adds CN Matrix method to speed up spinup for the BGC model. +- Updates surface datasets. +- Brings in new Leung 2023 dust emissions. +- Adds explicit air conditioning for the urban model. +- Updates crop calendars. +- Updates fire model with various improvements, including default parameterization against climate reanalysis from CRU-JRA instead of GSWP. +- FATES compsets can now be run with transient land use. -Changes to CTSM Infrastructure: -=============================== +These changes were needed ahead of the CESM3 capability/functionality "chill". For `clm6_0` physics these options are now turned on by default, in addition to Sturm snow and excess ice. - - manage_externals removed and replaced by git-fleximod - - Ability to handle CAM7 in LND_TUNING_MODE +## Changes to CTSM infrastructure + - `manage_externals` removed and replaced by `git-fleximod` + - Ability to handle CAM7 in `LND_TUNING_MODE` -Changes to CTSM Answers: -======================== +## Changes to CTSM answers - Changes to defaults for clm6_0 physics: + Changes to defaults for `clm6_0` physics: - Urban explicit A/C turned on - - Snow thermal conductivity is now Sturm_1997 - - New IC file for f09 1850 + - Snow thermal conductivity method is now `Sturm_1997` + - New initial conditions file for f09 ("1-degree") 1850, with more in progress - New crop calendars - - Dust emissions is now Leung_2023 + - Dust emissions method is now `Leung_2023` - Excess ice is turned on - - Updates to MEGAN for BVOC's + - Updates to MEGAN for BVOCs - Updates to BGC fire method Changes for all physics versions: - - Parameter files updated - FATES parameter file updated - Glacier region 1 is now undefined - - Update in FATES transient Land use + - Update in FATES transient land use - Pass active glacier (CISM) runoff directly to river model (MOSART) - - Add the option for using matrix for Carbon/Nitrogen BGC spinup + - Add the option for using Matrix CN method for Carbon/Nitrogen BGC spinup -New surface datasets: -===================== +## New surface datasets -- With new surface datasets the following GLC fields have region "1" set to UNSET: - glacier_region_behavior, glacier_region_melt_behavior, glacier_region_ice_runoff_behavior +- With new surface datasets the following GLC fields have region "1" set to UNSET: glacier_region_behavior, glacier_region_melt_behavior, glacier_region_ice_runoff_behavior - Updates to allow creating transient landuse timeseries files going back to 1700. -- Fix an important bug on soil fields that was there since ctsm5.2.0. This results in mksurfdata_esmf now giving identical answers with a change in number of processors, as it should. -- Add in creation of ne0np4.POLARCAP.ne30x4 surface datasets. -- Add version to the surface datasets. -- Remove the --hires_pft option from mksurfdata_esmf as we don't have the datasets for it. -- Remove VIC fields from surface datasets. - -New input datasets to mksurfdata_esmf: -====================================== - -- Updates in PFT/LAI/soil-color raw datasets (now from the TRENDY2024 timeseries that ends in 2023), as well as two fire datasets (AG fire, peatland), and the glacier behavior dataset. +- Fix an important bug on soil fields that was there since `ctsm5.2.0`. This has the side effect of `mksurfdata_esmf` now giving identical answers with a change in number of processors, as it should. +- Surface datasets now provided for the `ne0np4.POLARCAP.ne30x4` grid. +- Surface datasets now have their version number embedded to prevent mismatch of surface dataset and CTSM version. +- Remove the `--hires_pft` option from `mksurfdata_esmf` as we don't have the datasets for it. +- Remove `VIC` fields from surface datasets. +- Updates to input datasets in PFT/LAI/soil-color raw datasets (now from the TRENDY2024 timeseries that ends in 2023), as well as two fire datasets (crop fire peak month, peatland fraction), and the glacier behavior dataset. From a5506fc250b9e6eacfad1815cf21c88618e3ba32 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 5 Dec 2024 14:50:06 -0700 Subject: [PATCH 05/27] First stab at the submodules needed for the rpointer changes, this doesn't include the RTM, MOSART or CTSM changes though --- .gitmodules | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitmodules b/.gitmodules index 87676223a0..902f26f5d2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -36,7 +36,7 @@ fxDONOTUSEurl = https://github.com/NCAR/fates-release [submodule "cism"] path = components/cism url = https://github.com/ESCOMP/CISM-wrapper -fxtag = cismwrap_2_2_002 +fxtag = cismwrap_2_2_005 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CISM-wrapper @@ -44,7 +44,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CISM-wrapper [submodule "rtm"] path = components/rtm url = https://github.com/ESCOMP/RTM -fxtag = rtm1_0_80 +fxtag = rtm1_0_83 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/RTM @@ -52,7 +52,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/RTM [submodule "mosart"] path = components/mosart url = https://github.com/ESCOMP/MOSART -fxtag = mosart1.1.02 +fxtag = mosart1.1.05 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/MOSART @@ -60,7 +60,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/MOSART [submodule "mizuRoute"] path = components/mizuRoute url = https://github.com/ESCOMP/mizuRoute -fxtag = cesm-coupling.n02_v2.1.3 +fxtag = cesm-coupling.n02_v2.2.0 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/mizuRoute @@ -76,7 +76,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git [submodule "cime"] path = cime url = https://github.com/ESMCI/cime -fxtag = cime6.1.37 +fxtag = cime6.1.47 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESMCI/cime @@ -84,7 +84,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/cime [submodule "cmeps"] path = components/cmeps url = https://github.com/ESCOMP/CMEPS.git -fxtag = cmeps1.0.16 +fxtag = cmeps1.0.26 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git @@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git [submodule "cdeps"] path = components/cdeps url = https://github.com/ESCOMP/CDEPS.git -fxtag = cdeps1.0.53 +fxtag = cdeps1.0.54 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git @@ -100,7 +100,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git [submodule "share"] path = share url = https://github.com/ESCOMP/CESM_share -fxtag = share1.1.2 +fxtag = share1.1.5 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CESM_share From 5d8a23d524125323a7ec1b228bddf4e0732d79ba Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 5 Dec 2024 15:39:57 -0700 Subject: [PATCH 06/27] Update to latest cime with a new rpointer fix --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 902f26f5d2..e88f93a860 100644 --- a/.gitmodules +++ b/.gitmodules @@ -76,7 +76,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git [submodule "cime"] path = cime url = https://github.com/ESMCI/cime -fxtag = cime6.1.47 +fxtag = cime6.1.48 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESMCI/cime From dd534e887128f6eae53f8132182b2186ae913748 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 17 Dec 2024 09:43:15 -0700 Subject: [PATCH 07/27] Update for cdeps --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index ecee75f3db..c5dfd88c47 100644 --- a/.gitmodules +++ b/.gitmodules @@ -92,7 +92,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git [submodule "cdeps"] path = components/cdeps url = https://github.com/ESCOMP/CDEPS.git -fxtag = cdeps1.0.54 +fxtag = cdeps1.0.61 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git From e06a33cbbab7743f46e4bc4d98d082707e7d7ae8 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 20 Dec 2024 17:45:42 -0700 Subject: [PATCH 08/27] Update to latest from cesm3_0_alpha05c planned tags page, the cime update fixes #2915 --- .gitmodules | 4 ++-- components/cism | 2 +- components/cmeps | 2 +- components/mizuRoute | 2 +- components/mosart | 2 +- components/rtm | 2 +- share | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitmodules b/.gitmodules index c5dfd88c47..a489fa1ebd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -84,7 +84,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/cime [submodule "cmeps"] path = components/cmeps url = https://github.com/ESCOMP/CMEPS.git -fxtag = cmeps1.0.32 +fxtag = cmeps1.0.33 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git @@ -100,7 +100,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git [submodule "share"] path = share url = https://github.com/ESCOMP/CESM_share -fxtag = share1.1.6 +fxtag = share1.1.7 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/CESM_share diff --git a/components/cism b/components/cism index c84cc9f5b3..41843ef8fe 160000 --- a/components/cism +++ b/components/cism @@ -1 +1 @@ -Subproject commit c84cc9f5b3103766a35d0a7ddd5e9dbd7deae762 +Subproject commit 41843ef8fed91fcf60e2ea217c4f6f2ee5133c5d diff --git a/components/cmeps b/components/cmeps index a91cedfe58..4b636c6f79 160000 --- a/components/cmeps +++ b/components/cmeps @@ -1 +1 @@ -Subproject commit a91cedfe58658a9fc391195481137a2d83372c25 +Subproject commit 4b636c6f794ca02d854d15c620e26644751b449b diff --git a/components/mizuRoute b/components/mizuRoute index 2ff305a029..81c720c7ee 160000 --- a/components/mizuRoute +++ b/components/mizuRoute @@ -1 +1 @@ -Subproject commit 2ff305a0292cb06789de6cfea7ad3cc0d6173493 +Subproject commit 81c720c7ee51f9c69f2934f696078c42f4493565 diff --git a/components/mosart b/components/mosart index e2ffe00004..99b425e618 160000 --- a/components/mosart +++ b/components/mosart @@ -1 +1 @@ -Subproject commit e2ffe00004cc416cfc8bcfae2a949474075c1d1f +Subproject commit 99b425e618a31d077935a0774141aa9bf48fcc13 diff --git a/components/rtm b/components/rtm index b3dfcfbba5..a2cd8249e4 160000 --- a/components/rtm +++ b/components/rtm @@ -1 +1 @@ -Subproject commit b3dfcfbba58c151ac5a6ab513b3515ef3deff798 +Subproject commit a2cd8249e40e8c61d68fe13145c4cf9d5e098f68 diff --git a/share b/share index a48ff8790a..c5e7603c29 160000 --- a/share +++ b/share @@ -1 +1 @@ -Subproject commit a48ff8790a21d3831873ed9f023a43c606a1ef03 +Subproject commit c5e7603c29ea5e2fe93ca16d88bc9c7f16175bcd From fe0ec2892248f9c28be05131b68f20f0c15abbd1 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 21 Dec 2024 01:40:59 -0700 Subject: [PATCH 09/27] Code review responces, timemgr_restart is NO longer done instead of timemgr_init, now timemgr_init is always called, remove things already done in timemgr_init and add documentation around this --- src/utils/clm_time_manager.F90 | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/utils/clm_time_manager.F90 b/src/utils/clm_time_manager.F90 index b0bcef0691..6ebd079c79 100644 --- a/src/utils/clm_time_manager.F90 +++ b/src/utils/clm_time_manager.F90 @@ -19,9 +19,9 @@ module clm_time_manager public ::& set_timemgr_init, &! setup startup values - timemgr_init, &! time manager initialization + timemgr_init, &! time manager initialization, called always timemgr_restart_io, &! read/write time manager restart info and restart time manager - timemgr_restart, &! restart the time manager using info from timemgr_restart + timemgr_restart, &! check that time manager is setup coorectly upcon restart timemgr_datediff, &! calculate difference between two time instants advance_timestep, &! increment timestep number get_curr_ESMF_Time, &! get current time in terms of the ESMF_Time @@ -157,7 +157,7 @@ subroutine set_timemgr_init( calendar_in, start_ymd_in, start_tod_in, r ! character(len=*), parameter :: sub = 'clm::set_timemgr_init' - if ( timemgr_set ) call shr_sys_abort( sub//":: timemgr_init or timemgr_restart already called" ) + if ( timemgr_set ) call shr_sys_abort( sub//":: timemgr_init already called" ) if (present(calendar_in) ) calendar = trim(calendar_in) if (present(start_ymd_in) ) start_ymd = start_ymd_in if (present(start_tod_in) ) start_tod = start_tod_in @@ -505,7 +505,10 @@ end subroutine timemgr_restart_io subroutine timemgr_restart() !--------------------------------------------------------------------------------- - ! Restart the ESMF time manager using the synclock for ending date. + ! On restart do some checkcing to make sure time is synchronized with the clock from CESM. + ! Set a couple of variables, and advance the clock, so time is aligned properly. + ! + ! timemgr_init MIST be called before this ! character(len=*), parameter :: sub = 'clm::timemgr_restart' @@ -517,13 +520,10 @@ subroutine timemgr_restart() type(ESMF_TimeInterval) :: day_step_size ! day step size type(ESMF_TimeInterval) :: step_size ! timestep size !--------------------------------------------------------------------------------- - call timemgr_spmdbcast( ) - - ! Initialize calendar from restart info - - call init_calendar() + ! Check that timemgr_init was already called + if ( .not. check_timemgr_initialized(sub) ) return - ! Initialize the timestep from restart info + ! Initialize the timestep dtime = rst_step_sec @@ -555,12 +555,6 @@ subroutine timemgr_restart() tm_first_restart_step = .true. - ! Print configuration summary to log file (stdout). - - if (masterproc) call timemgr_print() - - timemgr_set = .true. - end subroutine timemgr_restart !========================================================================================= From 3b8c132bee1d625d9a49d64cbe1d065760fed244 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 21 Dec 2024 01:52:57 -0700 Subject: [PATCH 10/27] Add comments about the ordering of the stop and restart alarms --- src/cpl/nuopc/lnd_comp_nuopc.F90 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/cpl/nuopc/lnd_comp_nuopc.F90 b/src/cpl/nuopc/lnd_comp_nuopc.F90 index c76414bf5d..ed72ef801b 100644 --- a/src/cpl/nuopc/lnd_comp_nuopc.F90 +++ b/src/cpl/nuopc/lnd_comp_nuopc.F90 @@ -1040,9 +1040,10 @@ subroutine ModelSetRunClock(gcomp, rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return call ESMF_LogWrite(subname//'setting alarms for ' // trim(name), ESMF_LOGMSG_INFO) - !---------------- + !---------------------------------------------------------------------------------- ! Stop alarm - !---------------- + ! MUST be set before the restart alarm in case restarts happen at the stop alarm + !---------------------------------------------------------------------------------- call NUOPC_CompAttributeGet(gcomp, name="stop_option", value=stop_option, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return @@ -1064,9 +1065,10 @@ subroutine ModelSetRunClock(gcomp, rc) call ESMF_AlarmSet(stop_alarm, clock=mclock, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - !---------------- + !---------------------------------------------------------------------------------- ! Restart alarm - !---------------- + ! MUST be set after the stop alarm in case restarts happen at the stop alarm + !---------------------------------------------------------------------------------- call NUOPC_CompAttributeGet(gcomp, name="restart_option", value=restart_option, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return From f6bf737c9c49d0e214be8c5e48ed6b0e0a1797a0 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 4 Jan 2025 15:21:52 -0700 Subject: [PATCH 11/27] Update submodules to latest slated for the cesm3_0_beta05 tag --- .gitmodules | 8 ++++---- cime | 2 +- components/mosart | 2 +- components/rtm | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitmodules b/.gitmodules index a489fa1ebd..3f08c6f5fa 100644 --- a/.gitmodules +++ b/.gitmodules @@ -44,7 +44,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CISM-wrapper [submodule "rtm"] path = components/rtm url = https://github.com/ESCOMP/RTM -fxtag = rtm1_0_83 +fxtag = rtm1_0_84 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/RTM @@ -52,7 +52,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/RTM [submodule "mosart"] path = components/mosart url = https://github.com/ESCOMP/MOSART -fxtag = mosart1.1.05 +fxtag = mosart1.1.06 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/MOSART @@ -68,7 +68,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/mizuRoute [submodule "ccs_config"] path = ccs_config url = https://github.com/ESMCI/ccs_config_cesm.git -fxtag = ccs_config_cesm1.0.10 +fxtag = ccs_config_cesm1.0.16 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git @@ -76,7 +76,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git [submodule "cime"] path = cime url = https://github.com/ESMCI/cime -fxtag = cime6.1.49 +fxtag = cime6.1.56 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESMCI/cime diff --git a/cime b/cime index b2f271b174..ac8e583108 160000 --- a/cime +++ b/cime @@ -1 +1 @@ -Subproject commit b2f271b1742533715a05701b1bdd80a24bb2ad77 +Subproject commit ac8e583108b1ce1f592a6f6436c71d6dc087f447 diff --git a/components/mosart b/components/mosart index 99b425e618..a246344e9b 160000 --- a/components/mosart +++ b/components/mosart @@ -1 +1 @@ -Subproject commit 99b425e618a31d077935a0774141aa9bf48fcc13 +Subproject commit a246344e9b28e4bb42313749094fa20d45e2b212 diff --git a/components/rtm b/components/rtm index a2cd8249e4..6899b55816 160000 --- a/components/rtm +++ b/components/rtm @@ -1 +1 @@ -Subproject commit a2cd8249e40e8c61d68fe13145c4cf9d5e098f68 +Subproject commit 6899b55816ee4d9b7cf983d74ba2997b97a13c4d From cbe61094d24376892f0b8b2560f7af28cce9e40e Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sat, 4 Jan 2025 17:24:24 -0700 Subject: [PATCH 12/27] Back up mosart and rtm, so it doesn't bring in answer changes --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index c5dfd88c47..4bb26f4c7f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -44,7 +44,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CISM-wrapper [submodule "rtm"] path = components/rtm url = https://github.com/ESCOMP/RTM -fxtag = rtm1_0_83 +fxtag = rtm1_0_80 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/RTM @@ -52,7 +52,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/RTM [submodule "mosart"] path = components/mosart url = https://github.com/ESCOMP/MOSART -fxtag = mosart1.1.05 +fxtag = mosart1.1.02 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/MOSART From adebf76f3f816b63f444b541096605a43a96c3d0 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 6 Jan 2025 14:21:58 -0700 Subject: [PATCH 13/27] Update cime with a fix for SSP issues --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 3f08c6f5fa..04011fc191 100644 --- a/.gitmodules +++ b/.gitmodules @@ -76,7 +76,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git [submodule "cime"] path = cime url = https://github.com/ESMCI/cime -fxtag = cime6.1.56 +fxtag = cime6.1.58 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESMCI/cime From 730bebed33e1e291ac4dd1d422c8e5a7cbab1e14 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 6 Jan 2025 15:55:33 -0700 Subject: [PATCH 14/27] Changes to get the LILACSMOKE test to work. Pass current time down to initialize2, change order of alarms to stop first then restart --- src/cpl/lilac/lnd_comp_esmf.F90 | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/cpl/lilac/lnd_comp_esmf.F90 b/src/cpl/lilac/lnd_comp_esmf.F90 index 6c8bb2a491..31922c9671 100644 --- a/src/cpl/lilac/lnd_comp_esmf.F90 +++ b/src/cpl/lilac/lnd_comp_esmf.F90 @@ -374,7 +374,7 @@ subroutine lnd_init(comp, import_state, export_state, clock, rc) !-------------------------------- ! Finish initializing ctsm !-------------------------------- - call initialize2(ni,nj) + call initialize2(ni,nj, currTime) call ESMF_LogWrite(subname//"ctsm initialize2 done...", ESMF_LOGMSG_INFO) !-------------------------------- @@ -708,41 +708,41 @@ subroutine lnd_run(gcomp, import_state, export_state, clock, rc) call update_rad_dtime(doalb) !-------------------------------- - ! Determine if time to write restart + ! Determine if time to stop !-------------------------------- - call ESMF_ClockGetAlarm(clock, alarmname='lilac_restart_alarm', alarm=alarm, rc=rc) + call ESMF_ClockGetAlarm(clock, alarmname='lilac_stop_alarm', alarm=alarm, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return if (ESMF_AlarmIsRinging(alarm, rc=rc)) then if (ChkErr(rc,__LINE__,u_FILE_u)) return - rstwr = .true. + nlend = .true. call ESMF_AlarmRingerOff( alarm, rc=rc ) if (ChkErr(rc,__LINE__,u_FILE_u)) return else - rstwr = .false. + nlend = .false. endif if (masterproc) then - write(iulog,*)' restart alarm is ',rstwr + write(iulog,*)' stop alarm is ',nlend end if !-------------------------------- - ! Determine if time to stop + ! Determine if time to write restart !-------------------------------- - call ESMF_ClockGetAlarm(clock, alarmname='lilac_stop_alarm', alarm=alarm, rc=rc) + call ESMF_ClockGetAlarm(clock, alarmname='lilac_restart_alarm', alarm=alarm, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return if (ESMF_AlarmIsRinging(alarm, rc=rc)) then if (ChkErr(rc,__LINE__,u_FILE_u)) return - nlend = .true. + rstwr = .true. call ESMF_AlarmRingerOff( alarm, rc=rc ) if (ChkErr(rc,__LINE__,u_FILE_u)) return else - nlend = .false. + rstwr = .false. endif if (masterproc) then - write(iulog,*)' stop alarm is ',nlend + write(iulog,*)' restart alarm is ',rstwr end if !-------------------------------- From 193f844f72a546e3ac9497e7fa76cc603facbf77 Mon Sep 17 00:00:00 2001 From: Samuel Levis Date: Mon, 6 Jan 2025 17:29:13 -0700 Subject: [PATCH 15/27] Bug fix for izumi nag tests to pass --- src/biogeochem/CNFUNMod.F90 | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/biogeochem/CNFUNMod.F90 b/src/biogeochem/CNFUNMod.F90 index a379b45a90..0af5efe580 100644 --- a/src/biogeochem/CNFUNMod.F90 +++ b/src/biogeochem/CNFUNMod.F90 @@ -169,17 +169,17 @@ subroutine readParams ( ncid ) if ( .not. readv ) call endrun( msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) params_inst%ndays_off=tempr - allocate(params_inst%nfix_tmin(mxpft)) + allocate(params_inst%nfix_tmin(0:mxpft)) tString='nfix_tmin' call ncd_io(trim(tString), params_inst%nfix_tmin(:), 'read', ncid, readvar=readv) if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - allocate(params_inst%nfix_topt(mxpft)) + allocate(params_inst%nfix_topt(0:mxpft)) tString='nfix_topt' call ncd_io(trim(tString), params_inst%nfix_topt(:), 'read', ncid, readvar=readv) if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) - allocate(params_inst%nfix_tmax(mxpft)) + allocate(params_inst%nfix_tmax(0:mxpft)) tString='nfix_tmax' call ncd_io(trim(tString), params_inst%nfix_tmax(:), 'read', ncid, readvar=readv) if ( .not. readv ) call endrun(msg=trim(errCode)//trim(tString)//errMsg(sourcefile, __LINE__)) @@ -535,7 +535,7 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp& real(r8) :: total_N_resistance ! C to of N for whole soil -leaf ! pathway real(r8) :: free_RT_frac=0.0_r8 !fraction of N retranslocation which is automatic/free. - ! SHould be made into a PFT parameter. + ! Should be made into a PFT parameter. real(r8) :: paid_for_n_retrans real(r8) :: free_n_retrans @@ -1136,13 +1136,13 @@ subroutine CNFUN(bounds,num_soilc, filter_soilc,num_soilp& select case (nfix_method) case ('Houlton') - costNit(j,icostFix) = fun_cost_fix(fixer,& - a_fix(ivt(p)),b_fix(ivt(p)),c_fix(ivt(p)),& - big_cost,crootfr(p,j),s_fix(ivt(p)),tc_soisno(c,j)) + costNit(j,icostFix) = fun_cost_fix(fixer, & + a_fix(ivt(p)), b_fix(ivt(p)), c_fix(ivt(p)), & + big_cost, crootfr(p,j), s_fix(ivt(p)), tc_soisno(c,j)) case ('Bytnerowicz') ! no acclimation calculation - costNit(j,icostFix) = fun_cost_fix_Bytnerowicz_noAcc(fixer, & - params_inst%nfix_tmin(ivt(p)), params_inst%nfix_topt(ivt(p)), params_inst%nfix_tmax(ivt(p)), & - big_cost,crootfr(p,j),s_fix(ivt(p)),tc_soisno(c,j)) + costNit(j,icostFix) = fun_cost_fix_Bytnerowicz_noAcc(fixer, & + params_inst%nfix_tmin(ivt(p)), params_inst%nfix_topt(ivt(p)), params_inst%nfix_tmax(ivt(p)), & + big_cost,crootfr(p,j), s_fix(ivt(p)), tc_soisno(c,j)) case default errCode = ' ERROR: unknown nfix_method value: ' // nfix_method call endrun( msg=trim(errCode) // errMsg(sourcefile, __LINE__)) From a322e7589e8ced929cb52eaddcf7ada2a121c794 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 8 Jan 2025 19:11:20 -0700 Subject: [PATCH 16/27] Fix the mizuRoute tag, and bring in one more cime update for SRCROOT for create_clone --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 04011fc191..e862130db7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -60,7 +60,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/MOSART [submodule "mizuRoute"] path = components/mizuRoute url = https://github.com/ESCOMP/mizuRoute -fxtag = cesm-coupling.n02_v2.2.0 +fxtag = cesm-coupling.n03_v2.2.0 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/mizuRoute @@ -76,7 +76,7 @@ fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git [submodule "cime"] path = cime url = https://github.com/ESMCI/cime -fxtag = cime6.1.58 +fxtag = cime6.1.59 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESMCI/cime From d19a6795daab31a9bc1e8af65bee5c3dfd40d012 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 8 Jan 2025 19:17:54 -0700 Subject: [PATCH 17/27] Add submodule directory updates --- ccs_config | 2 +- cime | 2 +- components/mizuRoute | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ccs_config b/ccs_config index 6e77e7ee17..a712a92045 160000 --- a/ccs_config +++ b/ccs_config @@ -1 +1 @@ -Subproject commit 6e77e7ee1748a4d3b2497d7ad3943498a7cec2aa +Subproject commit a712a920453dc0cb2831dce576e78c389b567f7e diff --git a/cime b/cime index ac8e583108..addf9e67ce 160000 --- a/cime +++ b/cime @@ -1 +1 @@ -Subproject commit ac8e583108b1ce1f592a6f6436c71d6dc087f447 +Subproject commit addf9e67ceeb0e056de33ee793d67491176dd3a5 diff --git a/components/mizuRoute b/components/mizuRoute index 2ff305a029..362bee329b 160000 --- a/components/mizuRoute +++ b/components/mizuRoute @@ -1 +1 @@ -Subproject commit 2ff305a0292cb06789de6cfea7ad3cc0d6173493 +Subproject commit 362bee329bd6bf1fd45c8f36e006b9c4294bb8ca From 0b740699390bcecb23314e7f2b1ab8b828b27b4d Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 16 Jan 2025 11:33:15 -0700 Subject: [PATCH 18/27] Remove expected build failures related to mpi-serial (issue 2916) --- cime_config/testdefs/ExpectedTestFails.xml | 188 --------------------- 1 file changed, 188 deletions(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 79ead77c74..ea5d560020 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -204,195 +204,7 @@ #2310 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - - - FAIL - #2916 - - - - - FAIL From 598b54643e0f0c60135505cfebb52f12ff2b0225 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 16 Jan 2025 11:49:59 -0700 Subject: [PATCH 19/27] Add aux_clm_mpi_serial test suite. Useful for redoing tests that failed due to https://github.com/ESCOMP/CTSM/issues/2916, after having replaced libraries/mpi-serial with a fresh copy. --- cime_config/testdefs/testlist_clm.xml | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 200468cf53..1986098533 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -12,6 +12,7 @@ hillslope: Experimental test list used for the hillslope option of the model rxcropmaturity: Short tests to be run during development related to prescribed crop calendars matrixcn: Tests exercising the matrix-CN capability + aux_clm_mpi_serial: aux_clm tests using mpi-serial. Useful for redoing tests that failed due to https://github.com/ESCOMP/CTSM/issues/2916, after having replaced libraries/mpi-serial with a fresh copy. --> @@ -905,6 +906,7 @@ + @@ -1149,6 +1151,7 @@ + @@ -1158,6 +1161,7 @@ + @@ -1701,6 +1705,7 @@ + @@ -1718,6 +1723,7 @@ + @@ -1727,6 +1733,7 @@ + @@ -1736,6 +1743,7 @@ + @@ -1746,6 +1754,7 @@ + @@ -1755,6 +1764,7 @@ + @@ -1764,6 +1774,7 @@ + @@ -1774,6 +1785,7 @@ + @@ -1794,6 +1806,7 @@ + @@ -1868,6 +1881,7 @@ + @@ -1878,6 +1892,7 @@ + @@ -1890,6 +1905,7 @@ + @@ -2257,6 +2273,7 @@ + @@ -2266,9 +2283,12 @@ + + + @@ -2366,6 +2386,7 @@ + @@ -2377,7 +2398,9 @@ + + @@ -2388,8 +2411,10 @@ + + @@ -2401,7 +2426,9 @@ + + @@ -2412,7 +2439,9 @@ + + @@ -2436,8 +2465,10 @@ + + @@ -2449,8 +2480,10 @@ + + @@ -2481,6 +2514,7 @@ + @@ -2526,6 +2560,7 @@ + @@ -2672,6 +2707,7 @@ + @@ -2681,6 +2717,7 @@ + @@ -2732,6 +2769,7 @@ + @@ -2836,7 +2874,9 @@ + + @@ -2845,6 +2885,7 @@ + @@ -2863,6 +2904,7 @@ + @@ -3175,6 +3217,7 @@ + @@ -3417,6 +3460,7 @@ + @@ -3427,6 +3471,7 @@ + @@ -3493,6 +3538,7 @@ + @@ -3637,6 +3683,7 @@ + From d93f8a88a8bddf366a9490c4db4ff252385aad93 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 16 Jan 2025 11:59:49 -0700 Subject: [PATCH 20/27] Add an expected failure due to ESCOMP/CTSM#2913. --- cime_config/testdefs/ExpectedTestFails.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index ea5d560020..fa7f9c1844 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -187,6 +187,13 @@ + + + FAIL + #2913 + + + FAIL From c9e2ca841e3d84193cc5544266a132152872de0a Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 16 Jan 2025 14:12:08 -0700 Subject: [PATCH 21/27] Fix conflicts in lilac/lnd_comp_esmf.F90 with 019 version. --- components/mosart | 2 +- components/rtm | 2 +- src/cpl/lilac/lnd_comp_esmf.F90 | 33 --------------------------------- 3 files changed, 2 insertions(+), 35 deletions(-) diff --git a/components/mosart b/components/mosart index a246344e9b..e2ffe00004 160000 --- a/components/mosart +++ b/components/mosart @@ -1 +1 @@ -Subproject commit a246344e9b28e4bb42313749094fa20d45e2b212 +Subproject commit e2ffe00004cc416cfc8bcfae2a949474075c1d1f diff --git a/components/rtm b/components/rtm index 6899b55816..b3dfcfbba5 160000 --- a/components/rtm +++ b/components/rtm @@ -1 +1 @@ -Subproject commit 6899b55816ee4d9b7cf983d74ba2997b97a13c4d +Subproject commit b3dfcfbba58c151ac5a6ab513b3515ef3deff798 diff --git a/src/cpl/lilac/lnd_comp_esmf.F90 b/src/cpl/lilac/lnd_comp_esmf.F90 index 7b6fdffa6a..3833c77da5 100644 --- a/src/cpl/lilac/lnd_comp_esmf.F90 +++ b/src/cpl/lilac/lnd_comp_esmf.F90 @@ -693,13 +693,6 @@ subroutine lnd_run(gcomp, import_state, export_state, clock, rc) call update_rad_dtime(doalb) -<<<<<<< HEAD - !-------------------------------- - ! Determine if time to stop - !-------------------------------- - - call ESMF_ClockGetAlarm(clock, alarmname='lilac_stop_alarm', alarm=alarm, rc=rc) -======= !-------------------------------- ! Determine if time to write restart !-------------------------------- @@ -711,7 +704,6 @@ subroutine lnd_run(gcomp, import_state, export_state, clock, rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return rstwr = .true. call ESMF_AlarmRingerOff( alarm, rc=rc ) ->>>>>>> ctsm5.3.019 if (ChkErr(rc,__LINE__,u_FILE_u)) return else rstwr = .false. @@ -724,33 +716,8 @@ subroutine lnd_run(gcomp, import_state, export_state, clock, rc) ! Determine if time to stop !-------------------------------- -<<<<<<< HEAD - !-------------------------------- - ! Determine if time to write restart - !-------------------------------- - - call ESMF_ClockGetAlarm(clock, alarmname='lilac_restart_alarm', alarm=alarm, rc=rc) - if (ChkErr(rc,__LINE__,u_FILE_u)) return - - if (ESMF_AlarmIsRinging(alarm, rc=rc)) then - if (ChkErr(rc,__LINE__,u_FILE_u)) return - rstwr = .true. - call ESMF_AlarmRingerOff( alarm, rc=rc ) - if (ChkErr(rc,__LINE__,u_FILE_u)) return - else - rstwr = .false. - endif - if (masterproc) then - write(iulog,*)' restart alarm is ',rstwr - end if - - !-------------------------------- - ! Run CTSM - !-------------------------------- -======= call ESMF_ClockGetAlarm(clock, alarmname='lilac_stop_alarm', alarm=alarm, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return ->>>>>>> ctsm5.3.019 if (ESMF_AlarmIsRinging(alarm, rc=rc)) then if (ChkErr(rc,__LINE__,u_FILE_u)) return From 031407c04023aff322f5a63c8e11cdf62155b53d Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 16 Jan 2025 14:13:50 -0700 Subject: [PATCH 22/27] lilac/lnd_comp_esmf.F90: Switch stop/restart alarm order. As in ESCOMP/CTSM#2912. --- src/cpl/lilac/lnd_comp_esmf.F90 | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/cpl/lilac/lnd_comp_esmf.F90 b/src/cpl/lilac/lnd_comp_esmf.F90 index 3833c77da5..0aa0fc9f81 100644 --- a/src/cpl/lilac/lnd_comp_esmf.F90 +++ b/src/cpl/lilac/lnd_comp_esmf.F90 @@ -694,41 +694,41 @@ subroutine lnd_run(gcomp, import_state, export_state, clock, rc) call update_rad_dtime(doalb) !-------------------------------- - ! Determine if time to write restart + ! Determine if time to stop !-------------------------------- - call ESMF_ClockGetAlarm(clock, alarmname='lilac_restart_alarm', alarm=alarm, rc=rc) + call ESMF_ClockGetAlarm(clock, alarmname='lilac_stop_alarm', alarm=alarm, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return if (ESMF_AlarmIsRinging(alarm, rc=rc)) then if (ChkErr(rc,__LINE__,u_FILE_u)) return - rstwr = .true. + nlend = .true. call ESMF_AlarmRingerOff( alarm, rc=rc ) if (ChkErr(rc,__LINE__,u_FILE_u)) return else - rstwr = .false. + nlend = .false. endif if (masterproc) then - write(iulog,*)' restart alarm is ',rstwr + write(iulog,*)' stop alarm is ',nlend end if !-------------------------------- - ! Determine if time to stop + ! Determine if time to write restart !-------------------------------- - call ESMF_ClockGetAlarm(clock, alarmname='lilac_stop_alarm', alarm=alarm, rc=rc) + call ESMF_ClockGetAlarm(clock, alarmname='lilac_restart_alarm', alarm=alarm, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return if (ESMF_AlarmIsRinging(alarm, rc=rc)) then if (ChkErr(rc,__LINE__,u_FILE_u)) return - nlend = .true. + rstwr = .true. call ESMF_AlarmRingerOff( alarm, rc=rc ) if (ChkErr(rc,__LINE__,u_FILE_u)) return else - nlend = .false. + rstwr = .false. endif if (masterproc) then - write(iulog,*)' stop alarm is ',nlend + write(iulog,*)' restart alarm is ',rstwr end if !-------------------------------- From 6194751cd574811b7246dffbb647d1e91ab1318f Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Thu, 16 Jan 2025 15:01:19 -0700 Subject: [PATCH 23/27] Update MOSART and RTM to fix nag build error. --- .gitmodules | 4 ++-- components/mosart | 2 +- components/rtm | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitmodules b/.gitmodules index 2af7ecf098..9aeb7d4de0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -44,7 +44,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CISM-wrapper [submodule "rtm"] path = components/rtm url = https://github.com/ESCOMP/RTM -fxtag = rtm1_0_84 +fxtag = rtm1_0_86 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/RTM @@ -52,7 +52,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/RTM [submodule "mosart"] path = components/mosart url = https://github.com/ESCOMP/MOSART -fxtag = mosart1.1.06 +fxtag = mosart1.1.07 fxrequired = ToplevelRequired # Standard Fork to compare to with "git fleximod test" to ensure personal forks aren't committed fxDONOTUSEurl = https://github.com/ESCOMP/MOSART diff --git a/components/mosart b/components/mosart index e2ffe00004..330574fbd8 160000 --- a/components/mosart +++ b/components/mosart @@ -1 +1 @@ -Subproject commit e2ffe00004cc416cfc8bcfae2a949474075c1d1f +Subproject commit 330574fbd8a4810b7a168175690cbf7e1a7f6dab diff --git a/components/rtm b/components/rtm index b3dfcfbba5..26e96f500b 160000 --- a/components/rtm +++ b/components/rtm @@ -1 +1 @@ -Subproject commit b3dfcfbba58c151ac5a6ab513b3515ef3deff798 +Subproject commit 26e96f500b9500b32a870db20eed6b1bd37587ea From b427fc9e9396cde2902798569c843d950153abc9 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Fri, 17 Jan 2025 11:39:49 -0700 Subject: [PATCH 24/27] Remove two expected failures due to issue ESCOMP/CTSM#2914. These were resolved with PR ESCOMP/CTSM#2912. --- cime_config/testdefs/ExpectedTestFails.xml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index fa7f9c1844..99648effc8 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -126,21 +126,7 @@ #2310 - - - - FAIL - #2914 - - - - - - FAIL - #2914 - - - + FAIL From bf65082ff05666cbb4019cd7347a073efd40cf5c Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Fri, 17 Jan 2025 11:48:39 -0700 Subject: [PATCH 25/27] Remove an expected failure due to ESCOMP/CTSM#2905. --- cime_config/testdefs/ExpectedTestFails.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 99648effc8..185f1ce54d 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -127,13 +127,6 @@ - - - FAIL - #2905 - - - FAIL From bc03504fe5fa69c9ed9d800ea5817016d09a5035 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Fri, 17 Jan 2025 12:19:31 -0700 Subject: [PATCH 26/27] Remove failures expected due to ESCOMP/CTSM#2454. --- cime_config/testdefs/ExpectedTestFails.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 185f1ce54d..9735c02f4c 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -221,23 +221,12 @@ - - FAIL - #2454 - FAIL #2325 - - - FAIL - #2454 - - - FAIL From ff2ac19320aa3bca31797fe3faf8eda9f4e3b984 Mon Sep 17 00:00:00 2001 From: Sam Rabin Date: Fri, 17 Jan 2025 12:25:32 -0700 Subject: [PATCH 27/27] Update ChangeLog/ChangeSum. --- doc/ChangeLog | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ doc/ChangeSum | 1 + 2 files changed, 56 insertions(+) diff --git a/doc/ChangeLog b/doc/ChangeLog index f1cf556e41..2c08950b2d 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,4 +1,59 @@ =============================================================== +Tag name: ctsm5.3.020 +Originator(s): samrabin (Sam Rabin, UCAR/TSS, samrabin@ucar.edu) +Date: Fri Jan 17 12:21:24 MST 2025 +One-line Summary: Merge b4b-dev + +Purpose and description of changes +---------------------------------- + +Merging b4b-dev and ctsm5.3.019. Includes some improvements to test list / expected failures. + + +Significant changes to scientifically-supported configurations +-------------------------------------------------------------- + +Does this tag change answers significantly for any of the following physics configurations? +(Details of any changes will be given in the "Answer changes" section below.) + + [Put an [X] in the box for any configuration with significant answer changes.] + +[ ] clm6_0 + +[ ] clm5_0 + +[ ] ctsm5_0-nwp + +[ ] clm4_5 + + +Notes of particular relevance for developers: +--------------------------------------------- + +Changes to tests or testing: +- New test suite: Useful for redoing tests that failed due to https://github.com/ESCOMP/CTSM/issues/2916, after having replaced libraries/mpi-serial with a fresh copy. + + +Testing summary: +---------------- + + regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): + + derecho ----- OK + izumi ------- OK + + +Other details +------------- +[Remove any lines that don't apply. Remove entire section if nothing applies.] + +List any git submodules updated (cime, rtm, mosart, cism, fates, etc.): + +Pull Requests that document the changes (include PR ids): +- ESCOMP/CTSM#2938: ctsm5.3.020: Merge b4b-dev 2025-01-16 (https://github.com/ESCOMP/CTSM/pull/2938) + +=============================================================== +=============================================================== Tag name: ctsm5.3.019 Originator(s): olyson (Keith Oleson, UCAR/TSS) Date: Tue 14 Jan 2025 02:46:11 PM MST diff --git a/doc/ChangeSum b/doc/ChangeSum index bf027e98fc..98739639a4 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,5 +1,6 @@ Tag Who Date Summary ============================================================================================================================ + ctsm5.3.020 samrabin 01/17/2025 Merge b4b-dev ctsm5.3.019 olyson 01/14/2025 Stop running 0th time step ctsm5.3.018 slevis 01/10/2025 Change history time to be the middle of the time bounds ctsm5.3.017 slevis 01/09/2025 Merge tmp-241219 branch to master