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. |
DeniseWorthen
left a comment
There was a problem hiding this comment.
Everything appears to be working as expected for UFS
My sense from the description and file name is that this file is intended to be daily but was accidentally set to 3-hourly. It was changed from daily to 3-hourly in ESCOMP#378 and I think that may have been a mistake, but I'll confirm that. (That PR fixed the description of file5 to say that it is daily, but at the same time changed the output frequency to 3-hourly instead of daily.)
Fixes to some histaux atm2med xml values ### Description of changes There are three separate but related changes here to the histaux atm2med files: (1) Put Sa_co2prog and Sa_co2diag on a single file each: These two CO2 fields were both being output to both file4 (3-hourly) and file5 (daily). I'm keeping prognostic CO2 just on the 3-hourly file and diagnostic CO2 just on the daily file. (2) Add Faxa_ndep to histaux_atm2med file 5 (daily) (see also ESCOMP/CTSM#1844) (3) Change atm2med file5 to actually be daily rather than 3-hourly: My sense from the description and file name is that this file is intended to be daily but was accidentally set to 3-hourly. It was changed from daily to 3-hourly in #378 and that appears to have been a mistake. ### Specific notes Contributors other than yourself, if any: CMEPS Issues Fixed (include github issue #): - Resolves #375 Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) No - bfb Any User Interface Changes (namelist or namelist defaults changes)? Changes some defaults related to atm2med histaux files. ### Testing performed No testing done yet!
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-alldoesn'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.avrgandatm.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.