Skip to content

Conversation

@billsacks
Copy link
Member

@billsacks billsacks commented Dec 19, 2025

Description of changes

I'm opening this PR on behalf of @mvertens , so that we can split #363 into pieces to facilitate review.

Changes here include:

datm:

  • correct modes are now used for specific RYF JRA modes like JRA-RYF9091, rather than using the generic CORE_IAF_JRA mode

docn:

  • introduce a new mode for docn to read in multiple ocean levels to send to CISM
  • introduce a new mode for docn to have both SST forcing for CAM and multiple ocean level temperature and salinity to send to CISM.

dlnd:

  • refactor lnd_comp_nuopc to allow more than one datamode. The original datamode is now a new file dlnd_datamode_glc_forcing_mod.F90.
  • add capability in CDEPS to have lnd2rof to have ungridded dimensions that are set flexibly. This is needed in NorESM to permit non-water tracers to be advected by MOSART.
  • introduce a new data mode, dlnd_datamode_rof_forcing_mod.F90, that permits the ingestion of forcing for a prognostic river model. This capability is in NorESMhub/CDEPS now but not in ESCOMP/CDEPS.
  • For glc forcings, send missing values instead of 0s over ocean

Specific notes

Contributors other than yourself, if any: @mvertens @gold2718 @mvdebolskiy @TomasTorsvik @matsbn

