Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a5506fc
First stab at the submodules needed for the rpointer changes, this do…
ekluzek Dec 5, 2024
5d8a23d
Update to latest cime with a new rpointer fix
ekluzek Dec 5, 2024
63fef2f
Merge branch 'add_timestamp_to_rpointers' into cesm3_0_beta05_submodules
ekluzek Dec 5, 2024
c0bca6b
Merge remote-tracking branch 'jedwards4b/add_timestamp_to_rpointers' …
ekluzek Dec 17, 2024
dd534e8
Update for cdeps
ekluzek Dec 17, 2024
20a8772
Merge tag 'ctsm5.3.016' into cesm3_0_beta05_submodules
ekluzek Dec 21, 2024
e06a33c
Update to latest from cesm3_0_alpha05c planned tags page, the cime up…
ekluzek Dec 21, 2024
fe0ec28
Code review responces, timemgr_restart is NO longer done instead of t…
ekluzek Dec 21, 2024
3b8c132
Add comments about the ordering of the stop and restart alarms
ekluzek Dec 21, 2024
f6bf737
Update submodules to latest slated for the cesm3_0_beta05 tag
ekluzek Jan 4, 2025
1a7b773
Merge branch 'b4b-dev' into cesm3_0_beta05_submodules
ekluzek Jan 4, 2025
cbe6109
Back up mosart and rtm, so it doesn't bring in answer changes
ekluzek Jan 5, 2025
2fbbae4
Merge branch 'cesm3_0_beta05_submodules' of github.com:ekluzek/CTSM i…
ekluzek Jan 5, 2025
adebf76
Update cime with a fix for SSP issues
ekluzek Jan 6, 2025
730bebe
Changes to get the LILACSMOKE test to work. Pass current time down to…
ekluzek Jan 6, 2025
a322e75
Fix the mizuRoute tag, and bring in one more cime update for SRCROOT …
ekluzek Jan 9, 2025
b78e56a
Merge branch 'cesm3_0_beta05_submodules' of github.com:ekluzek/CTSM i…
ekluzek Jan 9, 2025
d19a679
Add submodule directory updates
ekluzek Jan 9, 2025
1224d97
Merge remote-tracking branch 'escomp/b4b-dev' into cesm3_0_beta05_sub…
ekluzek Jan 9, 2025
7b88335
Merge remote-tracking branch 'escomp/b4b-dev' into cesm3_0_beta05_sub…
ekluzek Jan 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -60,31 +60,31 @@ 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.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

[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

[submodule "cime"]
path = cime
url = https://github.com/ESMCI/cime
fxtag = cime6.1.49
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

[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
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion components/cmeps
2 changes: 1 addition & 1 deletion components/mizuRoute
Submodule mizuRoute updated 202 files
2 changes: 1 addition & 1 deletion share
22 changes: 11 additions & 11 deletions src/cpl/lilac/lnd_comp_esmf.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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)

!--------------------------------
Expand Down Expand Up @@ -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

!--------------------------------
Expand Down
10 changes: 6 additions & 4 deletions src/cpl/nuopc/lnd_comp_nuopc.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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

Expand Down
26 changes: 10 additions & 16 deletions src/utils/clm_time_manager.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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'
Expand All @@ -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

Expand Down Expand Up @@ -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

!=========================================================================================
Expand Down