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

history write optimization #2115

Merged

Conversation

jedwards4b
Copy link
Contributor

@jedwards4b jedwards4b commented Aug 18, 2023

Description of changes

optimize history write

Specific notes

Same as #2114
Contributors other than yourself, if any:

CTSM Issues Fixed (include github issue #):

Are answers expected to change (and if so in what way)? No

Any User Interface Changes (namelist or namelist defaults changes)? No

Testing performed, if any: None, but normal testing will be done

@wwieder
Copy link
Contributor

wwieder commented Aug 18, 2023

Hi Jim,

Thanks for making this PR, I'm assuming this makes writing out history files more efficiently?
Can you provide an example how it will change variable names in the history files? How may this change post processing workflows?

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 18, 2023

@wwieder this is the same as the earlier one on sorting, just to the cesm2.2 release branch.

It shouldn't change post processing workflows, if you check for variables by name. It would if you assume a certain order, which would be a horrible assumption to make and something you shouldn't do.

@jedwards4b is the cesm2.2 release branch important? I thought we had mostly abandoned it? I suppose it might be important to have the release version working for Derecho though.

@jedwards4b
Copy link
Contributor Author

@ekluzek this release branch is supporting the ASD run from Louisa Emmons

@ekluzek ekluzek self-assigned this Aug 19, 2023
@ekluzek ekluzek added enhancement new capability or improved behavior of existing capability priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations labels Aug 19, 2023
@ekluzek
Copy link
Collaborator

ekluzek commented Aug 19, 2023

I sent testing on Cheyenne, but basically all tests failed with issues in the changed file. I'll see if I can get it working.

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 19, 2023

The issue is that the sorting that came in on ctsm5.1.dev018 wasn't in the much older cesm2.2.0 release version. So the sorting should be added in first and then the changes from #2114 applied to that.

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 21, 2023

@billsacks helped me to see this was far easier than I had originally thought it was. So I've made a simple change to get it to compile. So I'll move forward on the testing here. Hopefully, that is the only issue.

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 21, 2023

Got it to compile and the following test PASSes...

SMS_D_Ld5_Mmpi-serial.1x1_mexicocityMEX.I1PtClm50SpRsGs.cheyenne_intel.clm-default

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 22, 2023

Testing on cheyenne has the nuopc test failing because of an issue in CDEPS.

The following tests fail because of problems the restart history files don't compare exactly...

FAIL ERP_D.f10_f10_musgs.IHistClm50Bgc.cheyenne_gnu.clm-decStart COMPARE_base_rest
FAIL ERP_D.f10_f10_musgs.IHistClm50Bgc.cheyenne_intel.clm-decStart COMPARE_base_rest
FAIL ERP_D.f10_f10_musgs.IHistClm50Bgc.cheyenne_intel.clm-decStart MEMCOMP Error: Memory usage increase > 10% from baseline
FAIL ERP_D_Ld10_P36x2.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-ciso_decStart COMPARE_base_rest
FAIL ERP_D_Ld5.f10_f10_musgs.I2000Clm50Sp.cheyenne_intel.clm-decStart COMPARE_base_rest
FAIL ERP_D_Ld5.f10_f10_musgs.I2000Clm50Sp.cheyenne_intel.clm-decStart MEMCOMP Error: Memory usage increase > 10% from baseline
FAIL ERS_Ln9.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.IHistClm50SpGs.cheyenne_intel.clm-clm50cam6LndTuningMode_1979Start COMPARE_base_rest

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 22, 2023

On izumi:

The following test fails at run

ERP_D_Ld5_P48x1.f10_f10_musgs.I2000Clm50Sp.izumi_nag.clm-o3

and this test fails at compare like the ones on cheyenne:

ERP_D_P48x1.f10_f10_musgs.IHistClm50Bgc.izumi_nag.clm-decStart

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 22, 2023

Tests that are failing are ERP tests with BGC on, transient, and a December Start date that goes over the year boundary.

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 22, 2023

Note, that these tests PASSed for the previous tag, and I just ran one again on that tag and it passes for me again. So it isn't something that comes in from machine updates.

ERP_D_Ld10_P36x2.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-ciso_decStart

The only things that have changed are the history sorting, and a minor change to the cime and mosart tags.

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 22, 2023

It looks like the problem is with the MOSART tag. So I'll back it out to make the tag. The issue is that it can't find the comparison file for the Restart case. The restart files look like they compare identically. So it's more of a glitch in testing than in the capability itself.

@ekluzek
Copy link
Collaborator

ekluzek commented Aug 23, 2023

The NUOPC test passes when I unload python and conda, so that python2 is the default. Otherwise it has an error in preview_namelists in DATM buildnml because it uses python2 syntax rather than python3.

@ekluzek ekluzek merged commit d927eee into ESCOMP:release-cesm2.2 Aug 23, 2023
1 check passed
@ekluzek ekluzek deleted the release-cesm2.2.01/hist_opt branch August 23, 2023 19:21
@ekluzek
Copy link
Collaborator

ekluzek commented Aug 23, 2023

OK, the test

ERS_Ln9.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.IHistClm50SpGs.cheyenne_intel.clm-clm50cam6LndTuningMode_1979Start

Is still failing COMPARE base_rest, and I don't know why

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement new capability or improved behavior of existing capability priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants