merge to ESCOMP cmeps1.1.51 - #52
Merged
mvertens merged 135 commits intoJul 29, 2026
Merged
Conversation
* update typedefs for icplocn2atm * update standard_name in ccpp/data
* add u,v ocn->atm for global configs * update typedefs for icplocn2atm
Partially addresses ESCOMP#601
This will integrate better with existing infrastructure for processing colon-delimited lists.
Before this change, an empty WATER_TRACERS xml variable was treated as a length-1 list containing an empty string, rather than as a length-0 list.
* Replace horizontal_loop_extent with horizontal_dimension * One more CCPP metadata change
It looks like these fields were removed from esmFldsExchange_cesm_mod at some point, but weren't removed from fd_cesm.yaml.
We can enable these checks once we add water tracers to ensure that water tracers are being handled consistently with bulk fluxes.
This reverts commit a39d47d. This capability is enabled on this branch so we can back out this temporary commit.
This means we are potentially getting n_tracers multiple times instead of just once, but it allows the code to work in the situation where we don't have any tracer fields and shr_wtracers_mod hasn't been initialized. (I'm not sure if this will arise in practice, but it might.)
This breaks the dependency on this share code for UFS.
* update Sa_pslv to be bilinear * change coupling mode for bulk aoflux scheme consistent w/ mapping * minor tweaks to aoflux module for clarity
Only run srt workflow when manually triggered ### Description of changes Don't run the CIME scripts_regression_tests workflow on PR and main branch pushes, because it is currently not working. ### Specific notes Contributors other than yourself, if any: CMEPS Issues Fixed (include github issue #): Stop-gap that partially addresses ESCOMP#646. 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)? No ### Testing performed None
Since this is the more common case
I thought this direct dependence on shr_wtracers_mod would be okay here, but this breaks the GitHub Action build. I think what's happening is that the CMake-based build builds esmFldsExchange_cesm_mod but doesn't include the CESM share code (instead getting the share code from CDEPS, I think?).
Add water tracers ### Description of changes Core changes needed to add water tracers in CESM, for the sake of water isotopes and other purposes. Major pieces of this include: - XML and config variables for defining water tracers - Addition of all necessary water tracers in esmFldsExchange_cesm_mod and fd_cesm.yaml. These use an ungridded dimension for water tracers. - Calls to a routine to check that test tracers maintain their initial ratios. This ensures that tracers are being treated the same as their bulk counterparts (in terms of mapping, merging, etc.). - Addition of water tracer fields in med_test_comps, so this tracer infrastructure can be verified in an X compset test - Various other changes to some of the med_test_comps to better exercise CMEPS functionality, especially for the lnd -> glc mapping; also added some fields from GLC and to ROF in med_test_comps: Fgrg_rofi and Fgrg_rofl Some pieces are not yet implemented: - Including water tracers in the custom lnd->rof mapping - Including water tracers/isotopes in atm-ocn flux calculations - Including water tracers in the budget tables (med_diag_mod) Depends on ESCOMP/CESM_share#82 ### Specific notes Contributors other than yourself, if any: CMEPS Issues Fixed (include github issue #): - Resolves ESCOMP#583 (though this turned out to be much more extensive than simply reviewing and updating what had been in place before) - Resolves ESCOMP#601 Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) Changes answers for X compsets (due to some changed counter logic and maybe other things); should be bit-for-bit for all other compsets Any User Interface Changes (namelist or namelist defaults changes)? Adds xml and config variables controlling water tracers ### Testing performed In the context of cesm3_0_alpha08o, with this branch along with ESCOMP/CESM_share#82, ran CESM prealpha tests on derecho and izumi, and aux_glc tests on derecho, all with baseline comparisons. All failures also failed in the baseline except for `SMS_D_Ln9_P1536x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FHIST.derecho_intel.cam-outfrq9s` (which seemed to fail due to ESCOMP/CTSM#3772, which is a sporadic issue), and all baseline comparisons passed. (Note: full testing was done before final commits addressing review points; only minimal additional testing was done after those final commits.)
This is needed to fix some failing tests with DGLC and SLND in the aux_cdeps test list: SMS_Ly3.f10_f10_ais8gris4_mg37.2000_SATM_SLND_SICE_SOCN_SROF_DGLC%NOEVOLVE_SWAV.derecho_intel SMS_Ly3.f10_f10_ais8_mg37.2000_SATM_SLND_SICE_SOCN_SROF_DGLC%NOEVOLVE_SWAV.derecho_intel SMS_Ly3.f19_g17_gris4.2000_SATM_SLND_SICE_SOCN_SROF_DGLC%NOEVOLVE_SWAV.derecho_intel The problem seems to be that med_phases_prep_glc_avg is called unconditionally from med_phases_prep_glc, but FBlndAccum2glc_l is only created if accum_lnd2glc is true. (Note that prep_glc_accum_lnd, which is another place where FBlndAccum2glc_l is used, is called if lnd2glc_coupling or accum_lnd2glc are true.) (Prior to cmeps1.1.48 the similar code was inside a fldchk conditional, which also had the effect of skipping this code if FBlndAccum2glc_l wasn't created.)
Sync w/ latest UFS changes ### Description of changes Adds recent changes for CMEPS in UFS ### Specific notes Adds ufs_trace wrapper to enable profiling for use in UFS. Adds capability to use mapfiles in UFS global applications. Removes HYCOM field exchanges in UFS/HAFS mode (HYCOM has been removed from our component list). Removes deprecated flux scheme for UFS (ocean_flux_scheme == -1) Updates ufs/ccpp as required for ccpp changes Changes should not touch any CESM code and should be B4B.
Fix for DGLC with SLND ### Description of changes Only average FBlndAccum2glc_l if the field bundle was created This is needed to fix some failing tests with DGLC and SLND in the aux_cdeps test list: - SMS_Ly3.f10_f10_ais8gris4_mg37.2000_SATM_SLND_SICE_SOCN_SROF_DGLC%NOEVOLVE_SWAV.derecho_intel - SMS_Ly3.f10_f10_ais8_mg37.2000_SATM_SLND_SICE_SOCN_SROF_DGLC%NOEVOLVE_SWAV.derecho_intel - SMS_Ly3.f19_g17_gris4.2000_SATM_SLND_SICE_SOCN_SROF_DGLC%NOEVOLVE_SWAV.derecho_intel The problem seems to be that med_phases_prep_glc_avg is called unconditionally from med_phases_prep_glc, but FBlndAccum2glc_l is only created if accum_lnd2glc is true. (Note that prep_glc_accum_lnd, which is another place where FBlndAccum2glc_l is used, is called if lnd2glc_coupling or accum_lnd2glc are true.) (Prior to cmeps1.1.48 the similar code was inside a fldchk conditional, which also had the effect of skipping this code if FBlndAccum2glc_l wasn't created.) ### Specific notes Contributors other than yourself, if any: CMEPS Issues Fixed (include github issue #): 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)? no ### Testing performed With cesm at `3ff5aed`: (1) These failing tests - now pass: SMS_Ly3.f10_f10_ais8gris4_mg37.2000_SATM_SLND_SICE_SOCN_SROF_DGLC%NOEVOLVE_SWAV.derecho_intel SMS_Ly3.f10_f10_ais8_mg37.2000_SATM_SLND_SICE_SOCN_SROF_DGLC%NOEVOLVE_SWAV.derecho_intel SMS_Ly3.f19_g17_gris4.2000_SATM_SLND_SICE_SOCN_SROF_DGLC%NOEVOLVE_SWAV.derecho_intel (2) These additional tests - pass and baseline comparisons are bfb: ERS_Ly7.f09_g17_gris4.T1850Gg.derecho_intel SMS_Lm13.f10_f10_mg37.I1850Clm50SpG.derecho_intel SMS_D_Ly1.f09_g17_ais8.T1850Ga.derecho_gnu MULTINOAIS_Ly2.f10_f10_ais8gris4_mg37.I1850Clm50SpRsGag.derecho_intel.cism-change_params (3) This additional test - passes (no baselines available): SMS_D_Ld5.f10_f10_ais8gris4_mg37.I1850Clm50SpGag.derecho_intel.cism-test_coupling
Fix two unitialized variables found w/ valgrind ### Description of changes Initialize two character strings and correct typo. - fixes ESCOMP#661 Changes are B4B in UFS testing.
mvertens
requested review from
TomasTorsvik and
gold2718
and removed request for
gold2718
July 28, 2026 15:22
TomasTorsvik
approved these changes
Jul 29, 2026
|
@mvertens - thanks for the update. Is there any particular reason for moving to cmeps1.1.51, or is this done just to be in sync with NCAR? |
Collaborator
Author
|
@TomasTorsvik - this is a prerequisite for me to do a PR back to ESCOMP with our changes. I just needed to have noresm be up to date with the latest. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of changes
This PR merges up to ESCOMP cmeps1.1.51
Are changes expected to change answers? bit-for-bit
Any User Interface Changes? None
Testing performed
Ran prealpha_noresm with these changes on olivia and verified that the results were bit-for-bit with noresm3_0_beta22