CMEPS
CMEPS copied to clipboard
A fix for ROF_NCPL failure in an NCPL consistency test for several compsets
I don't see any related issues in ESCOMP/CMEPS, so I'm opening one.
I tried to build a case with resolution TL319_t232 and compset G_JRA_RYF in CESM3_0_beta05, but got a rof_cpl_time error:
ERROR: assume that rof_cpl_time is always greater than or equal to ocn_cpl_time
I didn't change any coupling times in the setup. OCN_NCPL: 24 ROF_NCPL: 48
I'm guessing the 48 comes from the choice of compset and components/cmeps/cime_config/config_component_cesm.xml:
<entry id="ROF_NCPL">
<type>integer</type>
<default_value>8</default_value>
<values match="last">
<value compset="_DATM.*_MOM6.*_DROF" >[B]$ATM_NCPL[/B]</value>
I changed the ATM_NCPL to OCN_NCPL in that xml ROF 'compset' line, to make it consistent with components/cmeps/cime_config/runseq/runseq_general.py:
if rof_cpl_time < ocn_cpl_time:
expect(False, "assume that rof_cpl_time is always greater than or equal to ocn_cpl_time")
The model built successfully, so this looks like a solution, if not the optimal solution.
@ekluzek @jedwards4b If anyone thinks this is the right solution at the moment, I can open a PR about it. If a more comprehensive solution would be better, then someone familiar with CMEPS should probably handle it.
I agree that is the correct solution, @alperaltuntas what do you think?
Sounds good to me too.
Thanks for the guidance! Is cesm3_0_beta05-1-g8e7888c a good enough version to use in a PR?
The best place to start is the head of the development branch for the component you are working on, in this case it would be the 'main' branch of cmeps.
My cesm clone is in /glade/work/raeder/Models/cesm3_0_beta05. I synced my github kdraeder fork of cmeps and set my 'origin' to be that fork. I pulled main from there and checked out a new development branch. I made my code change and committed it. Now I'm trying to build the case, but that's failing. /glade/derecho/scratch/raeder/Test_ROF_NCPL_bld/bld/csm_share.bldlog.250409-123834:
/glade/work/raeder/Models/cesm3_0_beta05/components/cmeps/cesm/nuopc_cap_share/driver_pio_mod.F90(9):
error #6580: Name in only-list does not exist or is not accessible. [SHR_LOG_ERROR]
use shr_log_mod, only : shr_log_getLogUnit, shr_log_error
-----------------------------------------------^
Did I need to run git-fleximod again? Or is this updated cmeps incompatible with the cesm3_0_beta05 I'm working in, so I need to update that whole thing?
Its the later - update to cesm3.0-alphabranch, then run git-fleximod update then test.