NUOPC/CMEPS only: Make datestamps in pointer filenames configurable (#9)#1031
Conversation
This adds support in cice for the addition of datestamps to the pointer filenames to be configured through the nuopc option restart_pointer_append_date . Co-authored-by: Andrew Kiss <[email protected]> Co-authored-by: Dougie Squire <[email protected]>
|
@apcraig - if the approach here is ok, Ill run some tests. |
| end if | ||
|
|
||
| if (restart_format(1:3) /= 'bin') filename = trim(filename) // '.nc' | ||
| filename = trim(filename) // '.nc' |
There was a problem hiding this comment.
Just curious about this change. I guess binary restart is only supported with the io_binary package? What happens if binary is set with io_netcdf and io_pio2? Should there be an abort if restart_format = 'bin'? Are there equivalent issues with history format? As an aside, I have wanted to merge the three io_ directories for years and support binary, netcdf, or pio all at the same time via run-time settings, but it would be a big project.
There was a problem hiding this comment.
This if statement didn't really make any sense, so i removed it as the io_binary code isn't included if using pio.
What happens if binary is set with io_netcdf and io_pio2? Should there be an abort if restart_format = 'bin'? Are there equivalent issues with history format?
I don't think there is any error handling of this.
This looks good, lets keep moving it forward. If you can run the io test suite, that would be great (it requires netcdf and pio capability). If not, I'm happy to do that (or up to a full test suite on multiple compilers) on derecho, let me know if/how I can help. |
|
Have you tested this within CMEPS to see if the date strings are still working? |
It was a couple of months back, so ill make sure to retest this. Shall I change it to 6 digit years as well? (@jedwards4b ) |
I've been trying to run the io tests on the unchanged cice repository, and three tests with The error is: If I manually set |
|
@anton-seaice This looked familiar from a different context. See ufs-community/ufs-weather-model#2174 (comment) and the following comments. I wasn't involved in this issue, I just remembered something to do with 'dismscales'. |
You mean the i6.6? |
|
Thanks @DeniseWorthen - that is useful ! @apcraig - I guess you have run the io tests successfully on both intel-classic and oneapi ? Do you build with pnetcdf and hdf5 in one netcdf library? Or only pnetcdf for the cdf tests and only hdf5 for the hdf5 tests?
Yep |
|
I reconfirmed default behaviour when using the CMEPS driver is unchanged, e.g. I did a second ad-hoc test, with @apcraig : The io_suite results (on intel) are unaffected - results are bit for bit except for the hdf5 tests which failed before and after the change. |
dabail10
left a comment
There was a problem hiding this comment.
This looks good. I will try to test it out today.
|
@dabail10 - have you been able to test this ? |
|
Finally tested this in CESM. I'm going to look into it further, but the ice rpointer file does have the date while the other component restarts do not. |
|
You just need to update your cesm to one new enough for the other components to have timestamps. |
|
I am testing this in a cesm3_0_alpha7e sandbox. I thought this was already there? |
|
It looks like you are using cdeps1.0.53 while the timestamps are in cdeps1.0.79 |
|
This doesn't make sense to me. I was using a cesm3_0_beta06 sandbox and the datestamps were working. This has cdeps1.0.73. My alpha7e sandbox (/glade/work/dbailey/cesm3_0_alpha07e) was using cdeps1.0.77. So, was it working before and then broken again? |
|
@dabail10 I don't think that your sandbox is what you think that it is. You should be on a tag or on cesm3.0-alphabranch, but you are on branch master. |
|
The code for this in other components is in CESM_share - https://github.com/ESCOMP/CESM_share/releases/tag/share1.1.9 or anything later is ok |
|
Quick update here. The dates still have some bugs in the latest CESM tags. CDEPS, MOM, are still a work in progress. Anyhow, I tested this in a D compset (active CICE only) and was happy with the results. |
|
I'll run some tests next week just to make sure all is OK and get it merged. Thanks all. |
|
I ran a bunch of test on derecho and everything looks good, https://github.com/CICE-Consortium/Test-Results/wiki/cice_by_hash_forks#9933267b00849bdd7576a4abae8500edc99d31c4. Code also looks clean. Merging now. |
…) (CICE-Consortium#1031) This adds support in NUOPC/CMEPS driver for the addition of datestamps to the pointer filenames to be configurable through the nuopc option restart_pointer_append_date . This is a companion change to ESCOMP/CESM_share#70, and does not impact any current default behaviour. * Make datestamps in pointer filenames configurable (#9) * set across all io options consistently * use ice_restart_shared consistently across all 3 methods --------- Co-authored-by: Andrew Kiss <[email protected]> Co-authored-by: Dougie Squire <[email protected]>
…ICE-Consortium#9) (CICE-Consortium#1031) This adds support in NUOPC/CMEPS driver for the addition of datestamps to the pointer filenames to be configurable through the nuopc option restart_pointer_append_date . This is a companion change to ESCOMP/CESM_share#70, and does not impact any current default behaviour. * Make datestamps in pointer filenames configurable (CICE-Consortium#9) * set across all io options consistently * use ice_restart_shared consistently across all 3 methods --------- Co-authored-by: Andrew Kiss <[email protected]> Co-authored-by: Dougie Squire <[email protected]>
PR checklist
This adds support in NUOPC/CMEPS driver for the addition of datestamps to the pointer filenames (rpointer fix for cesm #990) to be configurable instead of always on when #CESMCOUPLED is set
@anton-seaice
@apcraig @jedwards4b
If the changes look conceptually ok, I will run one of the test suites
This adds support in NUOPC/CMEPS driver for the addition of datestamps to the pointer filenames to be configurable through the nuopc option restart_pointer_append_date .
This is a companion change to ESCOMP/CESM_share#70, and does not impact any current default behaviour.