-
Notifications
You must be signed in to change notification settings - Fork 82
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
Aux cpl hist daily #378
Aux cpl hist daily #378
Conversation
…ux_cpl_hist_daily Because git told me to do it. I'm trying to set up a remote to my new fork of CMEPS in order to push changes on the aux_cpl_hist_daily branch.
A few minor items and questions from namelist_definition_drv.xml:
I didn't want to clutter the PR with those until the main issue is resolved |
I want to make sure I'm understanding your goal correctly. The PR comment makes it sound like your main goal is to be able to change these history file frequencies for your specific case and ran into problems doing so. But your changes alter the default frequencies for a few of the mediator history files. I can't speak to the importance of these frequencies for rof (Keith Lindsay could probably speak to that, but let's wait to pull him in to this discussion), but I know that the atm aux hist file frequencies have just been carefully vetted by Keith Oleson (again, let's wait to pull him into the discussion). Is the main issue that you wanted to be able to change these for a specific case but ran into problems setting them in user_nl_cpl? If so, let's fix that problem. I have a feeling that it comes down to the data type issue you identified in your follow-up comment: it looks like these history_n variables are mistakenly listed as char when they should be integers, so the namelist generation is expecting a string ( |
@billsacks thanks for the strategy. Overall, I think that this cmeps mechanism for history file output is a big improvement! I reverted all my previous changes to namelist_definition_drv.xml and changed the chars to integers, I changed X__history_option = nhours and X__history_n = 6 in namelist_definition_drv.xml, I changed histaux_atm2med_file5_history_n = 1 and then it was written out hourly (yay!). So nhours can work, but something goes wrong with writing a single file at the end. I'll want to either change the default X_history_option to nhours, |
@kdraeder is this PR ready to merge or would you consider it a work in progress? If the later can you please convert it to a draft using the button at the top right of the web page. Can you also point me to the cesm2.3 case that you have been experimenting with? As I understand it the first issue is to generate the rof.24h.avrg and atm.24h.avrg (file1) files. |
It looks like the 'char' -> 'integer' fixes definitely need to be made, Note the correction to my earlier comment; setting atm2med_file5_history_option = nhours and ..._n = 6 Meanwhile, I tried setting X_history_n = 3, and X_ntperfile = 2 and again got a file for atm2med, |
I've opened a PR to your branch kdraeder#1 |
Thanks @jedwards4b The CESM clone is in /glade/work/raeder/Models/cesm_dflt_2023-4-20 (cesm2_3_alpha12e-1-g02ed0b8, The caseroot is /glade/work/raeder/Exp/CESM2.2.1_aux_cpl (misleading name due to cloning misdirection). The relevant test output is in /glade/scratch/raeder/CESM2.2.1_aux_cpl/run/N*
So the rof "daily" file was not written, no matter what I tried. |
@kdraeder I see a fundamental problem in med_io_mod.F90, it won't currently handle more than one component at a time. I will work on a fix today. |
make history_n integer variables
The missing "daily" files appear to have been fixed by https://github.com/jedwards4b/CMEPS/tree/history_n . The remaining unfixed items in cmeps/cime_config/namelist_definition_drv.xml from above are
I have candidate fixes for those, if that would be useful. |
@kdraeder sure please provide the additional fixes. |
Tests |
@jedwards4b - I really like your new implementation. Its much better than what I had originally put in place. Except for a very picky request for consistent indentation I think this is great! |
For non-cesm use (since we don't make use of the aux functionality), does this change mediator history file use at all? |
@DeniseWorthen it should not change functionality of mediator history file use at all. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything appears to be working as expected for UFS
Description of changes
Attempt to write 'daily' auxiliary mediator history files when the forecast is shorter than a day.
Specific notes
It appears that I should be able to set all the relevant attributes
of the auxiliary mediator (was "coupler") history files using mediator/drv/cpl namelist variables.
The default values from cmeps/cime_config/namelist_definition_drv.xml are:
but changing these to
fails because 6 is an invalid value. Trying to make it be valid by
replacing the {ndays,1} in namelist_definition_drv.xml with {nhours,6) doesn't help.
./case.build --clean-all
doesn't help; ./case.build (preview-namelists) fails for the same reason.
I'm not able to trace through the abstractions in python
to where the comparison is made between the values from user_nl_cpl
and namelist_definition_drv.xml, so I'm not able to suggest a fix.
Contributors other than yourself, if any: none
CMEPS Issues Fixed (include github issue #):
Original issue was opened in CIME; ESMCI/cime#4409
Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial)
Auxiliary files with averaged fields, written every 6 hours, will have different contents
than those written once/day. But they should be correct if any averaging is done using the 6 hour span.
Any User Interface Changes (namelist or namelist defaults changes)?
The desired forecast span and frequency of output of the auxiliary mediator history data
should be settable in user_nl_cpl.
It appears that changes to cime_config/namelist_definition_drv.xml (and more?) are needed,
but I haven't figured out what those are.
Add valid_values attributes?
Testing performed
cmeps0.14.27-2-g0d2a0c8
in cesm2_3_alpha12e-1-g02ed0b8
An unmodified cmeps, run for 6 hours with
user_nl_cpl:
histaux_rof2med_file1_enabled = .true.
histaux_atm2med_file1_enabled = .true.
histaux_atm2med_file2_enabled = .true.
histaux_atm2med_file4_enabled = .true.
histaux_atm2med_file5_enabled = .true.
wrote out
but failed to produce the
rof.24h.avrg
andatm.24h.avrg
(file1) files.Adding variables to user_nl_cpl to override the defaults didn't help:
Changing the defaults in namelist_definition_drv.xml also didn't help.