From 7c18a9446aa573e44b53cbc1065d8fa5e7a1d6b9 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Wed, 25 Sep 2024 14:06:36 -0600 Subject: [PATCH 1/7] add timestamp to rpointer files --- src/cpl/nuopc/rof_comp_nuopc.F90 | 7 ++- src/riverroute/mosart_driver.F90 | 16 +++--- src/riverroute/mosart_restfile.F90 | 49 +++++++++++------- src/riverroute/mosart_timemanager.F90 | 72 +++++++++------------------ 4 files changed, 70 insertions(+), 74 deletions(-) diff --git a/src/cpl/nuopc/rof_comp_nuopc.F90 b/src/cpl/nuopc/rof_comp_nuopc.F90 index 29b75d4..985c95d 100644 --- a/src/cpl/nuopc/rof_comp_nuopc.F90 +++ b/src/cpl/nuopc/rof_comp_nuopc.F90 @@ -408,6 +408,7 @@ subroutine InitializeRealize(gcomp, importState, exportState, clock, rc) ! local variables type(ESMF_Mesh) :: Emesh type(ESMF_VM) :: vm + type(ESMF_Time) :: currTime ! Current time integer , allocatable :: gindex(:) ! global index space on my processor integer :: lbnum ! input to memory diagnostic character(CL) :: cvalue ! temporary @@ -482,8 +483,10 @@ subroutine InitializeRealize(gcomp, importState, exportState, clock, rc) ! - Adjust area estimation from DRT algorithm for those outlet grids ! - useful for grid-based representation only ! - need to compute areas where they are not defined in input file - - call mosart_init1(rc) + call ESMF_ClockGet(clock, currTime=currtime, rc=rc) + if (ChkErr(rc,__LINE__,u_FILE_u)) return + + call mosart_init1(currtime, rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return !-------------------------------- diff --git a/src/riverroute/mosart_driver.F90 b/src/riverroute/mosart_driver.F90 index 652bf98..2a386ce 100644 --- a/src/riverroute/mosart_driver.F90 +++ b/src/riverroute/mosart_driver.F90 @@ -26,7 +26,7 @@ module mosart_driver use perf_mod , only : t_startf, t_stopf use nuopc_shr_methods , only : chkerr use ESMF , only : ESMF_SUCCESS, ESMF_FieldGet, ESMF_FieldSMMStore, ESMF_FieldSMM, & - ESMF_TERMORDER_SRCSEQ, ESMF_Mesh + ESMF_TERMORDER_SRCSEQ, ESMF_Mesh, ESMF_Time use mosart_io , only : ncd_pio_openfile, ncd_inqdid, ncd_inqdlen, ncd_pio_closefile, ncd_decomp_init, & pio_subsystem use pio , only : file_desc_t @@ -217,12 +217,13 @@ end subroutine mosart_read_namelist !----------------------------------------------------------------------- - subroutine mosart_init1(rc) + subroutine mosart_init1(currTime, rc) !------------------------------------------------- ! Initialize mosart grid, mask, decomp ! ! Arguments + type(ESMF_Time), intent(in) :: currTime integer, intent(out) :: rc ! ! Local variables @@ -235,6 +236,7 @@ subroutine mosart_init1(rc) !------------------------------------------------- rc = ESMF_SUCCESS + call timemgr_init(dtime_in=coupling_period, curr_date_in=currTime) !------------------------------------------------------- ! Obtain restart file if appropriate @@ -247,11 +249,11 @@ subroutine mosart_init1(rc) !------------------------------------------------------- ! Initialize time manager !------------------------------------------------------- - if (nsrest == nsrStartup) then - call timemgr_init(dtime_in=coupling_period) - else - call mosart_rest_timemanager(file=fnamer) - end if +! if (nsrest == nsrStartup) then + +! else +! call mosart_rest_timemanager(file=fnamer) +! end if !------------------------------------------------------- ! Write out tracers to stdout diff --git a/src/riverroute/mosart_restfile.F90 b/src/riverroute/mosart_restfile.F90 index 3e5c39d..ed17d8c 100644 --- a/src/riverroute/mosart_restfile.F90 +++ b/src/riverroute/mosart_restfile.F90 @@ -10,7 +10,7 @@ module mosart_restfile use mosart_data, only : ctl, Trunoff use mosart_histfile, only : mosart_hist_restart use mosart_fileutils, only : getfil - use mosart_timemanager, only : timemgr_restart, get_nstep, get_curr_date + use mosart_timemanager, only : timemgr_restart, get_nstep, get_curr_date, get_prev_date use mosart_io, only : ncd_pio_createfile, ncd_enddef, ncd_pio_openfile, ncd_pio_closefile, & ncd_defdim, ncd_putatt, ncd_defvar, ncd_io, ncd_global, ncd_double, & ncd_getdatetime @@ -223,8 +223,9 @@ end subroutine mosart_rest_Getfile !----------------------------------------------------------------------- subroutine restFile_read_pfile( pnamer ) - - !------------------------------------- + use mpi, only : MPI_CHARACTER + use mosart_vars, only : mpicom_rof + !------------------------------------- ! Setup restart file and perform necessary consistency checks ! Arguments @@ -234,6 +235,8 @@ subroutine restFile_read_pfile( pnamer ) integer :: nio ! restart unit integer :: ier ! error return from fortran open integer :: i ! index + integer :: yr, mon, day, tod + character(len=17) :: timestamp character(len=CL) :: locfn ! Restart pointer file name !------------------------------------- @@ -244,21 +247,29 @@ subroutine restFile_read_pfile( pnamer ) ! New history files are always created for branch runs. if (mainproc) then - write(iulog,*) 'Reading restart pointer file....' + call get_curr_date(yr, mon, day, tod) + write(timestamp,'(".",i4.4,"-",i2.2,"-",i2.2,"-",i5.5)'),yr,mon,day,tod + locfn = './'// trim(rpntfil)//trim(inst_suffix)//timestamp + + write(iulog,*) 'Reading restart pointer file: '//trim(locfn) + open (newunit=nio, file=trim(locfn), status='old', form='formatted', iostat=ier) + if (ier /= 0) then + locfn = './'// trim(rpntfil)//trim(inst_suffix) + open (newunit=nio, file=trim(locfn), status='old', form='formatted', iostat=ier) + if (ier /= 0) then + write(iulog,'(a,i8)')'(restFile_read_pfile): failed to open file '//trim(locfn)//' ierr=',ier + call shr_sys_abort() + end if + endif + read (nio,'(a256)') pnamer + close(nio) endif - locfn = './'// trim(rpntfil)//trim(inst_suffix) - open (newunit=nio, file=trim(locfn), status='unknown', form='formatted', iostat=ier) - if (ier /= 0) then - write(iulog,'(a,i8)')'(restFile_read_pfile): failed to open file '//trim(locfn)//' ierr=',ier - call shr_sys_abort() - end if - read (nio,'(a256)') pnamer - close(nio) - if (mainproc) then - write(iulog,'(a)') 'Reading restart data.....' + call mpi_bcast (pnamer, CL, MPI_CHARACTER, 0, mpicom_rof, ier) + if(mainproc) then + write(iulog,'(a)') 'Reading restart data: ',trim(pnamer) write(iulog,'(72a1)') ("-",i=1,60) end if - + end subroutine restFile_read_pfile !----------------------------------------------------------------------- @@ -275,10 +286,14 @@ subroutine restFile_write_pfile( fnamer ) integer :: nio ! restart pointer file unit number integer :: ier ! error return from fortran open character(len=CL) :: filename ! local file name + integer :: yr, mon, day, tod + character(len=17) :: timestamp !------------------------------------- if (mainproc) then - filename= './'// trim(rpntfil)//trim(inst_suffix) + call get_curr_date(yr, mon, day, tod) + write(timestamp,'(".",i4.4,"-",i2.2,"-",i2.2,"-",i5.5)') yr, mon, day, tod + filename= './'// trim(rpntfil)//trim(inst_suffix)//timestamp open (newunit=nio, file=trim(filename), status='unknown', form='formatted', iostat=ier) if (ier /= 0) then write(iulog,'(a,i8)')'(restFile_write_pfile): failed to open file '//trim(filename)//' ierr=',ier @@ -286,7 +301,7 @@ subroutine restFile_write_pfile( fnamer ) end if write(nio,'(a)') fnamer close(nio) - write(iulog,*)'Successfully wrote local restart pointer file' + write(iulog,*)'Successfully wrote local restart pointer file: '//trim(filename) end if end subroutine restFile_write_pfile diff --git a/src/riverroute/mosart_timemanager.F90 b/src/riverroute/mosart_timemanager.F90 index df53ba5..9aecebe 100644 --- a/src/riverroute/mosart_timemanager.F90 +++ b/src/riverroute/mosart_timemanager.F90 @@ -108,12 +108,13 @@ end subroutine timemgr_setup !========================================================================================= - subroutine timemgr_init( dtime_in ) + subroutine timemgr_init( dtime_in, curr_date_in ) ! Initialize the ESMF time manager from the sync clock ! Arguments integer, intent(in) :: dtime_in ! Time-step (sec) + type(ESMF_Time), intent(in), optional :: curr_date_in ! Local variables integer :: rc ! return code @@ -144,8 +145,11 @@ subroutine timemgr_init( dtime_in ) start_date = TimeSetymd( start_ymd, start_tod, "start_date" ) ! Initialize current date - curr_date = start_date - + if(present(curr_date_in)) then + curr_date = curr_date_in + else + curr_date = start_date + endif ! Initalize stop date. stop_date = TimeSetymd( 99991231, stop_tod, "stop_date" ) call ESMF_TimeIntervalSet( step_size, s=dtime, rc=rc ) @@ -474,58 +478,30 @@ subroutine timemgr_restart(ncid, flag) end if end if - if (flag == 'read') then - ! Initialize calendar from restart info - call init_calendar() - - ! Initialize the timestep from restart info - dtime = rst_step_sec - - ! Initialize start date from restart info - start_date = TimeSetymd( rst_start_ymd, rst_start_tod, "start_date" ) - - ! Initialize current date from restart info - curr_date = TimeSetymd( rst_curr_ymd, rst_curr_tod, "curr_date" ) - - ! Initialize stop date from sync clock or namelist input - stop_date = TimeSetymd( 99991231, stop_tod, "stop_date" ) + ! Compare the timestep to restart file + if(dtime .ne. rst_step_sec) then + call shr_sys_abort( sub//'ERROR: dtime does not match restart file rst_step_sec') + endif + if(start_ymd .ne. rst_start_ymd) then + call shr_sys_abort( sub//'ERROR: start_ymd does not match restart file rst_start_ymd') + endif + if(start_tod .ne. rst_start_tod) then + call shr_sys_abort( sub//'ERROR: start_tod does not match restart file rst_start_tod') + endif + + if(ref_ymd .ne. rst_ref_ymd) then + call shr_sys_abort( sub//'ERROR: ref_ymd does not match restart file rst_ref_ymd') + endif + if(ref_tod .ne. rst_ref_tod) then + call shr_sys_abort( sub//'ERROR: ref_tod does not match restart file rst_ref_tod') + endif call ESMF_TimeIntervalSet( step_size, s=dtime, rc=rc ) call chkrc(rc, sub//': error return from ESMF_TimeIntervalSet: setting step_size') call ESMF_TimeIntervalSet( day_step_size, d=1, rc=rc ) call chkrc(rc, sub//': error return from ESMF_TimeIntervalSet: setting day_step_size') - if ( stop_ymd /= uninit_int ) then - current = TimeSetymd( stop_ymd, stop_tod, "stop_date" ) - if ( current < stop_date ) stop_date = current - else - call shr_sys_abort (sub//': Must specify stop_ymd') - end if - - ! Error check - if ( stop_date <= start_date ) then - write(iulog,*)sub, ': stop date must be specified later than start date: ' - call ESMF_TimeGet( start_date, yy=yr, mm=mon, dd=day, s=tod ) - write(iulog,*) ' Start date (yr, mon, day, tod): ', yr, mon, day, tod - call ESMF_TimeGet( stop_date, yy=yr, mm=mon, dd=day, s=tod ) - write(iulog,*) ' Stop date (yr, mon, day, tod): ', yr, mon, day, tod - call shr_sys_abort - end if - if ( curr_date >= stop_date ) then - write(iulog,*)sub, ': stop date must be specified later than current date: ' - call ESMF_TimeGet( curr_date, yy=yr, mm=mon, dd=day, s=tod ) - write(iulog,*) ' Current date (yr, mon, day, tod): ', yr, mon, day, tod - call ESMF_TimeGet( stop_date, yy=yr, mm=mon, dd=day, s=tod ) - write(iulog,*) ' Stop date (yr, mon, day, tod): ', yr, mon, day, tod - call shr_sys_abort - end if - - ! Initialize ref date from restart info - ref_date = TimeSetymd( rst_ref_ymd, rst_ref_tod, "ref_date" ) - - ! Initialize clock - call init_clock( start_date, ref_date, curr_date, stop_date ) ! Print configuration summary to log file (stdout). if (mainproc) call timemgr_print() From e448011e279af4bfcd9d43db551651ee06f9b79d Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 3 Oct 2024 10:17:51 -0600 Subject: [PATCH 2/7] code cleanup --- src/riverroute/mosart_driver.F90 | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/riverroute/mosart_driver.F90 b/src/riverroute/mosart_driver.F90 index 2a386ce..83e9739 100644 --- a/src/riverroute/mosart_driver.F90 +++ b/src/riverroute/mosart_driver.F90 @@ -246,15 +246,6 @@ subroutine mosart_init1(currTime, rc) call mosart_rest_getfile( file=fnamer ) endif - !------------------------------------------------------- - ! Initialize time manager - !------------------------------------------------------- -! if (nsrest == nsrStartup) then - -! else -! call mosart_rest_timemanager(file=fnamer) -! end if - !------------------------------------------------------- ! Write out tracers to stdout !------------------------------------------------------- From 6d35a4fa8d4534a887cfc82c5bcd0098c16e5330 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 17 Oct 2024 12:59:25 -0600 Subject: [PATCH 3/7] reverse initialization of alarm_stop and alarm_restart --- src/cpl/nuopc/rof_comp_nuopc.F90 | 44 ++++++++++++++++---------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/cpl/nuopc/rof_comp_nuopc.F90 b/src/cpl/nuopc/rof_comp_nuopc.F90 index 985c95d..a0b5d0c 100644 --- a/src/cpl/nuopc/rof_comp_nuopc.F90 +++ b/src/cpl/nuopc/rof_comp_nuopc.F90 @@ -814,51 +814,51 @@ subroutine ModelSetRunClock(gcomp, rc) call ESMF_LogWrite(subname//'setting alarms for' // trim(name), ESMF_LOGMSG_INFO) !---------------- - ! Restart alarm + ! Stop alarm !---------------- - call NUOPC_CompAttributeGet(gcomp, name="restart_option", value=restart_option, rc=rc) + call NUOPC_CompAttributeGet(gcomp, name="stop_option", value=stop_option, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - call NUOPC_CompAttributeGet(gcomp, name="restart_n", value=cvalue, rc=rc) + call NUOPC_CompAttributeGet(gcomp, name="stop_n", value=cvalue, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - read(cvalue,*) restart_n + read(cvalue,*) stop_n - call NUOPC_CompAttributeGet(gcomp, name="restart_ymd", value=cvalue, rc=rc) + call NUOPC_CompAttributeGet(gcomp, name="stop_ymd", value=cvalue, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - read(cvalue,*) restart_ymd + read(cvalue,*) stop_ymd - call alarmInit(mclock, restart_alarm, restart_option, & - opt_n = restart_n, & - opt_ymd = restart_ymd, & + call alarmInit(mclock, stop_alarm, stop_option, & + opt_n = stop_n, & + opt_ymd = stop_ymd, & RefTime = mcurrTime, & - alarmname = 'alarm_restart', rc=rc) + alarmname = 'alarm_stop', rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - call ESMF_AlarmSet(restart_alarm, clock=mclock, rc=rc) + call ESMF_AlarmSet(stop_alarm, clock=mclock, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return !---------------- - ! Stop alarm + ! Restart alarm !---------------- - call NUOPC_CompAttributeGet(gcomp, name="stop_option", value=stop_option, rc=rc) + call NUOPC_CompAttributeGet(gcomp, name="restart_option", value=restart_option, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - call NUOPC_CompAttributeGet(gcomp, name="stop_n", value=cvalue, rc=rc) + call NUOPC_CompAttributeGet(gcomp, name="restart_n", value=cvalue, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - read(cvalue,*) stop_n + read(cvalue,*) restart_n - call NUOPC_CompAttributeGet(gcomp, name="stop_ymd", value=cvalue, rc=rc) + call NUOPC_CompAttributeGet(gcomp, name="restart_ymd", value=cvalue, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - read(cvalue,*) stop_ymd + read(cvalue,*) restart_ymd - call alarmInit(mclock, stop_alarm, stop_option, & - opt_n = stop_n, & - opt_ymd = stop_ymd, & + call alarmInit(mclock, restart_alarm, restart_option, & + opt_n = restart_n, & + opt_ymd = restart_ymd, & RefTime = mcurrTime, & - alarmname = 'alarm_stop', rc=rc) + alarmname = 'alarm_restart', rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - call ESMF_AlarmSet(stop_alarm, clock=mclock, rc=rc) + call ESMF_AlarmSet(restart_alarm, clock=mclock, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return end if From 3f3c7859f8a81862214d3160b7be63ad31ed5cc4 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 23 Dec 2024 19:23:01 -0700 Subject: [PATCH 4/7] Make it clear that timemgr_init now MUST be called and called before timemgr_restart, and check timemgr_set is appropriately set around this and this is clear in documentation --- src/riverroute/mosart_timemanager.F90 | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/riverroute/mosart_timemanager.F90 b/src/riverroute/mosart_timemanager.F90 index 9aecebe..53cfee7 100644 --- a/src/riverroute/mosart_timemanager.F90 +++ b/src/riverroute/mosart_timemanager.F90 @@ -20,8 +20,8 @@ module mosart_timemanager ! Public methods public :: timemgr_setup ! setup startup values - public :: timemgr_init ! time manager initialization - public :: timemgr_restart ! read/write time manager restart info and restart time manager + public :: timemgr_init ! time manager initialization, always called + public :: timemgr_restart ! read/write time manager restart info and setup after a restart public :: advance_timestep ! increment timestep number public :: get_step_size ! return step size in seconds public :: get_nstep ! return timestep number @@ -92,9 +92,9 @@ subroutine timemgr_setup( calendar_in, start_ymd_in, start_tod_in, ref_ymd_in, & integer , optional, intent(in) :: stop_tod_in ! Stop time of day (sec) character(len=*), parameter :: sub = 'timemgr_setup' - ! timemgr_set is called in timemgr_init and timemgr_restart + ! timemgr_set is called in timemgr_init if ( timemgr_set ) then - call shr_sys_abort( sub//":: timemgr_init or timemgr_restart already called" ) + call shr_sys_abort( sub//":: timemgr_init already called" ) end if if (present(calendar_in) ) calendar = trim(calendar_in) if (present(start_ymd_in)) start_ymd = start_ymd_in @@ -319,6 +319,12 @@ subroutine timemgr_restart(ncid, flag) integer :: rc ! return code character(len=*), parameter :: sub = 'timemgr_restart' ! + if ( .not. timemgr_set ) then + call shr_sys_abort( sub//":: timemgr_init MUST be called first" ) + end if + ! + ! Read/Write/Define restart time from restart file + ! if (flag == 'write') then rst_calendar = calendar else if (flag == 'read') then @@ -478,6 +484,9 @@ subroutine timemgr_restart(ncid, flag) end if end if + ! + ! On read make sure restart read in agrees with the system clock sent in + ! if (flag == 'read') then ! Compare the timestep to restart file @@ -503,11 +512,6 @@ subroutine timemgr_restart(ncid, flag) call ESMF_TimeIntervalSet( day_step_size, d=1, rc=rc ) call chkrc(rc, sub//': error return from ESMF_TimeIntervalSet: setting day_step_size') - ! Print configuration summary to log file (stdout). - if (mainproc) call timemgr_print() - - timemgr_set = .true. - end if end subroutine timemgr_restart From df0dc7919a45fa9823ffa6d87a9790ebe783260b Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 23 Dec 2024 19:27:54 -0700 Subject: [PATCH 5/7] Document about setting the order of the alarms --- src/cpl/nuopc/rof_comp_nuopc.F90 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/cpl/nuopc/rof_comp_nuopc.F90 b/src/cpl/nuopc/rof_comp_nuopc.F90 index a0b5d0c..e542b18 100644 --- a/src/cpl/nuopc/rof_comp_nuopc.F90 +++ b/src/cpl/nuopc/rof_comp_nuopc.F90 @@ -813,9 +813,9 @@ 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 - !---------------- + !------------------------------------------------------------------ + ! Stop alarm, set first in case needed for the restart alarm + !------------------------------------------------------------------ call NUOPC_CompAttributeGet(gcomp, name="stop_option", value=stop_option, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return @@ -837,9 +837,9 @@ subroutine ModelSetRunClock(gcomp, rc) call ESMF_AlarmSet(stop_alarm, clock=mclock, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - !---------------- - ! Restart alarm - !---------------- + !------------------------------------------- + ! Restart alarm, set after the stop alarm + !------------------------------------------- call NUOPC_CompAttributeGet(gcomp, name="restart_option", value=restart_option, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return From 2f1c9eaf2cdd34829eccb73c78597f62d2b649a2 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 24 Dec 2024 13:19:10 -0700 Subject: [PATCH 6/7] Update ChangeLog, and fix a couple issues with it --- docs/ChangeLog | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/docs/ChangeLog b/docs/ChangeLog index 2aad44d..6fbbdcb 100644 --- a/docs/ChangeLog +++ b/docs/ChangeLog @@ -1,5 +1,18 @@ =============================================================== -Tag name: mosart1_1_05 +Tag name: mosart1.1.06 +Originator(s): jedwards4b +Date: Dec 24, 2024 +One-line Summary: Add simulation timestamp to rpointer filenames + +Add timestamps to rpointer files, initialize curr date from driver and compare +to what is in the restart files (instead of initializing from restart files). + +Testing: standard testing (ekluzek) + izumi ---- ? + derecho -- OK + +=============================================================== +Tag name: mosart1.1.05 Originator(s): slevis Date: Nov 12, 2024 One-line Summary: Stop running 0th timestep @@ -11,12 +24,12 @@ Relates to issue ESCOMP/CTSM#925 and PR ESCOMP/CTSM#2084. Testing: standard testing izumi -- OK - cheyenne -- OK + derecho -- OK See https://github.com/ESCOMP/MOSART/pull/67 for more details =============================================================== -Tag name: mosart1_1_04 +Tag name: mosart1.1.04 Originator(s): slevis Date: Nov 11, 2024 One-line Summary: time now equals the middle of the time_bounds @@ -28,12 +41,12 @@ Relates to issue #52 but does not separate instantaneous fields into separate hi Testing: standard testing izumi -- OK - cheyenne -- OK + derecho -- OK See https://github.com/ESCOMP/MOSART/pull/106 for more details =============================================================== -Tag name: mosart1_1_03 +Tag name: mosart1.1.03 Originator(s): ekluzek Date: Nov 6, 2024 One-line Summary: Add more tests and merge in some other PRs @@ -50,12 +63,12 @@ Resolves #107 change all mosart tests to clm60? Testing: standard testing izumi -- OK - cheyenne -- OK + derecho -- OK See https://github.com/ESCOMP/MOSART/pull/70 for more details =============================================================== -Tag name: mosart1_1_02 +Tag name: mosart1.1.02 Originator(s): mvertens Date: Jun 21, 2024 One-line Summary: cism runoff will be now routed to ocn via mosart @@ -73,12 +86,12 @@ Fixes #102 Testing: standard testing izumi -- OK - cheyenne -- OK + derecho -- OK See https://github.com/ESCOMP/MOSART/pull/94 for more details =============================================================== -Tag name: mosart1_1_01 +Tag name: mosart1.1.01 Originator(s): mvertens Date: Jun 06, 2024 One-line Summary: major mosart refactor including addition of new halo capability @@ -121,7 +134,7 @@ Fixes #99 Add a new mosart_noresm testlist Testing: standard testing izumi -- OK - cheyenne -- OK + derecho -- OK See https://github.com/ESCOMP/MOSART/pull/76 for more details @@ -163,7 +176,7 @@ Issues resolved: Testing: standard testing izumi -- PASS - cheyenne -- PASS (following change answers but determined to be OK) + derecho -- PASS (following change answers but determined to be OK) ERP_D.f10_f10_mg37.I1850Clm50Bgc.derecho_intel.mosart-qgrwlOpts PEM_D.f10_f10_mg37.I1850Clm50Sp.derecho_intel.mosart-inplacethreshold SMS_D.f10_f10_mg37.I1850Clm50Bgc.derecho_intel.mosart-decompOpts From 6e1018f9d7169d513d32f598201261408b749f4e Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 24 Dec 2024 17:10:31 -0700 Subject: [PATCH 7/7] Add expected fails file now that we have an expected fail for MOSART --- cime_config/testdefs/ExpectedTestFails.xml | 37 ++++++++++++++++++++++ docs/ChangeLog | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 cime_config/testdefs/ExpectedTestFails.xml diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml new file mode 100644 index 0000000..a9461c1 --- /dev/null +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -0,0 +1,37 @@ + + + + + + + + + FAIL + MOSART#109 + + + + diff --git a/docs/ChangeLog b/docs/ChangeLog index 6fbbdcb..213a789 100644 --- a/docs/ChangeLog +++ b/docs/ChangeLog @@ -8,7 +8,7 @@ Add timestamps to rpointer files, initialize curr date from driver and compare to what is in the restart files (instead of initializing from restart files). Testing: standard testing (ekluzek) - izumi ---- ? + izumi ---- OK (but problems with baseline compare) derecho -- OK ===============================================================