CDEPS Issues Fixed (include github issue #):

Are there dependencies on other component PRs (if so list):

Are changes expected to change answers (bfb, different to roundoff, more substantial): YES, including some more substantial changes:

  • DATM now uses correct modes for specific RYF JRA modes like JRA-RYF9091, rather than using the generic CORE_IAF_JRA mode
  • DLND now sends missing values instead of 0s over ocean (creates FILLDIFFs in coupler history files in T compsets)

Any User Interface Changes (namelist or namelist defaults changes):

Testing performed (e.g. aux_cdeps, CESM prealpha, etc):

  • CESM prealpha

Hashes used for testing:

gold2718 and others added 30 commits April 1, 2024 13:36
update to cdeps1.0.28

Description of changes:
Update the NorESMhub CDEPS code to ESCOMP cdeps1.0.28.

Specific notes:
There are no answer differences between this merge and cdeps1.0.28
This merge is needed in order to begin the creation of a data GLC component in cdeps.
This PR adds U10m and V10m fields to the fields in cdeps1.0.28

Contributors other than yourself, if any: None

CDEPS Issues Fixed: None

Are there dependencies on other component PRs (if so list): Yes - the following PR needs to be merged before CDEPS can build successfully.
NorESMhub/NorESM_share#3

Are changes expected to change answers: No
The update to CDEPS causes the default docn sst files to be different and therefore using this update will cause differences in answers.

Any User Interface Changes (namelist or namelist defaults changes): None

Testing performed (e.g. aux_cdeps, CESM prealpha, etc):
Using the following external - new baselines were created in
Using the hash f71e2c7 in the branch feature/oslo_aero_camdev from https://github.com/mvertens/NorESM.git
and running the aux_cam_noresm test suite - new baselines were created noresm_v11_cam6_3_123_cdeps/.
All tests passed functionality - but comparisons to noresm_v11_cam6_3_123_cdeps failed.
Update to cdeps1.0.32 from ESCOMP

- Add a new DGLC component (see #268)

Contributors other than yourself, if any: None
CDEPS Issues Fixed: None

Are there dependencies on other component PRs (if so list): Yes
See documentation in #268
Are changes expected to change answers: No, verified as BFB
Any User Interface Changes: only for DGLC

Testing performed
Ran prealpha_noresm test suite along with aux_cdeps_noresm successfully

Hashes used for testing:
Externals in what will be noresm2_5_alpha02
billsacks added a commit to ESCOMP/CMEPS that referenced this pull request Dec 19, 2025
Copy shr_lnd2rof_tracers_mod from noresm branch

### Description of changes

Copying from noresm branch at NorESMhub/CMEPS@6539501e

This is needed for ESCOMP/CDEPS#364

We should soon try to bring in all of the changes from the noresm branch, but that will take more work.

### Specific notes

Contributors other than yourself, if any: Mariana Vertenstein

CMEPS Issues Fixed (include github issue #):

Are changes expected to change answers? (specify if bfb, different at roundoff, more substantial) : no

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

### Testing performed
Please describe the tests along with the target model and machine(s) 
If possible, please also added hashes that were used in the testing

Ran `SMS_Ld3_D_P8x1.f10_f10_mg37.X.green_gnu` with the changes from ESCOMP/CDEPS#364
@billsacks
Copy link
Member Author

I have tested the changes here along with the CMEPS changes in ESCOMP/CMEPS#618 in SMS_Ld3_D_P8x1.f10_f10_mg37.X.green_gnu, and it builds and runs successfully. The GitHub action is failing, though. My sense is that this new share file may need to be copied into this repository... am I reading things right, @jedwards4b ?

@fischer-ncar - despite this GitHub actions failure, I think this is ready for prealpha testing whenever you get a chance. You'll need the latest version of cmeps (from the merged ESCOMP/CMEPS#618) along with this branch. We expect this to be bit-for-bit, so especially want to know if your testing turns up any answer changes. Thank you!

@fischer-ncar
Copy link
Collaborator

I just started the prealpha tests.

@jedwards4b
Copy link
Contributor

In the past CDEPS has not had any dependancy on CMEPS. I think the solution here is to copy the file shr_lnd2rof_tracers_mod.F90 into the CDEPS/share directory.

@mvertens
Copy link
Collaborator

@jedwards4b - I am not sure this is the correct thing to do - since clm also needs this shr_lnd2rof_tracers and will fit in with what @billsacks is going to be doing for water isotopes. Can we please chat about this before you actually move the code?

@jedwards4b
Copy link
Contributor

I didn't move it. I copied it and this is what is done with other files from that directory as well.

@billsacks
Copy link
Member Author

Thanks, @jedwards4b . Long-term I hope we can come up with a different solution that avoids these copies but for now this feels like the right path forward - thanks a lot!

@fischer-ncar
Copy link
Collaborator

Here's the prealpha test results. There were several CREATE_NEWCASEs that failed for the same reason, error message below. There's a couple of tests that had a difference in fill patterns. And the last test had answer changes. Which I'm guessing is caused by a change in the namelist. I'm going to run the nag prealpha tests to see if anything pops out there.

FAIL ERS.TL319_t232.G_JRA.derecho_gnu.cice-default CREATE_NEWCASE
FAIL ERI.TL319_t232.G_JRA.derecho_intel.cice-default CREATE_NEWCASE
FAIL ERS.TL319_t232_wg37.GW_JRA.derecho_intel CREATE_NEWCASE
FAIL SMS_Ld40.TL319_t232.C_JRA.derecho_intel CREATE_NEWCASE
FAIL SMS.TL319_t232.G1850MARBL_JRA.derecho_intel CREATE_NEWCASE
FAIL SMS.TL319_t232.G_JRA.derecho_intel.mom-no_stoch_physics CREATE_NEWCASE

ATM component is Data driven ATM interannual JRA55 forcing, v1.5, through 2023
LND component is Stub land component
ICE component is Sea ICE (cice) model version 6
OCN component is MOM6 OCEAN
ERROR: No description found for comp_class rof matching compsetname 2000_DATM%JRA-1p5-2023_SLND_CICE_MOM6_DROF%JRA-1p5-2023_SGLC_SWAV_SESP in file /glade/u/home/fischer/code/cesm3_0_alpha08a.NorESM/components/cdeps/drof/cime_config/config_component.xml, expected match in ['DROF'] % ['NULL', 'NYF', 'IAF', 'IAFAIS00', 'IAFAIS45', 'IAFAIS55', 'CPLHIST', 'JRA', 'JRA-1p4-2018', 'JRA-1p4-2018-AIS0ICE', 'JRA-1p4-2018-AIS0LIQ', 'JRA-1p4-2018-AIS0ROF', 'JRA-RYF6162', 'JRA-RYF8485', 'JRA-RYF9091', 'JRA-RYF0304']

FAIL SMS_D_Ly1.f09_g17_ais8.T1850Ga.derecho_gnu BASELINE cesm3_0_alpha08a: DIFF
FAIL ERS_Ly7.f09_g17_gris4.T1850Gg.derecho_intel BASELINE cesm3_0_alpha08a: DIFF

Just differences in fill patterns

FAIL SMS_D.TL319_t232.G_JRA_RYF.derecho_intel BASELINE cesm3_0_alpha08a: DIFF

Comparison failed between '/glade/derecho/scratch/fischer/t/cesm3_0_alpha08a.NorESM_i/SMS_D.TL319_t232.G_JRA_RYF.derecho_intel.GC.c2_0_NorESM_int/CaseDocs/datm_in' with '/glade/campaign/cesm/cesmdata/cesm_baselines/cesm3_0_alpha08a/SMS_D.TL319_t232.G_JRA_RYF.derecho_intel/CaseDocs/datm_in'
BASE: datamode = 'CORE_IAF_JRA'
COMP: datamode = 'CORE_RYF9091_JRA'

You can access the tests in /glade/derecho/scratch/fischer/t/cesm3_0_alpha08a.NorESM_i and /glade/derecho/scratch/fischer/t/cesm3_0_alpha08a.NorESM_g.

@fischer-ncar
Copy link
Collaborator

NAG tests passed.

@billsacks
Copy link
Member Author

Thanks a lot for this test summary, @fischer-ncar ! I talked with @mvertens about this.

@mvertens is going to fix the CREATE_NEWCASE failures in various G/C compsets, which appear to be due to a change in drof where something that should have been an addition was done as a replacement of a previous mode.

@mvertens will also look into the baseline failure in G_JRA_RYF. I took a quick look at this, and it looks to me like this might actually be a desired bug fix: it looks like this compset may have been picking up the wrong mode before and may now be fixed to pick up the correct mode. But I'd like to hear from @mvertens whether this seems right, because I haven't looked carefully. And if this does seem like the right explanation, then I'd like to get confirmation from the ocean group that this change is desired.

I looked into the T compset diffs. As @fischer-ncar said, the differences are just in fill patterns. These diffs are just in the lndImp fields - not in any export fields to glc, or in any CISM history fields. It looks like this is coming from this new code in dlnd:

if (lfrac(n) == 0._r8) fldptr2(:,n) = 1.e30_r8

Given that this isn't causing differences in the CISM fields, this seems like an acceptable change - and probably desirable, since now ocean points show up as missing values rather than 0s in the dlnd -> mediator fields. @mvertens can you confirm that this is an intentional change? If so, I think we should sign off on it and just keep @Katetc in the loop (Kate, let me know if you want me to summarize the context here so you don't need to read back through all of this).

@billsacks
Copy link
Member Author

Thank you for the drof fix, @mvertens - that looks good to me now! Once you get a chance to look at the baseline failure in G_JRA_RYF, and to sign off on the T compset changes, my thought is to just have @fischer-ncar rerun the C and G tests from the prealpha suite. @fischer-ncar and @mvertens please share if you have thoughts on that.

@fischer-ncar
Copy link
Collaborator

I would prefer to rerun the prealpha tests on derecho. It's not that much more work and it'll catch anything that's unexpected. I don't feel the need to rerun the nag tests on izumi.

@mvertens
Copy link
Collaborator

mvertens commented Dec 23, 2025

@fischer-ncar @billsacks - for SMS_D.TL319_t232.G_JRA_RYF.derecho_intel I think there is a bug in the CESM version of CDEPS.

  • In both cases the compset is the following: 2000_DATM%JRA-RYF9091_SLND_CICE_MOM6_DROF%JRA-RYF9091_SGLC_SWAV_SESP
  • In the main (current CESM) branch there is no DATM_MODE definition for DATM%JRA-RYF9091 so the DATM%JRA match is picked and DATM_MODE = CORE_IAF_JRA
  • In the noresm branch, the following new DATM_MODE values are added:
      <value compset="DATM%JRA-RYF6162">CORE_RYF6162_JRA</value>
      <value compset="DATM%JRA-RYF8485">CORE_RYF8485_JRA</value>
      <value compset="DATM%JRA-RYF9091">CORE_RYF9091_JRA</value>
      <value compset="DATM%JRA-RYF0304">CORE_RYF0304_JRA</value>

So in this case the correct CORE_RYF9091_JRA is selected.

@billsacks
Copy link
Member Author

@mvertens - thank you for your comment. This agrees with my sense. I'll reach out to some ocean folks here to make sure they're aware of this upcoming change. But I think it's safe to move ahead here... if for some reason there is an objection to this change, we can back it out, but I want to keep things moving.

@fischer-ncar - sounds good on just rerunning the full prealpha suite. I think you can go ahead and do that now, and if things look good (with some expected DIFFs that you noted before) then we can merge this.

@fischer-ncar
Copy link
Collaborator

The prealpha tests look good.

@billsacks
Copy link
Member Author

Thanks a lot, @fischer-ncar ! I'll bring this in now.

@billsacks billsacks merged commit e43e829 into main Dec 29, 2025
1 of 2 checks passed
@billsacks billsacks deleted the noresm branch December 29, 2025 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants