Skip to content

Commit 614b24a

Browse files
committed
merge to cam6_4_048
2 parents 97ffeb9 + f429ebf commit 614b24a

File tree

10 files changed

+209
-64
lines changed

10 files changed

+209
-64
lines changed

.gitmodules

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,28 +151,28 @@ fxDONOTUSEurl = https://github.com/ESMCI/ccs_config_cesm.git
151151
[submodule "cime"]
152152
path = cime
153153
url = https://github.com/ESMCI/cime
154-
fxtag = cime6.1.41
154+
fxtag = cime6.1.49
155155
fxrequired = ToplevelRequired
156156
fxDONOTUSEurl = https://github.com/ESMCI/cime
157157

158158
[submodule "cmeps"]
159159
path = components/cmeps
160160
url = https://github.com/ESCOMP/CMEPS.git
161-
fxtag = cmeps1.0.22
161+
fxtag = cmeps1.0.32
162162
fxrequired = ToplevelRequired
163163
fxDONOTUSEurl = https://github.com/ESCOMP/CMEPS.git
164164

165165
[submodule "cdeps"]
166166
path = components/cdeps
167167
url = https://github.com/ESCOMP/CDEPS.git
168-
fxtag = cdeps1.0.53
168+
fxtag = cdeps1.0.61
169169
fxrequired = ToplevelRequired
170170
fxDONOTUSEurl = https://github.com/ESCOMP/CDEPS.git
171171

172172
[submodule "share"]
173173
path = share
174174
url = https://github.com/ESCOMP/CESM_share
175-
fxtag = share1.1.2
175+
fxtag = share1.1.6
176176
fxrequired = ToplevelRequired
177177
fxDONOTUSEurl = https://github.com/ESCOMP/CESM_share
178178

@@ -193,7 +193,7 @@ fxDONOTUSEurl = https://github.com/ESCOMP/CESM_CICE
193193
[submodule "clm"]
194194
path = components/clm
195195
url = https://github.com/ESCOMP/CTSM
196-
fxtag = ctsm5.3.002
196+
fxtag = ctsm5.3.016
197197
fxrequired = ToplevelRequired
198198
fxDONOTUSEurl = https://github.com/ESCOMP/CTSM
199199

components/clm

Submodule clm updated 734 files

doc/ChangeLog

Lines changed: 138 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Tag name:
44
Originator(s): eaton
55
Date:
66
One-line Summary: remove Eulerian dycore
7-
Github PR URL:
7+
Github PR URL: https://github.com/ESCOMP/CAM/pull/1215
88

99
Purpose of changes (include the issue number and title text for each relevant GitHub issue):
1010

@@ -147,6 +147,143 @@ Summarize any changes to answers: BFB
147147
===============================================================
148148
===============================================================
149149

150+
Tag name: cam6_4_048
151+
Originator(s): jedwards4b, peverwhee
152+
Date: 20 December 2024
153+
One-line Summary: Timestamp in rpointer name
154+
Github PR URL: https://github.com/ESCOMP/CAM/pull/1147
155+
156+
Purpose of changes (include the issue number and title text for each relevant GitHub issue):
157+
#1146 - Add timestep to rpointer file name
158+
- Updates to externals, nuopc cap, and cam control code to handle timestamp in
159+
rpointer file
160+
161+
Describe any changes made to build system: N/A
162+
163+
Describe any changes made to the namelist: N/A
164+
165+
List any changes to the defaults for the boundary datasets: N/A
166+
167+
Describe any substantial timing or memory changes: N/A
168+
169+
Code reviewed by: brian-eaton
170+
171+
List all files eliminated: N/A
172+
173+
List all files added and what they do: N/A
174+
175+
List all existing files that have been modified, and describe the changes:
176+
M .gitmodules
177+
- update externals for rpointer mods
178+
- cime6.1.49
179+
- cmeps1.0.32
180+
- cdeps1.0.61
181+
- share1.1.6
182+
- ctsm5.3.016
183+
184+
M src/control/cam_initfiles.F90
185+
- look for new timestamped rpointer file
186+
187+
M src/control/cam_restart.F90
188+
- remove unnecessary conditionals for optional variables
189+
190+
M src/cpl/nuopc/atm_comp_nuopc.F90
191+
- update variable names coming from coupler
192+
193+
If there were any failures reported from running test_driver.sh on any test
194+
platform, and checkin with these failures has been OK'd by the gatekeeper,
195+
then copy the lines from the td.*.status files for the failed tests to the
196+
appropriate machine below. All failed tests must be justified.
197+
198+
derecho/intel/aux_cam:
199+
200+
ERC_D_Ln9.f19_f19_mg17.QPC6.derecho_intel.cam-outfrq3s_cosp (Overall: NLFAIL) details:
201+
ERC_D_Ln9.f19_f19_mg17.QPMOZ.derecho_intel.cam-outfrq3s (Overall: NLFAIL) details:
202+
ERC_D_Ln9.f19_f19_mg17.QPX2000.derecho_intel.cam-outfrq3s (Overall: NLFAIL) details:
203+
ERC_D_Ln9.ne16_ne16_mg17.FADIAB.derecho_intel.cam-terminator (Overall: NLFAIL) details:
204+
ERC_D_Ln9.ne16_ne16_mg17.QPC5HIST.derecho_intel.cam-outfrq3s_usecase (Overall: NLFAIL) details:
205+
ERC_D_Ln9_P144x1.ne16pg3_ne16pg3_mg17.QPC6HIST.derecho_intel.cam-outfrq3s_ttrac_usecase (Overall: NLFAIL) details:
206+
ERC_D_Ln9.T42_T42_mg17.FDABIP04.derecho_intel.cam-outfrq3s_usecase (Overall: NLFAIL) details:
207+
ERC_D_Ln9.T42_T42_mg17.FHS94.derecho_intel.cam-outfrq3s_usecase (Overall: NLFAIL) details:
208+
ERI_D_Ln18.f45_f45_mg37.QPC41850.derecho_intel.cam-co2rmp_usecase (Overall: NLFAIL) details:
209+
ERP_D_Ln9.f19_f19_mg17.QPC6.derecho_intel.cam-outfrq9s (Overall: NLFAIL) details:
210+
ERP_D_Ln9_P64x2.f09_f09_mg17.QSC6.derecho_intel.cam-outfrq9s (Overall: NLFAIL) details:
211+
ERP_Ld3.f09_f09_mg17.FWHIST.derecho_intel.cam-reduced_hist1d (Overall: NLFAIL) details:
212+
ERS_Ln9.ne0TESTONLYne5x4_ne0TESTONLYne5x4_mg37.FADIAB.derecho_intel.cam-outfrq3s_refined (Overall: NLFAIL) details:
213+
SCT_D_Ln7.ne3_ne3_mg37.QPC5.derecho_intel.cam-scm_prep (Overall: NLFAIL) details:
214+
SCT_D_Ln7.T42_T42_mg17.QPC5.derecho_intel.cam-scm_prep (Overall: NLFAIL) details:
215+
SMS_D_Ld2.f19_f19_mg17.QPC5HIST.derecho_intel.cam-volc_usecase (Overall: NLFAIL) details:
216+
SMS_D_Ld5.f19_f19_mg17.PC4.derecho_intel.cam-cam4_port5d (Overall: NLFAIL) details:
217+
SMS_D_Ln9.f19_f19_mg17.QPC2000climo.derecho_intel.cam-outfrq3s_usecase (Overall: NLFAIL) details:
218+
SMS_D_Ln9.f19_f19_mg17.QPC5M7.derecho_intel.cam-outfrq9s (Overall: NLFAIL) details:
219+
SMS_D_Ln9.ne16_ne16_mg17.QPX2000.derecho_intel.cam-outfrq9s (Overall: NLFAIL) details:
220+
SMS_Ld5.f09_f09_mg17.PC6.derecho_intel.cam-cam6_port_f09 (Overall: NLFAIL) details:
221+
SMS_Ln9.f09_f09_mg17.F2010climo.derecho_intel.cam-nudging (Overall: NLFAIL) details:
222+
SMS_Ln9.f09_f09_mg17.FW1850.derecho_intel.cam-reduced_hist3s (Overall: NLFAIL) details:
223+
SMS_Ln9.f19_f19.F2000climo.derecho_intel.cam-silhs (Overall: NLFAIL) details:
224+
- NL diffs due to CMEPS & CTSM external updates
225+
226+
ERP_D_Ln9.ne30pg3_ne30pg3_mg17.FLTHIST.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
227+
ERP_Ld3.ne30pg3_ne30pg3_mg17.FHISTC_MTt4s.derecho_intel.cam-outfrq1d_aoa (Overall: DIFF) details:
228+
ERP_Lh12.f19_f19_mg17.FW4madSD.derecho_intel.cam-outfrq3h (Overall: DIFF) details:
229+
ERP_Ln9.C96_C96_mg17.F2000climo.derecho_intel.cam-outfrq9s_mg3 (Overall: DIFF) details:
230+
ERP_Ln9.f09_f09_mg17.F1850.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
231+
ERP_Ln9.f09_f09_mg17.F2000climo.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
232+
ERP_Ln9.f09_f09_mg17.F2010climo.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
233+
ERP_Ln9.f09_f09_mg17.FHIST_BDRD.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
234+
ERP_Ln9.f19_f19_mg17.FWsc1850.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
235+
ERP_Ln9.ne30pg3_ne30pg3_mg17.FCnudged.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
236+
ERP_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
237+
ERS_Ln9.f09_f09_mg17.FX2000.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
238+
ERS_Ln9.f19_f19_mg17.FSPCAMS.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
239+
ERS_Ln9.f19_f19_mg17.FXSD.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
240+
ERS_Ln9_P288x1.mpasa120_mpasa120.F2000climo.derecho_intel.cam-outfrq9s_mpasa120 (Overall: DIFF) details:
241+
SMS_D_Ln9.f09_f09_mg17.FCts2nudged.derecho_intel.cam-outfrq9s_leapday (Overall: DIFF) details:
242+
SMS_D_Ln9.f09_f09_mg17.FCvbsxHIST.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
243+
SMS_D_Ln9.f09_f09_mg17.FSD.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
244+
SMS_D_Ln9.f19_f19_mg17.FWma2000climo.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
245+
SMS_D_Ln9.f19_f19_mg17.FWma2000climo.derecho_intel.cam-outfrq9s_waccm_ma_mam4 (Overall: DIFF) details:
246+
SMS_D_Ln9.ne16pg3_ne16pg3_mg17.FX2000.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
247+
SMS_D_Ln9.ne30pg3_ne30pg3_mg17.FMTHIST.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
248+
SMS_D_Ln9_P1280x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
249+
SMS_D_Ln9_P1280x1.ne30pg3_ne30pg3_mg17.FHISTC_MTt1s.derecho_intel.cam-outfrq9s_Leung_dust (Overall: DIFF) details:
250+
SMS_D_Ln9.T42_T42.FSCAMARM97.derecho_intel.cam-outfrq9s (Overall: DIFF) details:
251+
SMS_Ld1.f09_f09_mg17.FW2000climo.derecho_intel.cam-outfrq1d (Overall: DIFF) details:
252+
SMS_Ld1.ne30pg3_ne30pg3_mg17.FC2010climo.derecho_intel.cam-outfrq1d (Overall: DIFF) details:
253+
SMS_Lh12.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq3h (Overall: DIFF) details:
254+
SMS_Ln9.f19_f19_mg17.FHIST.derecho_intel.cam-outfrq9s_nochem (Overall: DIFF) details:
255+
SMS_Ln9.ne30pg3_ne30pg3_mg17.FW2000climo.derecho_intel.cam-outfrq9s_rrtmgp (Overall: DIFF) details:
256+
- Diffs due to updated CTSM external
257+
258+
SMS_D_Ln9.f19_f19_mg17.FXHIST.derecho_intel.cam-outfrq9s_amie (Overall: FAIL)
259+
SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: FAIL)
260+
- pre-existing failures due to build-namelist error requiring CLM/CTSM external update.
261+
262+
ERP_Ln9.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s (Overall: FAIL)
263+
SMS_Ld1.f09_f09_mg17.FCHIST_GC.derecho_intel.cam-outfrq1d (Overall: DIFF)
264+
- pre-existing failure due to HEMCO not having reproducible results issues #1018 and #856
265+
266+
derecho/nvhpc/aux_cam:
267+
ERS_Ln9.ne30pg3_ne30pg3_mg17.F2000dev.derecho_nvhpc.cam-outfrq9s_gpu_default (Overall: DIFF) details:
268+
- Diffs due to updated CTSM external
269+
270+
izumi/nag/aux_cam: !!due to izumi being down and the desire to make a CESM alpha
271+
tag, the izumi tests were not run!! this changelog entry will be updated once
272+
the tests are run
273+
274+
izumi/gnu/aux_cam: !!due to izumi being down and the desire to make a CESM alpha
275+
tag, the izumi tests were not run!! this changelog entry will be updated once
276+
the tests are run
277+
278+
CAM tag used for the baseline comparison tests if different than previous
279+
tag:
280+
281+
Summarize any changes to answers: answer changes thanks to updated CTSM tag
282+
- ran derecho intel & nvhpc tests on head of cam_development with ctsm5.3.015 vs baselines for
283+
this tag and confirmed that there were no DIFFs
284+
285+
===============================================================
286+
150287
Tag name: cam6_4_047
151288
Originator(s): jedwards4b, fvitt
152289
Date: 19 November 2024

share

src/control/cam_initfiles.F90

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@ module cam_initfiles
4242

4343
real(r8), public, protected :: scale_dry_air_mass = 0.0_r8 ! Toggle and target avg air mass for MPAS dycore
4444

45-
! The restart pointer file contains name of most recently written primary restart file.
46-
! The contents of this file are updated by cam_write_restart as new restart files are written.
47-
character(len=cl), public, protected :: rest_pfile
48-
4945
! Filename for initial restart file.
5046
character(len=cl) :: restart_file = ' '
5147

@@ -68,16 +64,20 @@ subroutine cam_initfiles_readnl(nlfile)
6864
use spmd_utils, only: mpicom, mstrid=>masterprocid, mpir8=>mpi_real8, &
6965
mpichar=>mpi_character, mpi_logical
7066
use cam_instance, only: inst_suffix
71-
67+
use filenames, only: interpret_filename_spec
68+
7269
character(len=*), intent(in) :: nlfile ! filepath for file containing namelist input
7370

7471
! Local variables
7572
integer :: unitn, ierr
76-
7773
character(len=cl) :: locfn
7874
logical :: filefound
7975
integer :: xtype
8076
integer(pio_offset_kind) :: slen
77+
logical :: found
78+
79+
! The restart pointer file contains name of most recently written primary restart file.
80+
character(len=cl) :: rest_pfile
8181

8282
character(len=*), parameter :: sub = 'cam_initfiles_readnl'
8383

@@ -112,18 +112,26 @@ subroutine cam_initfiles_readnl(nlfile)
112112
call mpi_bcast(scale_dry_air_mass, 1, mpir8, mstrid, mpicom, ierr)
113113
if (ierr /= 0) call endrun(sub//": ERROR: mpi_bcast: scale_dry_air_mass")
114114

115-
! Set pointer file name based on instance suffix
116-
rest_pfile = './rpointer.atm' // trim(inst_suffix)
117-
118115
! Set name of primary restart file
119116
if (restart_run) then
120117
! Read name of restart file from pointer file
121118
if (masterproc) then
119+
rest_pfile = interpret_filename_spec("rpointer.cam"//trim(inst_suffix)//".%y-%m-%d-%s", prev=.true.)
120+
inquire(file=trim(rest_pfile),exist=found)
121+
if(.not. found) then
122+
write(iulog, "INFO : rpointer file "//trim(rest_pfile)//" not found.")
123+
rest_pfile = "rpointer.cam"//trim(inst_suffix)
124+
write(iulog, " Try looking for "//trim(rest_pfile)//" ...")
125+
inquire(file=trim(rest_pfile),exist=found)
126+
if(.not. found) then
127+
call endrun(sub // ': ERROR: rpointer file: '//trim(rest_pfile) // ' not found')
128+
endif
129+
endif
122130
unitn = getunit()
123131
call opnfil(rest_pfile, unitn, 'f', status="old")
124132
read (unitn, '(a)', iostat=ierr) restart_file
125133
if (ierr /= 0) then
126-
call endrun(sub // ': ERROR: reading rpointer file')
134+
call endrun(sub // ': ERROR: reading rpointer file: '//trim(rest_pfile))
127135
end if
128136
close(unitn)
129137
call freeunit(unitn)

src/control/cam_restart.F90

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,8 @@ subroutine cam_write_restart(cam_in, cam_out, dyn_out, pbuf2d, &
106106
! (%c = caseid, $y = year, $m = month, $d = day, $s = seconds in day, %t = number)
107107
rfilename_spec = '%c.cam' // trim(inst_suffix) //'.r.%y-%m-%d-%s.nc'
108108

109-
if (present(yr_spec).and.present(mon_spec).and.present(day_spec).and.present(sec_spec)) then
110-
fname = interpret_filename_spec( rfilename_spec, &
111-
yr_spec=yr_spec, mon_spec=mon_spec, day_spec=day_spec, sec_spec= sec_spec )
112-
else
113-
fname = interpret_filename_spec( rfilename_spec )
114-
end if
109+
fname = interpret_filename_spec( rfilename_spec, &
110+
yr_spec=yr_spec, mon_spec=mon_spec, day_spec=day_spec, sec_spec= sec_spec )
115111

116112
call cam_pio_createfile(fh, trim(fname), 0)
117113
ierr = cam_pio_set_fill(fh)
@@ -132,38 +128,39 @@ subroutine cam_write_restart(cam_in, cam_out, dyn_out, pbuf2d, &
132128
call ionosphere_write_restart(fh)
133129
call write_restart_physics(fh, cam_in, cam_out, pbuf2d)
134130

135-
if (present(yr_spec).and.present(mon_spec).and.&
136-
present(day_spec).and.present(sec_spec)) then
137-
call write_restart_history(fh, yr_spec=yr_spec, mon_spec=mon_spec, &
138-
day_spec=day_spec, sec_spec= sec_spec )
139-
else
140-
call write_restart_history(fh)
141-
end if
131+
call write_restart_history(fh, yr_spec=yr_spec, mon_spec=mon_spec, &
132+
day_spec=day_spec, sec_spec= sec_spec )
142133

143134
! Close the primary restart file
144135
call pio_closefile(fh)
145136

146137
! Update the restart pointer file
147-
call write_rest_pfile(fname)
138+
call write_rest_pfile(fname, yr_spec=yr_spec, mon_spec=mon_spec, &
139+
day_spec=day_spec, sec_spec= sec_spec )
148140

149141
end subroutine cam_write_restart
150142

151143
!========================================================================================
152144

153-
subroutine write_rest_pfile(restart_file)
145+
subroutine write_rest_pfile(restart_file, yr_spec, mon_spec, day_spec, sec_spec)
154146

155147
! Write the restart pointer file
156-
157-
use cam_initfiles, only: rest_pfile
158-
148+
use cam_instance, only: inst_suffix
149+
use filenames, only: interpret_filename_spec
159150
character(len=*), intent(in) :: restart_file
151+
integer, optional, intent(in) :: yr_spec ! Simulation year
152+
integer, optional, intent(in) :: mon_spec ! Simulation month
153+
integer, optional, intent(in) :: day_spec ! Simulation day
154+
integer, optional, intent(in) :: sec_spec ! Seconds into current simulation day
160155

161156
integer :: nsds, ierr
157+
character(len=CL) :: rest_pfile
162158
character(len=*), parameter :: sub='write_rest_pfile'
163159
!---------------------------------------------------------------------------
164160

165161
if (masterproc) then
166-
162+
rest_pfile = interpret_filename_spec('rpointer.cam'//trim(inst_suffix)//'.'//'%y-%m-%d-%s',&
163+
yr_spec=yr_spec, mon_spec=mon_spec, day_spec=day_spec, sec_spec= sec_spec )
167164
nsds = getunit()
168165
call opnfil(rest_pfile, nsds, 'f')
169166
rewind nsds

0 commit comments

Comments
 (0)