1
1
diff --git a/MOM6/config_src/drivers/nuopc_cap/mom_cap.F90 b/MOM6/config_src/drivers/nuopc_cap/mom_cap.F90.new
2
- index 3574943..f948684 100644
2
+ index fab6fe1..541d7f1 100644
3
3
--- a/MOM6/config_src/drivers/nuopc_cap/mom_cap.F90
4
4
+++ b/MOM6/config_src/drivers/nuopc_cap/mom_cap.F90.new
5
5
@@ -2,8 +2,9 @@
@@ -53,7 +53,7 @@ index 3574943..f948684 100644
53
53
end type
54
54
55
55
!> Wrapper-derived type required to associate an internal state instance
56
- @@ -408 ,6 +422 ,10 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
56
+ @@ -416 ,6 +430 ,10 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
57
57
type (ocean_public_type), pointer :: ocean_public => NULL()
58
58
type (ocean_state_type), pointer :: ocean_state => NULL()
59
59
type(ice_ocean_boundary_type), pointer :: Ice_ocean_boundary => NULL()
@@ -64,15 +64,15 @@ index 3574943..f948684 100644
64
64
type(ocean_internalstate_wrapper) :: ocean_internalstate
65
65
type(ocean_grid_type), pointer :: ocean_grid => NULL()
66
66
type(directories) :: dirs
67
- @@ -439 ,6 +457 ,7 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
67
+ @@ -447 ,6 +465 ,7 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
68
68
character(len=512) :: restartfile ! Path/Name of restart file
69
69
character(len=2048) :: restartfiles ! Path/Name of restart files
70
70
! (same as restartfile if single restart file)
71
71
+ character(240) :: additional_restart_dir
72
72
character(len=*), parameter :: subname='(MOM_cap:InitializeAdvertise)'
73
73
character(len=32) :: calendar
74
74
character(len=:), allocatable :: rpointer_filename
75
- @@ -517 ,6 +536 ,8 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
75
+ @@ -525 ,6 +544 ,8 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
76
76
if (chkerr(rc,__LINE__,u_FILE_u)) return
77
77
call MOM_infra_init(mpi_comm_mom)
78
78
@@ -81,7 +81,7 @@ index 3574943..f948684 100644
81
81
! determine the calendar
82
82
if (cesm_coupled) then
83
83
call NUOPC_CompAttributeGet(gcomp, name="calendar", value=cvalue, &
84
- @@ -648 ,13 +669 ,44 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
84
+ @@ -656 ,13 +677 ,44 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
85
85
86
86
endif
87
87
@@ -126,7 +126,7 @@ index 3574943..f948684 100644
126
126
127
127
! GMM, this call is not needed in CESM. Check with EMC if it can be deleted.
128
128
call ocean_model_flux_init(ocean_state)
129
- @@ -721 ,6 +773 ,31 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
129
+ @@ -729 ,6 +781 ,31 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
130
130
Ice_ocean_boundary%hcond = 0.0
131
131
endif
132
132
@@ -158,7 +158,7 @@ index 3574943..f948684 100644
158
158
call query_ocean_state(ocean_state, use_waves=use_waves, wave_method=wave_method)
159
159
if (use_waves) then
160
160
if (wave_method == "EFACTOR") then
161
- @@ -789 ,6 +866 ,15 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
161
+ @@ -797 ,6 +874 ,15 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
162
162
endif
163
163
endif
164
164
@@ -174,7 +174,7 @@ index 3574943..f948684 100644
174
174
!--------- export fields -------------
175
175
call fld_list_add(fldsFrOcn_num, fldsFrOcn, "So_omask" , "will provide")
176
176
call fld_list_add(fldsFrOcn_num, fldsFrOcn, "So_t" , "will provide")
177
- @@ -800 ,6 +886 ,8 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
177
+ @@ -808 ,6 +894 ,8 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
178
178
call fld_list_add(fldsFrOcn_num, fldsFrOcn, "Fioo_q" , "will provide")
179
179
call fld_list_add(fldsFrOcn_num, fldsFrOcn, "So_bldepth" , "will provide")
180
180
@@ -183,7 +183,7 @@ index 3574943..f948684 100644
183
183
do n = 1,fldsToOcn_num
184
184
call NUOPC_Advertise(importState, standardName=fldsToOcn(n)%stdname, name=fldsToOcn(n)%shortname, rc=rc)
185
185
if (ChkErr(rc,__LINE__,u_FILE_u)) return
186
- @@ -1611 ,11 +1699 ,14 @@ subroutine ModelAdvance(gcomp, rc)
186
+ @@ -1619 ,11 +1707 ,14 @@ subroutine ModelAdvance(gcomp, rc)
187
187
type (ocean_public_type), pointer :: ocean_public => NULL()
188
188
type (ocean_state_type), pointer :: ocean_state => NULL()
189
189
type(ice_ocean_boundary_type), pointer :: Ice_ocean_boundary => NULL()
@@ -198,7 +198,7 @@ index 3574943..f948684 100644
198
198
integer :: dth, dtm, dts
199
199
integer :: nc
200
200
type(ESMF_Time) :: MyTime
201
- @@ -1627 ,12 +1718 ,13 @@ subroutine ModelAdvance(gcomp, rc)
201
+ @@ -1635 ,12 +1726 ,13 @@ subroutine ModelAdvance(gcomp, rc)
202
202
integer :: writeunit
203
203
integer :: localPet
204
204
type(ESMF_VM) :: vm
@@ -213,15 +213,15 @@ index 3574943..f948684 100644
213
213
integer :: num_rest_files
214
214
real(8) :: MPI_Wtime, timers
215
215
logical :: write_restart
216
- @@ -1673 ,6 +1765 ,7 @@ subroutine ModelAdvance(gcomp, rc)
216
+ @@ -1683 ,6 +1775 ,7 @@ subroutine ModelAdvance(gcomp, rc)
217
217
218
218
Time_step_coupled = esmf2fms_time(timeStep)
219
219
Time = esmf2fms_time(currTime)
220
220
+ Time_import = Time
221
221
222
222
!---------------
223
223
! Apply ocean lag for startup runs:
224
- @@ -1748 ,8 +1841 ,39 @@ subroutine ModelAdvance(gcomp, rc)
224
+ @@ -1758 ,8 +1851 ,39 @@ subroutine ModelAdvance(gcomp, rc)
225
225
! Import data
226
226
!---------------
227
227
@@ -261,7 +261,7 @@ index 3574943..f948684 100644
261
261
262
262
!---------------
263
263
! Update MOM6
264
- @@ -1811 ,7 +1935 ,7 @@ subroutine ModelAdvance(gcomp, rc)
264
+ @@ -1831 ,7 +1955 ,7 @@ subroutine ModelAdvance(gcomp, rc)
265
265
! determine restart filename
266
266
call ESMF_ClockGetNextTime(clock, MyTime, rc=rc)
267
267
if (ChkErr(rc,__LINE__,u_FILE_u)) return
@@ -270,7 +270,7 @@ index 3574943..f948684 100644
270
270
if (ChkErr(rc,__LINE__,u_FILE_u)) return
271
271
272
272
if (cesm_coupled) then
273
- @@ -1869 ,6 +1993 ,14 @@ subroutine ModelAdvance(gcomp, rc)
273
+ @@ -1889 ,6 +2013 ,14 @@ subroutine ModelAdvance(gcomp, rc)
274
274
275
275
endif
276
276
@@ -285,15 +285,15 @@ index 3574943..f948684 100644
285
285
if (is_root_pe()) then
286
286
write(stdout,*) subname//' writing restart file ',trim(restartname)
287
287
endif
288
- @@ -2149 ,6 +2281 ,7 @@ subroutine ocean_model_finalize(gcomp, rc)
288
+ @@ -2169 ,6 +2301 ,7 @@ subroutine ocean_model_finalize(gcomp, rc)
289
289
integer :: alarmCount
290
290
character(len=64) :: timestamp
291
291
logical :: write_restart
292
292
+ character(240) :: additional_restart_dir
293
293
character(len=*),parameter :: subname='(MOM_cap:ocean_model_finalize)'
294
294
real(8) :: MPI_Wtime, timefs
295
295
296
- @@ -2182 ,6 +2315 ,18 @@ subroutine ocean_model_finalize(gcomp, rc)
296
+ @@ -2202 ,6 +2335 ,18 @@ subroutine ocean_model_finalize(gcomp, rc)
297
297
298
298
call ocean_model_end(ocean_public, ocean_State, Time, write_restart=write_restart)
299
299
0 commit comments