Skip to content

Conversation

@slevis-lmwg
Copy link
Contributor

@slevis-lmwg slevis-lmwg commented Oct 28, 2025

Description of changes

Contributors other than yourself, if any:
@ekluzek @wwieder

CTSM Issues Fixed (include github issue #):

Are answers expected to change (and if so in what way)?
Yes, due to new fsurdat/landuse/finidat files.

Any User Interface Changes (namelist or namelist defaults changes)?
New fsurdat/landuse/finidat files.

Does this create a need to change or add documentation? Did you do so?
So far, updating WhatsNewInCTSM54.md file

Testing performed, if any:
At the time of opening this PR (first two commits), these worked:

./run_sys_tests -s ctsm_sci --skip-compare --skip-generate
./build-namelist_test.pl

This was causing a ctsm_sci test to fail.
IHist ne0np4 cases now stop in 2023 instead of continuing into SSP yrs
since we do not have CMIP7 SSP data.
@slevis-lmwg slevis-lmwg self-assigned this Oct 28, 2025
@slevis-lmwg slevis-lmwg added the non-bfb Changes answers (incl. adding tests) label Oct 28, 2025
…ctsm54

Update the alpha54 branch to ctsm5.3.082

PR ESCOMP#3569
@slevis-lmwg
Copy link
Contributor Author

slevis-lmwg commented Oct 29, 2025

Running again with updates (not committed, yet):

OK ./run_sys_tests -s ctsm_sci --skip-compare --skip-generate
OK ./build-namelist_test.pl

Copy link
Collaborator

@ekluzek ekluzek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slevis-lmwg and I went over this. These changes look correct. We need to add some new tests to ctsm_sci for the new grids that have been added in.

We also are going to change some of the clm6_0 finidat settings, so it doesn't do use_init_interp, unless it's needed. It shouldn't be needed for an exact match, and should know to add it for other grids.

@slevis-lmwg
Copy link
Contributor Author

slevis-lmwg commented Oct 29, 2025

Testing with finidat changes to namelist_defaults (not committed/pushed yet):

OK ./build-namelist_test.pl
FAIL ./run_sys_tests -s aux_clm --skip-compare --skip-generate
FAIL ./run_sys_tests -s ctsm_sci --skip-compare --skip-generate

aux_clm on izumi OK
ctsm_sci only runs on derecho

@slevis-lmwg
Copy link
Contributor Author

slevis-lmwg commented Oct 30, 2025

@ekluzek aux_clm failures that we need to resolve:

SMS_Ld5.f10_f10_mg37.ISSP245Clm60BgcCropCrujra.derecho_gnu.clm-ciso_dec2050Start
LII_D_Ld3_PS.f19_g17.I2000Clm50BgcCrop.derecho_intel.clm-default*
PFS_Ld10_PS.f19_g17.I2000Clm50BgcCrop.derecho_intel*
SMS_D_Ld5.f10_f10_mg37.ISSP245Clm60BgcCropCrujra.derecho_intel.clm-d*
SMS.ne30pg3_t232.I2000Clm60BgcCrop.derecho_intel.clm-clm60cam7LndTuningMode

PASS The first had this error, so I corrected the fsurdat picked for cmip6:

Confirm that the year of your surface dataset corresponds to the first year of your landuse_timeseries file [...] and that your landuse_timeseries file is compatible with the surface dataset.

If you are confident that you are using the correct landuse_timeseries file and the correct surface dataset, then you can bypass this check by setting:
   check_dynpft_consistency = .false.
in user_nl_clm

PASS The second asks for use_init_interp in its case2run: I manually generated a replacement restart file, and I'm testing.
PASS The third asks for use_init_interp and points to the same restart file as the second. I hope that takes care of it: testing.
PASS The fourth triggers the same error as the first, so I hope they all get solved together.
FAIL The fifth asks for use_init_interp even though it points to ctsm5.4. CMIP7_ciso_ctsm5.3.075_ne30_123_HIST_popDens.clm2.r.2000-01-01-00000.nc. This is our only ne30 I2000 case (IHist, I1850 cases worked). Testing with g17 ocean grid instead: PASS. Diffs between the passing and failing tests:

84d83
<  use_init_interp = .true.
188,189c187
<  init_interp_fill_missing_urban_with_hd = .false.
<  init_interp_method = 'general'
---
>  init_interp_fill_missing_urban_with_hd = .true.

ctsm_sci FAIL to resolve:
ERI_Ld9.f09_t232.I2000Clm60BgcCropCrujra.derecho_intel.clm-default
FAIL Asks for use_init_interp even though it points to ctsm5.4. CMIP7_ciso_ctsm5.3.075_f09_124_HIST.clm2.r.2000-01-01-00000.nc. Our other f09 I2000 case uses the g17 ocean grid. Diffs between the passing and failing tests:

>  atm_c13_filename = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/isotopes/atm_delta_C13_CMIP6_1850-2015_yearly_v2.0_c190528.nc'
>  atm_c14_filename = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/isotopes/atm_delta_C14_CMIP6_3x1_global_1850-2015_yearly_v2.0_c190528.nc'
11a14
>  finidat = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/initdata_esmf/ctsm5.4/ctsm5.4.CMIP7_ciso_ctsm5.3.075_f09_124_HIST.clm2.r.2000-01-01-00000.nc'
41d43
<  nrevsn = 'ERI_Ld9.f09_g17.I2000Clm60BgcCrop.derecho_intel.clm-default.1029-162618de_int.ref2.clm2.r.2002-01-06-00000.nc'
67,68c69,72
<  use_c13 = .false.
<  use_c14 = .false.
---
>  use_c13 = .true.
>  use_c13_timeseries = .true.
>  use_c14 = .true.
>  use_c14_bombspike = .true.
156c160
<  stream_fldfilename_cultivar_gdds = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/cropdata/calendars/processed/gdds_20230829_161011.tweaked_latlons.nc'
---
>  stream_fldfilename_cultivar_gdds = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/cropdata/calendars/processed/gdds_20250809_025305.tweaked_latlons.nc'
360,363d363
<  stream_fldfilename_exice = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/paramdata/exice_init_0.125x0.125_c20220516.nc'
<  stream_mapalgo_exice = 'bilinear'
<  stream_meshfile_exice = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/paramdata/exice_init_0.125x0.125_ESMFmesh_cdf5_c20220802.nc'
<  use_excess_ice_streams = .true.

@ekluzek
Copy link
Collaborator

ekluzek commented Oct 30, 2025

@ekluzek aux_clm failures that we need to resolve:

The first has this error:

Confirm that the year of your surface dataset corresponds to the first year of your landuse_timeseries file [...] and that your landuse_timeseries file is compatible with the surface dataset.

Since, this is a SSP, this should be using the CMIP6 datafiles. So hopefully it's just something around that, and getting consistent CMIP6 datasets.

As you say I think the second, third, and fourth should get solved together.

Then it's the last two that must need some perl finidat finding magic...

The fifth asks for use_init_interp even though it points to ctsm5.4. CMIP7_ciso_ctsm5.3.075_ne30_123_HIST_popDens.clm2.r.2000-01-01-00000.nc. This is our only ne30 I2000 case (IHist, I1850 cases worked).

ctsm_sci failure to resolve:
ERI_Ld9.f09_t232.I2000Clm60BgcCropCrujra.derecho_intel.clm-default
Asks for use_init_interp even though it points to ctsm5.4. CMIP7_ciso_ctsm5.3.075_f09_124_HIST.clm2.r.2000-01-01-00000.nc. Our other f09 I2000 case uses the g17 ocean grid...

These two look to me like they should work, so we'll need to dig into those.

@slevis-lmwg
Copy link
Contributor Author

slevis-lmwg commented Oct 30, 2025

Thanks @ekluzek, as you guessed, the first few were relatively easy to resolve. For the last two, I'm considering taking the ocean grid out of the algorithm that determines finidat, since the g17 test passed while the t232 test failed.

Both tests in progress now: FAIL same as before

From discussing with @ekluzek:
The finidats used by these tests were generated with fsurdat files from July, so they are different enough that we should put back the use_init_interp for them to pass.

@ekluzek
Copy link
Collaborator

ekluzek commented Oct 31, 2025

Thanks @ekluzek, as you guessed, the first few were relatively easy to resolve. For the last two, I'm considering taking the ocean grid out of the algorithm that determines finidat, since the g17 test passed while the t232 test failed.

Both tests in progress now: FAIL same as before

I'll ask you this in a bit. But, the ocean mask is a critical one for determining the finidat file, since it changes the active points. So using a different mask shouldn't work without use_init_interp. So we have to ask for it. Some things are more optional and are just there to get the best spunup files for a given configuration, but ocean mask is a critical one.

@ekluzek ekluzek self-requested a review October 31, 2025 21:18
Copy link
Collaborator

@ekluzek ekluzek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slevis-lmwg and I just went over this, and we decided on the set of changes needed to fix the last failed tests. He already had it for several of them. There were two that we do need to add in use_init_interp=.true. for the finidat file because the recent simulations were run with the July surface datasets which are just slightly out of sync for some the new ones because of small changes in the PFT's (at least for 1850 ne30pg3) and 2000 f09 . So those two need use_init_interp, while the rest of the new finidat files do not.

We also talked about adding tests for: mpas30 2000, ne120 Hist, NATL 1979-2023 case, ne3pg2 1850, 2000, Hist. But, these might need adjustments to get the right finidat files, which might be tricky to get right -- so worth putting in the next PR. We should also just run those cases and see what IC files come up for them out of the box.

@slevis-lmwg
Copy link
Contributor Author

Adding my notes to Erik's notes
IN A NEW PR: Add the tests for
NATL clm6 cam7 (in namelist_defaults follow ARCTICGRIS but with ne120 finidat: adding in this PR)
ne3pg2 clm6 cam7 (similar but with f09 finidat: adding in this PR)
mpasa30 clm6 cam7 (will use the same line for ne120 finidat for 2000)
ne120 1979-2023 (will use the same line for ne120 finidat but for 1979)

This is temporary while fsurdat/landuse and finidat files are not
entirely consistent. We plan to make them all consistent for clm6.
@slevis-lmwg
Copy link
Contributor Author

slevis-lmwg commented Oct 31, 2025

Submitting tests again before merging...

OK ./build-namelist_test.pl
IN PROG ./run_sys_tests -s ctsm_sci -c ctsm_sci-alpha-ctsm5.4.CMIP7.15.ctsm5.3.079 -g alpha-ctsm5.4.CMIP7.16.ctsm5.3.082
IN PROG ./run_sys_tests -s aux_clm -c alpha-ctsm5.4.CMIP7.15.ctsm5.3.082 -g ctsm_sci-alpha-ctsm5.4.CMIP7.16.ctsm5.3.082

TODO I got the new baseline names backwords on derecho so fix that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

non-bfb Changes answers (incl. adding tests)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants