Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cam6_3_140: Separate history tapes into hXi and hXa #903

Merged
merged 31 commits into from
Dec 7, 2023
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
8d0754e
separate accumulated and instantaneous fields
Sep 22, 2023
6191558
fix issue with multiple grids with the same attribute(s)
Oct 2, 2023
96ea502
fix bug in lat lon coords, append file type to user-supplied filespec
Oct 4, 2023
cad3879
fix restarts
Oct 12, 2023
7349d16
another restart bug; update sct tests to reference new filename
Oct 12, 2023
0183095
fix for sct tests and fix for restart tests that have only one type o…
Oct 12, 2023
1fac980
code cleanup
Oct 13, 2023
387f459
Merge remote-tracking branch 'ESCOMP/cam_development' into history-split
Oct 13, 2023
8aa7437
change implementation to static array
Oct 16, 2023
57fc39c
add units and calendar to time_bounds variable
Oct 17, 2023
8df5b6b
fix for dims with bnds; make field indexing consistent
Oct 19, 2023
2320d0e
make field indexing consistent; remove satfile file loop
Oct 19, 2023
e274239
add parameters for split file indices
Oct 19, 2023
f3c8a30
better logging
Oct 19, 2023
e05302c
remove unnecessary loop
Oct 19, 2023
157639d
fix indices
Oct 19, 2023
356af85
add parameters for sat, restart, and init file indices
Oct 20, 2023
cd4cece
clean up File indexing logic
Oct 20, 2023
ed5dbe2
address reviewer comments
Nov 1, 2023
5149a48
remove unused variable
Nov 1, 2023
9da2590
fix looping range
Nov 1, 2023
3e63b60
merge to head of cam_development
Nov 1, 2023
7a0e528
logic to add file type flag to right part of hfilename_spec, updates …
Nov 8, 2023
f955d7f
change time_op value to "point" for instantaneous fields
Nov 8, 2023
d37e8c4
always create instantaneous file; write time-dependent fields to inst…
Nov 29, 2023
13dd76d
address reviewer comments
Nov 29, 2023
39ca247
calculate midpoint date and datesec for accumulated file
Dec 5, 2023
bee5eb4
Merge remote-tracking branch 'ESCOMP/cam_development' into history-split
Dec 5, 2023
de6c33a
fix sct tests
Dec 5, 2023
b32b71e
initial changelog
Dec 5, 2023
6c59437
updated changelog
Dec 7, 2023
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
4 changes: 2 additions & 2 deletions cime_config/SystemTests/sct.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def _case_two_setup(self):
append_to_user_nl_files(caseroot = self._get_caseroot(), component = "cam", contents = "MFILT = 1,7,1,1,1,1")
append_to_user_nl_files(caseroot = self._get_caseroot(), component = "cam", contents = "nhtfrq = 1,1,1,1,1,1")
append_to_user_nl_files(caseroot = self._get_caseroot(), component = "cam", contents = "fincl2='T','Q','TDIFF','QDIFF','LANDFRAC'")
append_to_user_nl_files(caseroot = self._get_caseroot(), component = "cam", contents = "iopfile = '../"+case_name+".cam.h1."+RUN_STARTDATE+"-00000.nc'")
append_to_user_nl_files(caseroot = self._get_caseroot(), component = "cam", contents = "iopfile = '../"+case_name+".cam.h1i."+RUN_STARTDATE+"-00000.nc'")
append_to_user_nl_files(caseroot = self._get_caseroot(), component = "cam", contents = "inithist = 'YEARLY'")
append_to_user_nl_files(caseroot = self._get_caseroot(), component = "cam", contents = "scm_cambfb_mode = .true.")
append_to_user_nl_files(caseroot = self._get_caseroot(), component = "cam", contents = "scm_use_obs_uv = .true.")
Expand All @@ -65,7 +65,7 @@ def _component_compare_test(self, suffix1, suffix2,
success_change=False,
ignore_fieldlist_diffs=False):
with self._test_status:
stat,netcdf_filename,err=run_cmd('ls ./run/case2run/*h1*8400.nc ')
stat,netcdf_filename,err=run_cmd('ls ./run/case2run/*h1i*8400.nc ')
stat,DIFFs,err=run_cmd('ncdump -ff -p 9,17 -v QDIFF,TDIFF '+netcdf_filename+' | egrep //\.\*DIFF | sed s/^\ \*// | sed s/^0,/0.0,/ | sed s/^0\;/0.0\;/ | sed s/\[,\;\].\*// | uniq')
array_of_DIFFs=DIFFs.split("\n")
answer=max([abs(float(x)) for x in array_of_DIFFs])
Expand Down
78 changes: 78 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,83 @@
===============================================================

Tag name:
Originator(s): peverwhee
Date:
One-line Summary: Separate history tapes into hXi and hXa
Github PR URL: https://github.com/ESCOMP/CAM/pull/903

Purpose of changes (include the issue number and title text for each relevant GitHub issue):
- Change "time" value for averaged quantities to midpoint of averaging period (#159)
- Modify naming and attributes of time variables on history files to be
consistent with other CESM components (#554)

Describe any changes made to build system: N/A

Describe any changes made to the namelist: N/A

List any changes to the defaults for the boundary datasets: N/A

Describe any substantial timing or memory changes: N/A

Code reviewed by: cacraigucar brian-eaton nusbaume

List all files eliminated: N/A

List all files added and what they do: N/A

List all existing files that have been modified, and describe the changes:
M cime_config/SystemTests/sct.py
- change references to history file to include "i" flag

M src/control/cam_history.F90
- change 'time_bnds' to 'time_bounds'
- split history stream into two files: instantaneous and accumulated
- accumulated file has all non-instantaneous fields and 'time', 'date',
'datesec' fields are the midpoint time
- accumulated file is only generated when one or more accumulated fields
- filename includes 'a' flag
is included in the fincl list
- instantaneous file has all instantaneous fields (including scalars that
are always written) and 'time', 'date', and 'datesec' fields are the end
time
- instantaneous file is always generated (with, at minimum, those
scalars like VMRs, current timestep, etc
- filename includes 'i' flag
- change 'cell_methods' to always include 'time: x' attribute to specify flag
- "time: point" for instantaneous fields

M src/control/cam_history_support.F90
- add functionality for multiple files per history stream

M src/control/filenames.F90
- update interpret_filename_spec to include 'a' or 'i' flag in filename

M src/control/sat_hist.F90
- update to comply with new Files array (multiple files per stream)

M src/utils/cam_grid_support.F90
- updates to get around logic that prevented fields to be written twice (need
to be written once per file instead of once overall)


If there were any failures reported from running test_driver.sh on any test
platform, and checkin with these failures has been OK'd by the gatekeeper,
then copy the lines from the td.*.status files for the failed tests to the
appropriate machine below. All failed tests must be justified.

cheyenne/intel/aux_cam:

derecho/intel/aux_cam:

izumi/nag/aux_cam:

izumi/gnu/aux_cam:

Summarize any changes to answers: No answer changes except midpoint time,
date, datesec for accumulated files/fields

===============================================================

Tag name: cam6_3_139
Originator(s): fvitt, tilmes
Date: 1 Dec 2023
Expand Down
Loading